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