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