學(xué)習(xí)嵌入式linux也要有一個正確的學(xué)習(xí)方法,如果只是東學(xué)一點西學(xué)一點肯定學(xué)不好。或許每個人都有適合自己的學(xué)習(xí)方法,不過下面的嵌入式Linux路線對大多數(shù)初學(xué)者都是一個很好的參考。如果你是以主攻嵌入式Linux操作系統(tǒng)及其上應(yīng)用軟件開發(fā)為目標,那么要做到這些:
1、掌握主流嵌入式微處理器的結(jié)構(gòu)與原理,可以arm9或者arm11,arm9資料豐富便于學(xué)習(xí),arm11逐漸成為主流,所以學(xué)習(xí)arm11也是一個不錯的選擇,不過在很多的方面還是大同小異的,也有相通的地方。
2、必須掌握一個較新版本嵌入式l操作系統(tǒng),學(xué)習(xí)linux版本選擇一個比較新的,穩(wěn)定的版本,因為新的代碼修復(fù)了很多以前的bug,一些好的機制也被引入,不好的機制也會被去掉。
3、必須熟悉嵌入式軟件開發(fā)流程并至少做一個嵌入式軟件項目。從開頭先學(xué)習(xí)一個簡單的程序,比如led的點亮,驅(qū)動是如何加入的,應(yīng)用程序是如何編譯的,如何放到開發(fā)板中而運行的,怎么調(diào)用底層驅(qū)動的。
4、如果想學(xué)上層的圖形界面的應(yīng)用,那么學(xué)習(xí)一下QT,編一個我們開始學(xué)習(xí)的helloworld,放到開發(fā)板中運行,或者做一個led燈的,畫一個button,然后一點就實現(xiàn)led燈的亮滅,這都不難的,不要認為這個太簡單以后用不到,我們可以把這個led看成是一個開發(fā)量,一個繼電器,那樣就可以實現(xiàn)按一下就打開和關(guān)閉設(shè)備了。以后的工程項目也是這樣的一個個小程序疊加起來的。
5、現(xiàn)在的android系統(tǒng)很火,大家有目共睹,這個也是基于linux的,因此找一個小的Android工程代碼,研究android的結(jié)構(gòu)框架。每一層是如何調(diào)用的,如何注冊的服務(wù),如何調(diào)用服務(wù),如何通過java調(diào)用C++的程序。
按照工作需要和自己的興趣來有選擇的學(xué)習(xí),不要期望把所有的都學(xué)會,那是不可能的事情,要有自己的行長,要精而不要雜,有一技之長要好過每個都會一點點的。
另外,有的朋友總是在糾結(jié)嵌入式Linux自學(xué)與培訓(xùn)的價值。關(guān)于自學(xué),我不想發(fā)表太多的看法,但是我很佩服通過自學(xué)能將嵌入式開發(fā)學(xué)精的人。對于培訓(xùn)我想說一下我的看法:如果有條件參加,主要是嵌入式相對別的不同,自己摸索很費時,如果有高手指點非常的好,進步快。