當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > IT培訓(xùn)問題庫 > 怎么學(xué)好嵌入式基礎(chǔ),這些你必須要了解
嵌入式可以說是現(xiàn)在發(fā)展很好的行業(yè)技術(shù)之一了,嵌入式應(yīng)用很廣泛,小到手機(jī),大到航空航天技術(shù),都用到了嵌入式技術(shù),選擇嵌入式是很正確的選擇,但對于一些剛?cè)腴T的人來說,學(xué)習(xí)嵌入式你需要掌握到方法,那樣才會(huì)學(xué)的不迷茫,那么學(xué)習(xí)之前,嵌入式開發(fā)的基礎(chǔ)知識你是不需要了解的,你要知道到底嵌入式要學(xué)點(diǎn)什么,我應(yīng)該怎么學(xué)這些知識,“坐”車帶你去。
先來簡單的了解一下學(xué)習(xí)嵌入式開發(fā)需了解的基礎(chǔ)知識
1.C/C++語言,可以說這是計(jì)算機(jī)行業(yè)的一門必修課,所以要扎扎實(shí)實(shí)掌握好。
2.操作系統(tǒng),要學(xué)習(xí)一下操作系統(tǒng)的基本原理,熟悉Linux環(huán)境下的開發(fā)環(huán)境,然后你就照著相關(guān)的資料寫一個(gè)操作系統(tǒng)試試看。
3.計(jì)算機(jī)組成原理,要能夠熟悉計(jì)算機(jī)的基本原理,看看你一個(gè)計(jì)算機(jī)的基本組成以及軟件實(shí)質(zhì)是如何來跑的。
4.可以選擇一些書籍來作為參考,華清遠(yuǎn)見有很多專業(yè)的書籍,初學(xué)嵌入式的朋友可以作為參考。
5.arm,可以說是當(dāng)下很流行的微機(jī),自己可以想辦法移植一個(gè)操作系統(tǒng)上去。
6.硬件編程語言,芯片到底是怎么做成的呢,學(xué)習(xí)完這門課程,你就很清楚了。
7.模擬電路&數(shù)字電路,硬件的基礎(chǔ),如果可以的話,學(xué)習(xí)下protel ,自己做個(gè)硬件pcb板試試。
8.學(xué)習(xí)是關(guān)于Linux文件下應(yīng)用層開發(fā),并發(fā)程序設(shè)計(jì),Linux應(yīng)用開發(fā)中的網(wǎng)絡(luò)編程,數(shù)據(jù)庫之sqlite3。
9.包括Zigbee系統(tǒng)開發(fā),低功耗wifi網(wǎng)絡(luò)開發(fā),藍(lán)牙4.0BLE開發(fā),RFID開發(fā),mbed 開發(fā)平臺(tái)(cortex_M4單片機(jī)),6LoWPAN、Contiki系統(tǒng)的移植,OneNET開放云平臺(tái)
10.就可以選擇做智能家居系統(tǒng)、智能農(nóng)業(yè)檢測、智能物流倉儲(chǔ)系統(tǒng)、安防監(jiān)控系統(tǒng)、智能穿戴、智能機(jī)器人小車、無人機(jī)等項(xiàng)目。
下面來詳細(xì)一看:
首先C語言,這個(gè)是毋庸置疑的,不管是做嵌入式軟件還是硬件開發(fā)的人員,對C語言的掌握這個(gè)是必需的,特別是對于以后致力于嵌入式軟件開發(fā)的人,現(xiàn)在絕大部分都是用C語言,你說不掌握它可以嗎?至于如何學(xué)習(xí)C語言,我想這些基礎(chǔ)的知識每個(gè)人都有自己的方法,關(guān)鍵要去學(xué)習(xí),看書也好,網(wǎng)上找些視頻看也好。很多人會(huì)問,C語言要學(xué)到怎么樣,我覺得這沒有標(biāo)準(zhǔn)的答案。我想至少你在明白了一些基礎(chǔ)的概念后,就該寫代碼了,動(dòng)手才是最重要的,當(dāng)你動(dòng)手了,遇到問題了,再反過來學(xué)習(xí),反過來查查課本,那時(shí)的收獲就不是你死看書能得到的。
其次,應(yīng)該對操作系統(tǒng)有所了解,這對你對硬件和軟件的理解,絕對有很大的幫助。應(yīng)該把系統(tǒng)的管理理解一下,比如進(jìn)程、線程,系統(tǒng)如何來分配資源的,系統(tǒng)如何來管理硬件的,當(dāng)然,不是看書就能把這些理解透,如果不是一時(shí)能理解,沒關(guān)系,多看看,結(jié)合以后的項(xiàng)目經(jīng)驗(yàn),會(huì)有更好的理解的。
還有應(yīng)該學(xué)習(xí)嵌入式系統(tǒng),如linux或者wince下的編程,這些對以后做應(yīng)用的編程很有幫助,當(dāng)然,如果做手機(jī)的話,那可以學(xué)習(xí)MTK、塞班、Android等操作系統(tǒng),Android是以后發(fā)展的趨勢,現(xiàn)在很熱門,Android也是基于linux系統(tǒng)封裝的,所以建議先學(xué)習(xí)下linux。
還有,應(yīng)該學(xué)習(xí)下單片機(jī)或者ARM或者M(jìn)IPS,很多人說我沒有單片機(jī)的經(jīng)驗(yàn),直接學(xué)ARM可以嗎?我覺得那完全沒有問題的,當(dāng)然如果你學(xué)習(xí)過單片機(jī),那最好不過了,以后學(xué)習(xí)ARM就更簡單了。
最后如果你把以上的知識都有所了解后,就該去閱讀閱讀一些優(yōu)秀的代碼,比如結(jié)合arm芯片手冊學(xué)習(xí)去學(xué)習(xí)下UBOOT的源代碼,了解下最小的系統(tǒng)開發(fā),那對你整個(gè)嵌入式開發(fā)的非常有幫助的,可以的話,還可以學(xué)習(xí)下linux的源代碼,當(dāng)然如果你直接閱讀2.6的代碼,我想你會(huì)很痛苦的,可以先看看linux 代碼早期的版本,比如0.12 的代碼等等,麻雀雖小,五臟俱全,如果你全看完了,那我想你就是一名很成功的嵌入式工程師。
嵌入式基礎(chǔ)知識就是這些,你需要的是一一來把他攻破,這樣對以后的嵌入式學(xué)習(xí)還是很有幫助的。