如何開始學習嵌入式
如何開始學習嵌入式
目前嵌入式主要開發(fā)環(huán)境有 Linux、Wince等;Linux因其開源、開發(fā)操作便利而被廣泛采用。下面學習啦小編收集了一些關于學習嵌入式的方法,希望對你有幫助
學習嵌入式方法篇一
第一步,電路基礎與語言基礎;具體將理論學到什么程度就可以開始著手學習嵌入式了呢?把中學的電路基礎常識回想一下,能夠搭建簡單的電路,比如串聯(lián)并聯(lián)、歐姆定律、電容電感等。再把大學的模擬電子課本掃一遍,不求甚解,有了解即可。另外,對于C語言,能夠做的起國家二級考試的試題,不是說一定要得多少分,而是你做錯了題能夠通過看答案或者注釋明白自己為什么錯了。有這樣的基礎就可以開始學習嵌入式了。
第二步,開發(fā)板;前面說不要盲目的購買開發(fā)板追求處理器,但是學習前期買一個單片機開發(fā)板(型號不限,51單片機、IAR、STM32均可)作為入門必備還是必要的。跟著學習視頻跑跑例程也是入門時學習的一個好方法。在學習開發(fā)板的時候,初步能接觸一些單片機外圍設備,如時鐘芯片、繼電器、溫度傳感器等。
第三步,這一步就相當重要了,有朋友第二步之后就開始學習其他處理器,走入誤區(qū)。其實這個時候你應該趁熱打鐵,利用你剛剛學會的單片機處理器去設計各種各樣的嵌入式系統(tǒng)。筆者曾經(jīng)學習時,花了兩個月時間將常見的外圍設備都通過自己搭建電路成功驅動。包括1602液晶、12864液晶、TFT液晶、ZLG7290、DTH11、DTMF編解碼、時鐘芯片、溫度芯片、超聲波、光耦、SD卡、GSM模塊、藍牙模塊、語音芯片、AD/DA、攝像頭等等,隨后為了準備電子設計大賽,又花了兩個月時間學習電源,自己焊接了30多個調試板,充分掌握了DC-DC降壓、升壓原理、AC-DC原理(現(xiàn)在后悔沒有嘗試逆變電源)。
有了這些基本模塊設計與調試經(jīng)驗之后,后面做項目就是水到渠成。筆者也做過小車、無線傳輸、直流穩(wěn)壓電源、高效恒流電源,當然在大學畢業(yè)設計的時候利用Cortex-M3做了一個將PSTN座機電話與GSM手機結合的智能語音轉接系統(tǒng)。后面也移植過LINUX,編寫過驅動程序,但是由于畢業(yè)的原因沒有太多時間學習,但是由于有之前的那些基礎,對整個系統(tǒng)的架構就相當熟悉,上手起來就相對容易。告訴大家一個秘密,一個月前筆者從來沒有接觸過STM32,但是后來由于IT指路燈的需要,我開始了STM32的學習,如今筆者同樣可以利用STM32作為處理器加上之前的那些外圍器件設計出相應的項目。
第四步,知識面的擴展;由于第三步對技術方面已經(jīng)有了積累,對整個嵌入式系統(tǒng)構成有了深入的了解。這個時候主要擴大知識面,了解如何將你學到的嵌入式技術與其他潮流技術,如云服務、安卓手機等結合起來,形成更大的系統(tǒng)。這樣一個優(yōu)秀的物聯(lián)網(wǎng)人才就誕生了。
第五步,之前學到的知識是時候用啦,挑一個自己喜歡的工作(為什么是挑,因為你無法被取代,公司搶還來不及呢)開始盡展才華,獨領風騷的時候啦。當然,仍然別忘了學習提高和分享。
學習嵌入式方法篇二
(1) C語言是所有編程語言中的強者,單片機、DSP、類似ARM的種種芯片的編程都可以用C語言搞定),因此必須非常熟練的掌握。 推薦書籍:譚浩強的很不錯,《The C Programming Language》 這本經(jīng)典的教材是老外寫的,也有中譯版本。
(2) 操作系統(tǒng)原理,是必需的,如果你是計算機專業(yè)畢業(yè)那也就無所謂了,如果是非計算機專業(yè)的就必須找一本比較淺顯的計算機原理書籍看一看,把啥叫“進程”“線程”“系統(tǒng)調度”等等基本問題搞清楚。
(3) Linux操作系統(tǒng)就是用C語言編寫的,所以你也應該先學習下Linux方面的編程,只有你會應用了,才能近一步去了解其內核的精髓。 推薦書籍:《UNIX環(huán)境高級編程》(第2版)
(4) 了解ARM的架構,原理,以及其匯編指令,我們在嵌入式開發(fā)中,一般很少去寫匯編,但是最起碼的要求是能夠看懂a(chǎn)rm匯編。
(5) 系統(tǒng)移植的時候,就需要你從最下層的bootloader開始,然后內核移植,文件系統(tǒng)移植等。而移植這部分對硬件的依賴是非常大的,其配置步驟也相對復雜,也沒有太多詳細資料。
(6) 驅動開發(fā) linux驅動程序設計既是個極富有挑戰(zhàn)性的領域,又是一個博大精深的內容。 linux驅動程序設計本質是屬于linux內核編程范疇的,因而是對linux內核和內核編程是有要求的。在學習前你要想了解linux內核的組成,因 為每一部分要詳細研究的話足夠可以擴展成一本厚書。
掌握嵌入式后,工作地點
1. 研究類機構
這類機構很多都很輕松,研究成果也不一定能轉化為成果,掙錢靠資歷,剛畢業(yè)薪水一般不高,打拼基本沒用。不過很適合不想競爭,但是想深入研究一些課題的人。
2. 小的芯片設計公司
這類公司往往只需要你有能力解決某些問題,對時間要求不是很緊,產(chǎn)品開發(fā)周期長,有大量的時間供你研究某項技術,薪水起點較高。這類公司一邊接觸市場,一邊接觸最前沿的科技,確實對學習嵌入式技術很有效,但是同樣,對人的要求就高了。
3. 芯片設計公司的技術部門
這部分要單提出來,因為很多國外或者臺灣的IC公司,在大陸設立了技術支持部門,但是這些部門的人并不能接觸到核心的技術,甚至有些公司連源碼都看不到,這比下游的廠商來說,唯一有優(yōu)勢的地方就是最先得到本公司的培訓和技術資料,關于本公司芯片的應用技術非常精通,其他也沒什么。不過還是有很多公司的FAE可以和研發(fā)一起工作的,這些就另當別論了。再說其他,薪水自然沒有芯片設計的高,不過工作強度卻不小,畢竟和客戶打交道。
4. 方案公司
這類公司可以和上面說的芯片設計公司的技術支持部門等同,但是在技術上,接觸的東西要廣的多。一般會接觸到10家左右芯片公司的產(chǎn)品,并且能夠設計到很多產(chǎn)品功能的設計。如果沒有能力進入芯片公司做設計,在這類公司做也是不錯的選擇。這類公司的薪水差別都比較大,有高有低,工作強度不會小。
5. 方案二次開發(fā)公司
這類公司普遍的特點就是小,大的也超不過七八十。工作簡單,往往就是修改UI,修改模塊,改個語言什么的。而且與工廠配合密切,這意味著你的工作時間基本上是無法確定的,工廠有訂單,你就得加班,最主要的是,工廠一般周末不休息....薪水不高,個別水平很高的可以做老板的合伙人,這是唯一比較有誘惑的地方。
6. 有研發(fā)能力的公司
這類的公司工廠有很多,有研發(fā)能力很強的,不用說如今智能時代的產(chǎn)品公司非常多,如:華為、中興、樂視、小米、華碩等等自己的產(chǎn)品全部是自己研發(fā),這些和自己開發(fā)Solution的方案公司很像,也不過,只是工作時間要長一些,畢竟和工廠打交道。還有剛開始建立研發(fā)部門的,這類一般是老板開工廠賺到錢了,想轉型。后者就比較危險,很多轉型不成功的情況,老板都會把研發(fā)部門裁掉,然后繼續(xù)做工廠。技術上來說,前者可以學到很多東西,后者要求有比較好的領悟力和自學能力,畢竟一般沒有人教你。至于薪水,前者還不錯,后者看老板的魄力,不過后者因為長期雇傭工人,一般不會太舍得錢給一般員工,除非你去了做研發(fā)部的頭。
猜你感興趣: