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