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