嵌入式軟件開發(fā)工程師路線(嵌入式軟件開發(fā)工程師路線設(shè)計(jì))
本篇文章給大家談?wù)勄度胧杰浖_發(fā)工程師路線,以及嵌入式軟件開發(fā)工程師路線設(shè)計(jì)對應(yīng)的知識點(diǎn),希望對各位有所幫助,不要忘了收藏本站喔。
本文目錄一覽:
- 1、嵌入式軟件工程師主要做什么工作?
- 2、有沒有嵌入式開發(fā)的學(xué)習(xí)路線,越詳細(xì)越好
- 3、嵌入式工程師的學(xué)習(xí)路線是什么?
- 4、嵌入式軟件工程師需要學(xué)什么?
嵌入式軟件工程師主要做什么工作?
嵌入式軟件工程師平時的工作就是負(fù)責(zé)嵌入式軟件系統(tǒng)的規(guī)劃、設(shè)計(jì)、編碼、測試等工作。
嵌入式分為操作系統(tǒng)和硬件兩個方面,就業(yè)的方向更廣、更深,就業(yè)機(jī)會和入職待遇比普通軟件工程師好。開發(fā)一些與硬件關(guān)系最密切的最底層軟件,如BootLoader、Board Support Package(像PC的BIOS一樣,往下驅(qū)動硬件,往上支持操作系統(tǒng)),最初級的硬件驅(qū)動程序等。
要求技能和發(fā)展方向
嵌入式工程師需要具有C語言或C++語言、匯編語言、操作系統(tǒng)等基礎(chǔ);熟悉模擬電子技術(shù)和數(shù)字電子技術(shù)等硬件知識;了解處理器體系結(jié)構(gòu)。
積累豐富開發(fā)經(jīng)驗(yàn)的嵌入式軟件開發(fā)工程師可以向嵌入式系統(tǒng)開發(fā)工程師發(fā)展,從而晉升為產(chǎn)品研發(fā)經(jīng)理或IT項(xiàng)目經(jīng)理。
對測試?yán)碚摵头椒ㄓ幸欢私獾那度胧杰浖_發(fā)工程師還可以轉(zhuǎn)作嵌入式系統(tǒng)測試工程師,最終也可發(fā)展為IT項(xiàng)目經(jīng)理。如果想創(chuàng)業(yè),做自已的產(chǎn)品,嵌入式軟件開發(fā)可以開發(fā)出專利產(chǎn)品。
有沒有嵌入式開發(fā)的學(xué)習(xí)路線,越詳細(xì)越好
看方向
如果選擇嵌入式硬件開發(fā),就不懂了
軟件開發(fā)的話,分底層和應(yīng)用層
我是從事wince驅(qū)動開發(fā)的(快滿一年),
以wince為例,底層就是boot、bsp修改、驅(qū)動開發(fā)這幾部分
學(xué)習(xí)路線:
1、買個開發(fā)板
2、按照開發(fā)板上的例子玩玩,ARM匯編稍微能看懂,寫點(diǎn)簡單的程序跑跑,對匯編有個大概的了解,bootloader等等會多少涉及點(diǎn)匯編的東西
然后就是開發(fā)板上的一些驅(qū)動玩玩。如果可以拿相似的BSP移植到開發(fā)板上就更好了,對BSP就有更多的認(rèn)識了,學(xué)完以上可能可以找到工作,在工作中進(jìn)一步加深理解
如果是應(yīng)用的話,wince,我們寫應(yīng)用用的是VS2005,VC++,和PC的開發(fā)基本差不多
學(xué)完一個操作系統(tǒng),切換到另一個平臺相對而言還是蠻快的,基本都是相通的
我之前的經(jīng)驗(yàn)是,我買了開發(fā)板玩了ADS程序?qū)懥诵⌒偷某绦?,就是把LED啊、液晶屏啊、等等驅(qū)起來,然后,在linux下玩驅(qū)動,寫了幾個簡單的流驅(qū)動,去應(yīng)聘,鬼使神差被招進(jìn)去玩wince驅(qū)動了,感覺差得不是很多,玩了2周就開始上手,2個月之后,底層這塊就都扔給我了
以上,僅供參考(至于開發(fā)板,如果是消費(fèi)電子類的,好像三星的S3C系列用的人比較多,開發(fā)板也很多,工業(yè)類的就不懂了。至于選哪家開發(fā)板廠家,百度google一下)
嵌入式工程師的學(xué)習(xí)路線是什么?
關(guān)于這個方向,我認(rèn)為大概分3個階段:
1、嵌入式linux上層應(yīng)用,包括QT的GUI開發(fā)
2、嵌入式linux系統(tǒng)開發(fā)
3、嵌入式linux驅(qū)動開發(fā)
嵌入式目前主要面向的幾個操作系統(tǒng)是,LINUX,WINCE、VxWorks等等
Linux是開源免費(fèi)的,而且其源代碼是開放的,更加適合我們學(xué)習(xí)嵌入式。
所以你可以嘗試以下路線:
(1) C語言是所有編程語言中的強(qiáng)者,單片機(jī)、DSP、類似ARM的種種芯片的編程都可以用C語言搞定),因此必須非常熟練的掌握。
推薦書籍:《The C Programming Language》 這本經(jīng)典的教材是老外寫的,也有中譯版本。
(2) 操作系統(tǒng)原理,是必需的,如果你是計(jì)算機(jī)專業(yè)畢業(yè)那也就無所謂了,如果是非計(jì)算機(jī)專業(yè)的就必須找一本比較淺顯的計(jì)算機(jī)原理書籍看一看,把啥叫“進(jìn)程”“線程”“系統(tǒng)調(diào)度”等等基本問題搞清楚。
(3)Linux操作系統(tǒng)就是用C語言編寫的,所以你也應(yīng)該先學(xué)習(xí)下Linux方面的編程,只有你會應(yīng)用了,才能近一步去了解其內(nèi)核的精髓。
推薦書籍:《UNIX環(huán)境高級編程》(第2版)
(4) 了解ARM的架構(gòu),原理,以及其匯編指令,我們在嵌入式開發(fā)中,一般很少去寫匯編,但是最起碼的要求是能夠看懂a(chǎn)rm匯編。
(5) 系統(tǒng)移植的時候,就需要你從最下層的bootloader開始,然后內(nèi)核移植,文件系統(tǒng)移植等。而移植這部分對硬件的依賴是非常大的,其配置步驟也相對復(fù)雜,也沒有太多詳細(xì)資料。
(6) 驅(qū)動開發(fā)
linux驅(qū)動程序設(shè)計(jì)既是個極富有挑戰(zhàn)性的領(lǐng)域,又是一個博大精深的內(nèi)容。
linux驅(qū)動程序設(shè)計(jì)本質(zhì)是屬于linux內(nèi)核編程范疇的,因而是對linux內(nèi)核和內(nèi)核編程是有要求的。在學(xué)習(xí)前你要想了解linux內(nèi)核的組成,因?yàn)槊恳徊糠忠敿?xì)研究的話足夠可以擴(kuò)展成一本厚書。
以上只不過是大概的框架,在實(shí)際的開發(fā)中還會涉及很多東西,比如:交叉編譯、makefile、shell腳本等等,所以說學(xué)習(xí)嵌入式的周期較長,門檻較高,自學(xué)的話更是需要較強(qiáng)的學(xué)習(xí)能力和專業(yè)功底。只要能堅(jiān)持下來一定會取得成功!
…………………………………………
嵌入式非常難,看書的話比較晦澀難懂,不容易入門,我個人比較偏向于看視頻教程,因?yàn)橛欣蠋煄е容^容易入門。給看看一篇文章是關(guān)于一位??粕趺醋詫W(xué)嵌入式的。
做個自我介紹,我07年考上一所很爛專科民辦的學(xué)校,學(xué)的是生物專業(yè),具體的學(xué)校名稱我就不說出來獻(xiàn)丑了。09年我就輟學(xué)了,我在那樣的學(xué)校,一年學(xué)費(fèi)要1萬多,但是根本沒有人學(xué)習(xí),我實(shí)在看不到希望,我就退學(xué)了。
退學(xué)后我也迷茫,大專都沒有畢業(yè),我真的不知道我能干什么,我在糾結(jié)著我能做什么。所以輟學(xué)后我一段時間,我想去找工作,因?yàn)槲冶容^沉默寡言,不是很會說話,我不適合去應(yīng)聘做業(yè)務(wù)。我想應(yīng)聘做技術(shù)的,可是處處碰壁。
一次偶然的機(jī)會,我才聽到嵌入式這個行業(yè)。那天我去新華書店,在計(jì)算機(jī)分類那邊想找本書學(xué)習(xí)。后來有個女孩子走過來,問我是不是讀計(jì)算機(jī)的,有沒有興趣學(xué)習(xí)嵌入式,然后給我介紹了一下嵌入式現(xiàn)在的火熱情況,告訴我學(xué)嵌入式多么的有前景,給我了一份傳單,嵌入式培訓(xùn)的廣告。聽了她的介紹,我心里癢癢的,確實(shí)我很想去學(xué)會一門自己的技術(shù),靠自己的雙手吃飯。
回家后,我就上網(wǎng)查了下嵌入式,確實(shí)是當(dāng)今比較熱門的行業(yè),也是比較好找工作的,工資也是相對比較高。我就下決心想學(xué)嵌入式了。于是我去找嵌入式培訓(xùn)的相關(guān)信息,說真的,我也很迷茫,我不知道培訓(xùn)是否真的能像他們宣傳的那樣好,所以我就想了解一段時間再做打算。
后來,我在百度知道看到一篇讓我很鼓舞的文章,是一個嵌入式高手介紹沒有基礎(chǔ)的朋友怎么自學(xué)入門學(xué)嵌入式,文章寫的很好,包含了如何學(xué)習(xí),該怎么學(xué)習(xí)。他提到一個方法就是看視頻,因?yàn)榭磿鴮?shí)在太枯燥和費(fèi)解的,很多我們也看不懂。這點(diǎn)我真的很認(rèn)同,我自己看書往往看不了幾頁。
我在想,為什么別人都能自學(xué)成才,我也可以的!我要相信自己,所以我就想自學(xué),如果實(shí)在學(xué)不會我再去培訓(xùn)。
主意一定,我就去搜索嵌入式的視頻,雖然零星找到一些嵌入式的視頻,但是都不系統(tǒng),我是想找一個能夠告訴我該怎么學(xué)的視頻,一套從入門到精通的視頻,一個比較完整的資料,最好能有老師教,不懂可以請教的。
后來我又找到一份很好的視頻,是在IT學(xué)習(xí)聯(lián)盟網(wǎng)站推出的一份視頻《零基礎(chǔ)嵌入式就業(yè)班》(喜歡《零基礎(chǔ)嵌入式就業(yè)班》的可以復(fù)制 sina.lt/qKh 粘貼瀏覽器按回車鍵即打開)。里面的教程還不錯,很完整,可以讓我從基礎(chǔ)的開始學(xué)起。視頻比較便宜。
下面介紹下我的學(xué)習(xí)流程,希望對和我一樣完全沒有基礎(chǔ)的朋友有所幫助。
收到他們寄過來的光盤后,我就開始學(xué)習(xí)了,由于我沒有什么基礎(chǔ),我就從最簡單的C語言視頻教程學(xué)起,話說簡單,其實(shí)我還是很多不懂的,我只好請教他們,他們還是很熱心的,都幫我解決了。C語言我差不多學(xué)了一個禮拜,接下來我就學(xué)了linux的基本命令,我在他們提供linux虛擬機(jī)上都有做練習(xí),敲linux的基本命令,寫簡單的C語言代碼,差不多也就三個禮拜。我每天都在不停的寫一些簡單的代碼,這樣一月后我基本掌握了C和linux的基本操作。
接下來我就去學(xué)習(xí)了人家的視頻的培訓(xùn)教程,是整套的,和去參加培訓(xùn)沒有多大的區(qū)別,這一看就是兩個月,學(xué)習(xí)了ARM的基本原理,學(xué)習(xí)嵌入式系統(tǒng)的概念,也掌握了嵌入式的環(huán)境的一些搭建,對linux也有更深層次的理解了,明白了嵌入式應(yīng)用到底是怎么做的,但是驅(qū)動我只是有一點(diǎn)點(diǎn)的了解,這個相對難一點(diǎn),我想以后再慢慢啃。
這兩個月,除了吃飯睡覺,我?guī)缀醵荚趯W(xué)習(xí)。因?yàn)槲抑缼缀鯖]有基礎(chǔ),比別人差勁,我只能堅(jiān)持努力著,我不能放棄,我必要要靠自己來養(yǎng)活自己,必須學(xué)好這門技術(shù),然后我就把不懂的問題總結(jié)記下來,這樣慢慢積累了一段時間,我發(fā)現(xiàn)自己真的有點(diǎn)入門了。
最后的一個月,我就去看關(guān)于實(shí)踐部分的內(nèi)容,了解嵌入式項(xiàng)目具體的開發(fā)流程,需要什么樣的知識,我就開始準(zhǔn)備這方面的知識,也就是學(xué)習(xí)這方面的視頻,同時他們建議我去找了找一些嵌入式面試的題目,為自己以后找工作做準(zhǔn)備。我就到網(wǎng)上找了很多嵌入式的題目,把他們理解的記下來,這樣差不多準(zhǔn)備了20天左右
我覺得自己差不多入門了,會做一些簡單的東西了。我就想去找工作看看,于是我就到51job瘋狂的投簡歷,因?yàn)槲覍W(xué)歷的問題,??茮]有畢業(yè),說真的,大公司沒有人會要我,所以我投的都是民營的小公司,我希望自己的努力有所回報(bào)。沒有想過幾天過后,就有面試了,但是第一次面試我失敗了,雖然我自認(rèn)為筆試很好,因?yàn)槲抑白隽藴?zhǔn)備,但是他們的要求比較嚴(yán)格,需要有一年的項(xiàng)目經(jīng)驗(yàn),所以我沒有被選中。
后來陸續(xù)面試了幾家公司,終于功夫不負(fù)有心人。我終于面試上的,是在閔行的一家民營的企業(yè),公司規(guī)模比較小,我的職務(wù)是嵌入式linux應(yīng)用開發(fā),做安防產(chǎn)品的應(yīng)用的。我想我也比較幸運(yùn),經(jīng)理很看重我的努力,就決定錄用我,開的工資是3500一個月,雖然我知道在上海3500只能過溫飽的生活,但是我想我足夠了。我至少不用每天都要靠父母養(yǎng),我自己也能養(yǎng)活自己的。我想只要我繼續(xù)努力,我工資一定會翻倍的。
把本文寫出來,希望能讓和我一樣的沒有基礎(chǔ)的朋友有信心,其實(shí)我們沒有必要自卑,我們不比別人笨,只要我們肯努力,我們一樣會成功。
…………………………………………………………
希望不久的將來你也成為嵌入式的高手。
嵌入式軟件工程師需要學(xué)什么?
嵌入式軟件工程師需要具備簡單的硬件電路設(shè)計(jì)能力。
需要懂得C語言和一些簡單的匯編語言編程;能夠閱讀一般嵌入式系統(tǒng)的原理圖;至少熟悉一種嵌入式系統(tǒng)的軟件開發(fā)環(huán)境;熟悉一種嵌入式系統(tǒng)軟件的開發(fā)過程;必要硬件基礎(chǔ)知識;理解常見的嵌入式操作系統(tǒng)的工作原理。
需要懂得:(1)懂得C語言和一些簡單的匯編語言編程。
(2)能夠閱讀一般嵌入式系統(tǒng)的原理圖。
(3)至少熟悉一種嵌入式系統(tǒng)的軟件開發(fā)環(huán)境。
(4)熟悉一種嵌入式系統(tǒng)軟件的開發(fā)過程,如:單片機(jī)系統(tǒng)、DSP系統(tǒng)、ARM系統(tǒng)或其它的一些潛入式系統(tǒng)。
(5)理解常見的嵌入式操作系統(tǒng)的工作原理,理解線程、進(jìn)程、信號量、消息機(jī)制、同步與互拆、并發(fā)控制等軟件編程時用到的概念。
(6)必要硬件基礎(chǔ)知識。
關(guān)于嵌入式軟件開發(fā)工程師路線和嵌入式軟件開發(fā)工程師路線設(shè)計(jì)的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。