嵌入式Linux要學(xué)哪些東西?9點(diǎn)要明確
嵌入式Linux要學(xué)哪些?一些人總在尋思,怕走了彎路,又怕學(xué)的東西離企業(yè)需求遠(yuǎn)。那么今天就請(qǐng)華清遠(yuǎn)見高級(jí)講師曹大神告訴你,9點(diǎn)淺析嵌入式學(xué)習(xí)步驟。下面是他本人親筆。
1、要學(xué)習(xí)Linux,首先要會(huì)用,如果不會(huì)用怎么知道怎么知道怎么去做,所以需要學(xué)習(xí)Linux系統(tǒng)的安裝及使用。
2、學(xué)會(huì)用Linux了,那么我們就要做一些Linux下的開發(fā)了,開發(fā)什么呢?看到網(wǎng)上有很多很強(qiáng)大很有趣的程序,我們都可以嘗試去做,可是如何去做呢,程序是什么呢,怎么寫呢?這時(shí)我們需要學(xué)習(xí)一些語言,比如比較基礎(chǔ)的C語言,比如面向?qū)ο蟮腃++,Java等。
3、寫完程序了發(fā)現(xiàn)不就是一個(gè)很普通的文件嗎,怎么能像別人寫的程序一樣運(yùn)行起來呢? 這時(shí)我們需要知道如何編譯一個(gè)程序,需要知道編譯器及一些其他工具的使用,比如GCC,在開發(fā)的過程中我們?yōu)榱颂峁┕ぷ餍蔬€會(huì)用到Make,Shell等,為了能夠很好的管理我們代碼的不同版本,我們還需要知道什么是SVC,CVS,subversion,git等。
4、當(dāng)我們開始寫一些比較大的程序,不再是以往的hello world級(jí)別的了,這時(shí)我們發(fā)現(xiàn)我們考慮的更多了,我們考慮到了程序的效率,我們發(fā)現(xiàn)需要讀寫文件了,我們發(fā)現(xiàn)需要和另外一臺(tái)電腦通信了,于是我們有需要學(xué)習(xí)一些更高級(jí)點(diǎn)的東西了,比如數(shù)據(jù)結(jié)構(gòu),比如文件IO,比如多進(jìn)程多線程編程,比如網(wǎng)絡(luò)通信,這時(shí)我們會(huì)接觸很多新的名詞,什么是樹,圖...,什么是文件io什么是標(biāo)準(zhǔn)IO,什么是進(jìn)程線程,什么是TCP/IP...。
5、當(dāng)我們?cè)龠M(jìn)一步的話,我們會(huì)發(fā)現(xiàn)我們什么有很多的東西都運(yùn)行的是Linux系統(tǒng),可是他們和我的PC運(yùn)行的Linux有什么區(qū)別呢,為什么我電腦要用風(fēng)扇而手機(jī)不用風(fēng)扇呢,我們打開網(wǎng)頁查找手機(jī)的詳細(xì)參數(shù)的時(shí)候,會(huì)看到Cortex-A15 、四核 、ARM等等字眼,什么是ARM,什么是Cortex-A15,我們需要進(jìn)一步的了解。
6、了解完ARM之后,很多人就回去購買一些開發(fā)板,去學(xué)習(xí)它,這時(shí)操作系統(tǒng)的移植又成了一個(gè)比較重要的內(nèi)容了,什么是bootloader,什么是kernel,什么是rootfs等等,我們?cè)趺醋瞿亍?/p>
7、花了很長(zhǎng)時(shí)間系統(tǒng)做好了,發(fā)現(xiàn)板子上很多的什么不能用,怎么辦呢? 這時(shí)我們需要寫一些驅(qū)動(dòng)來驅(qū)動(dòng)這些設(shè)備,這時(shí)我們需要知道,什么是字符設(shè)備驅(qū)動(dòng)、塊設(shè)備驅(qū)動(dòng)、網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng),為了更好的寫驅(qū)動(dòng)我們需要了解更多的硬件相關(guān)的東西,我們需要看懂芯片手冊(cè),我們需要看懂原理圖,只有我們懂我們的設(shè)備,才能更好的驅(qū)動(dòng)它。
8、等等,這里就列舉更多的內(nèi)容了,因?yàn)檫€有很多。
9、這些都有了我們就可以自行開發(fā)我們自己的產(chǎn)品了。
嵌入式Linux要學(xué)哪些?上述9點(diǎn)基本很明了了。這也算是嵌入式學(xué)習(xí)的一個(gè)基本步驟。本人認(rèn)為到第九點(diǎn)你已經(jīng)是一個(gè)高級(jí)的嵌入式Linux人物了,工資待遇我已經(jīng)不用說,咋說也得15K往上了,如果做管理30K也是有的。這些東西要靠自學(xué),說實(shí)話不太現(xiàn)實(shí),嵌入式入門門檻相對(duì)高,要有心里準(zhǔn)備,參加培訓(xùn)班是有必要的,除非你有親戚朋友手把手教你。引用一句老話:“師傅領(lǐng)進(jìn)門,修行是靠個(gè)人!”自己必須得喜歡鉆研與學(xué)習(xí),只有付出才會(huì)有收獲!
最后說一點(diǎn),Android系統(tǒng)也是在linux系統(tǒng)基礎(chǔ)上開發(fā)的,所以學(xué)嵌入式linux的朋友,將來不僅可以從事嵌入式開發(fā)的工作(嵌入式的應(yīng)用領(lǐng)域非常廣泛,永不過時(shí)?。┻€可以從事android開發(fā)方向的工作(輕松邁入),從職業(yè)發(fā)展來說,嵌入式linux也是程序員最具發(fā)展前景的技術(shù)首選。