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