據悉,嵌入式開發大抵分四個方向,硬件、驅動、內核、應用,本文主要提到的是嵌入式軟件開發方向,那么軟件方面要學些什么東西,它的方向有哪些,接下來粵嵌簡單分享了嵌入式學習路線,供大家參考。
從事嵌入式軟件開發,大家可以看到大部分的人都集中于嵌入式Linux+ARM方向,大概分3個階段:
1、嵌入式linux上層應用,包括QT的GUI開發
2、嵌入式linux驅動開發
3、嵌入式linux系統開發培訓
嵌入式目前主要面向的幾個操作系統是,LINUX,WINCE、VxWorks等等Linux是開源免費的,而且其源代碼是開放的,更加適合我們學習嵌入式。
自學的話你可以嘗試以下嵌入式學習路線:
(1)C語言是基本。C語言很強這是毋庸置疑的,像常見的單片機、DSP、類似ARM的種種芯片的編程都可以用C語言搞定。
(2)操作系統原理,是必需的,計算機專業的學生可能問題不大,如果是非計算機專業的就先把一些淺顯的計算機知識搞懂,例如將“進程”“線程”“系統調度”等等概念了解清楚。
(3)Linux操作系統就是用C語言編寫的,因此,先去搞懂嵌入式Linux方面的內容,才能進一步去了解Linux內核的精髓。
(4)了解ARM的架構,原理,以及其匯編指令,我們在嵌入式開發中,盡管我們一般很少去寫匯編,但是能夠看懂arm匯編是開發人員基本的要求了。
(5)系統移植的時候,就需要你從下層的bootloader開始,然后內核移植,文件系統移植等。而移植這部分非常依賴于硬件,其配置步驟也會相對復雜。
(6)驅動開發linux驅動程序設計,這部分的內容對于linux內核和內核編程存在前置要求,我們得先去了解linux內核的組成內容。
以上只不過是大概的框架,在嵌入式實際開發中往往會遇到更多的問題,當然也需要掌握更多的技能,像什么交叉編譯、makefile、shell腳本等了解多一點是很有必要的,所以說學習嵌入式的周期較長,門檻較高,自學的話更是需要較強的學習能力和專業功底。循序漸進,一步步扎實做好,只要能堅持下來才會取得成功!
另外,自學和嵌入式培訓并沒有完全的優劣之分,對于覺得自學太難的朋友,嘗試多一條嵌入式學習路線也無妨,粵嵌教育或將帶給你驚喜。