當(dāng)前位置:首頁(yè) > 嵌入式培訓(xùn) > IT培訓(xùn)問(wèn)題庫(kù) > 從零基礎(chǔ)學(xué)嵌入式,這些方法你get到了嗎
很多人在學(xué)習(xí)嵌入式的時(shí)候都會(huì)有很多疑惑,我是零基礎(chǔ),可以學(xué)習(xí)嵌入式嗎,零基礎(chǔ)如何學(xué)嵌入式呢?我想我作為一個(gè)老前輩可以給你們做一些建議和一些學(xué)習(xí)方法。嵌入式入門他的門檻是稍微比較高的,但是不管學(xué)什么,必須堅(jiān)持才是王道。
嵌入式學(xué)習(xí)該從什么上面開始入手呢?
1、c語(yǔ)言、數(shù)據(jù)結(jié)構(gòu) 、計(jì)算機(jī)原理(包括匯編的)、編譯原理 、操作系統(tǒng)
首先C語(yǔ)言,這個(gè)是毋庸置疑的,不管是做嵌入式軟件還是硬件開發(fā)的人員,對(duì)C語(yǔ)言的掌握這個(gè)是必需的,特別是對(duì)于以后致力于嵌入式軟件開發(fā)的人,現(xiàn)在絕大部分都是用C語(yǔ)言,你說(shuō)不掌握它可以嗎?至于如何學(xué)習(xí)C語(yǔ)言,我想這些基礎(chǔ)的知識(shí)每個(gè)人都有自己的方法,關(guān)鍵要去學(xué)習(xí),看書也好,網(wǎng)上找些視頻看也好。很多人會(huì)問(wèn),C語(yǔ)言要學(xué)到怎么樣,我覺(jué)得這沒(méi)有標(biāo)準(zhǔn)的答案。我想至少你在明白了一些基礎(chǔ)的概念后,就該寫代碼了,動(dòng)手才是最重要的,當(dāng)你動(dòng)手了,遇到問(wèn)題了,再反過(guò)來(lái)學(xué)習(xí),反過(guò)來(lái)查查課本,那時(shí)的收獲就不是你死看書能得到的。
其次,應(yīng)該對(duì)操作系統(tǒng)有所了解,這對(duì)你對(duì)硬件和軟件的理解,絕對(duì)有很大的幫助。應(yīng)該把系統(tǒng)的管理理解一下,比如進(jìn)程、線程,系統(tǒng)如何來(lái)分配資源的,系統(tǒng)如何來(lái)管理硬件的,當(dāng)然,不是看書就能把這些理解透,如果不是一時(shí)能理解,沒(méi)關(guān)系,多看看,結(jié)合以后的項(xiàng)目經(jīng)驗(yàn),會(huì)有更好的理解的。
然后就是數(shù)據(jù)結(jié)構(gòu)及一些電路方面的知識(shí),這些都是你要掌握的,為什么要學(xué)電路方面的知識(shí)呢,我想應(yīng)該知道,你是做計(jì)算機(jī)的,在做嵌入式項(xiàng)目的時(shí)候會(huì)有關(guān)于電路方面的東西,到時(shí)候你得需要會(huì)看電路圖這樣才能進(jìn)行接下來(lái)的步驟。
所以先做以上的,別著急!要做好嵌入式工程師請(qǐng)遠(yuǎn)離浮躁!雖科目眾多,不一定全學(xué),可根據(jù)需要選修。主攻書籍:C語(yǔ)言,數(shù)據(jù)結(jié)構(gòu),這些是學(xué)嵌入式的基礎(chǔ),當(dāng)你覺(jué)得學(xué)的差不多的時(shí)候,你要去實(shí)踐做做一些題,看看自己掌握的怎么樣。
2、學(xué)習(xí)嵌入式系統(tǒng),如linux或者wince下的編程,這些對(duì)以后做應(yīng)用的編程很有幫助,當(dāng)然,如果做手機(jī)的話,那可以學(xué)習(xí)MTK、塞班、Android等操作系統(tǒng),Android是以后發(fā)展的趨勢(shì),現(xiàn)在很熱門,Android也是基于linux系統(tǒng)封裝的,所以建議先學(xué)習(xí)下linux。
3、學(xué)習(xí)下單片機(jī)或者ARM或者M(jìn)IPS,很多人說(shuō)我沒(méi)有單片機(jī)的經(jīng)驗(yàn),直接學(xué)ARM可以嗎?我覺(jué)得那完全沒(méi)有問(wèn)題的,當(dāng)然如果你學(xué)習(xí)過(guò)單片機(jī),那最好不過(guò)了,以后學(xué)習(xí)ARM就更簡(jiǎn)單了。學(xué)習(xí)單片機(jī)可以搞塊開發(fā)板,只提一點(diǎn):先搞裸機(jī)。linux接觸越早越好,命令越熟越好,vim操作越眼花繚亂越好…
先搞裸機(jī)可以考慮51系列也未嘗不可,可買個(gè)板子,也可以直接用proteus仿真。了解下什么是IO、串口通信、中斷等,最好用模擬時(shí)序的方式用IO引腳寫個(gè)iic和spi的驅(qū)動(dòng)。在51上不要花太多時(shí)間,新手一個(gè)月左右吧
最后如果你把以上的知識(shí)都有所了解后,就該去閱讀閱讀一些優(yōu)秀的代碼,比如結(jié)合arm芯片手冊(cè)學(xué)習(xí)去學(xué)習(xí)下UBOOT的源代碼,了解下最小的系統(tǒng)開發(fā),那對(duì)你整個(gè)嵌入式開發(fā)的非常有幫助的,可以的話,還可以學(xué)習(xí)下linux的源代碼,當(dāng)然如果你直接閱讀2.6的代碼,我想你會(huì)很痛苦的,可以先看看linux 代碼早期的版本,比如0.12 的代碼等等,麻雀雖小,五臟俱全,如果你全看完了,那我想你就是一名很成功的嵌入式工程師。
上面是給你提供了一些學(xué)習(xí)方法步驟,至于你如何學(xué)習(xí)這些知識(shí)呢,就看你適合上面方法了,有人覺(jué)得看視頻就不錯(cuò),我可以推薦你嵌入式視頻教程,還有人覺(jué)得買書學(xué)也不錯(cuò),你就可以看看《嵌入式Linux應(yīng)用程序開發(fā)標(biāo)準(zhǔn)教程》適合自己的才是最好的,所以看著上面這些步驟來(lái)學(xué)習(xí),是不錯(cuò)的選擇哦,我就是這么過(guò)來(lái)的。
相關(guān)推薦:嵌入式學(xué)習(xí)資料