現在學嵌入式的人也是越來越多了,而對于嵌入式linux開發的學習不是一蹴而就的,需要不斷的積累,那么我們在學習嵌入式linux開發時,應該從哪些方面來著手學習呢,我這只老鳥就來獻獻丑了,都是一些嵌入式linux開發最重要的,結合學習中遇到的一些問題,讓你更深入的認識嵌入式linux開發
很多學習嵌入式linux的人在學習嵌入式linux時買大量的linux書籍,從圖書館借了一大堆關于linux的書:什么《linux使用基礎教程》、《linux源碼深度分析》、《linux情景分析等》、 《linux高級使用指南》等等。結果抱著這些圖書看了10天半個月還是不知所云,當初學習的激情慢慢就消退了,最后不了了之,終究沒有進入嵌入式開發大門。究其原因,是因為沒有找到合適學習嵌入式開發的方法,做任何事情都有方法可循,找對了學習方法往往就能事半功倍;否則就可能是事倍功半,甚至勞而無功。接下來就結合對學習嵌入式linux開發的幾種常見的學習誤區來給你們一個好的學習方法
誤區一、直接閱讀linux內核源代碼
很多想學linux,在連linux是什么東西,一點都還不會使用的情況下去就閱讀linux內核源代碼,花了大量時間去閱讀《linux源碼深度分析》、《linux情景分析等》等書。這樣的結果很可能就是看的頭昏眼花,不知所云,最后只能放棄了。這也是同學們學習嵌入式linux的一個誤區,在有一定嵌入式linux開發基礎后,帶著一定的目的去閱讀linux源代碼,這樣可以極大的提高你的技術能力,但是你在沒有任何基礎,對linux一點都不了解的情況下就去閱讀linux內核源代碼,無異于以卵擊石,最后只能是撞個頭破血流。
誤區二、全身投入學習桌面或服務器版本linux系統
很多想學嵌入式linux 的同學經常問我,我不會linux系統,怎么學習嵌入式linux開發,于是他們就花費了大量的精力和時間去研究學習桌面版本linux系統的使用,什么redhat 、federo,、ubuntu等等都用過,如何配置linux,linux的各種使用命令都背的滾瓜爛熟,linux各種服務器的配置,還原備份各種操作非常熟悉,以為這樣就學會了嵌入式linux開發。其實這是一個學習嵌入式Linux開發的誤區。
Linux桌面環境只是嵌入式linux的一個開發工具,開發環境而已。我們的目標不是學習linux服務器的配置和使用,linux服務器的高級配置和使用那是另外一個領域,不屬于嵌入式linux討論的范疇。我們進行嵌入式linux開發,只是把linux桌面環境當作一個工具,在linux桌面環境下運行嵌入式linux開發工具,例如gcc 編譯器,make工具來開發我們的嵌入式linux應用程序而已,對于嵌入式開發工程師來說,沒有必要花費那么多的精力和時間去研究linux桌面版和服務器的應用,只要能了解最基本的操作即可。現在的桌面linux系統的圖形化界面做的也相當好,跟window具有相同的易用性能,例如ubuntu很多操作都可以在圖形界面下完成,就沒有必要去記每個linux命令了。熟悉linux桌面系統的使用和基本操作命令,安排1~2天時間學習基本就可以掌握了。
以上分析了同學們學習嵌入式linux 開發的2個誤區,那么如何正確的嵌入式linux開發呢?
做任何事情都有一個循序漸進的過程,學習嵌入式linux也一樣。在有了一定的嵌入式開發基礎后,學習嵌入式linux開發比較適合的切入點是從嵌入式linux應用程序開發開始,即暫時先不去關心嵌入式硬件平臺,不去關心linux的底層驅動,先把精力集中在現有的嵌入式linux平臺上進行嵌入式linux應用程序設計開發。學習嵌入式linux開發絕不是看看書就可以學好的,需要多實踐,編程調試;因為嵌入式開發不同于普通的基于PC機或服務器的應用程序開發,嵌入式開發的應用程序是要燒寫到嵌入式板卡或開發板上運行的,所以首先你要給自己購買一塊開發板,現在普遍流行的嵌入式開發板都是基于三星的ARM9 CPU S3C2440,性價比極高。
有了開發板后,先后開始學習嵌入式linux開發環境搭建、嵌入式linux開發模型、linux內核移植和文件系統、嵌入式linux應用程序移植、嵌入式linux多進程,多線程應用程序設計、嵌入式linux網絡編程,如果對嵌入式數據庫或圖形軟件開發有興趣的,可以進一步學習嵌入式linux數據庫開發或基于QT的嵌入式linux圖形應用軟件設計。每學一章節都要通過相關實驗來來驗證你從書上學到的東西,同時提高自己編寫代碼,調試程序的能力。這個過程根據不同學員的基礎不同,大概要花上1 ~ 2個月時間。學完這些課程后,你就有了再現有的嵌入式linux平臺上進行應用程式設計開發的能力,到一些嵌入式軟件公司去,能夠勝任在現有的嵌入式linux平臺上進行上層的應用程序開發工作。但是目前你還不能進行嵌入式linux系統和驅動的開發,也就是說,你現在只能在一個已經構建好的嵌入式linux平臺上進行應用程序開發,而自己還沒有能力根據實際需要去重新構建一個嵌入式linux平臺。要讓自己有能力根據實際需要重新構建一個嵌入式linux軟硬件平臺,這時候就需要進行下一階段的學習了,即嵌入式linux系統和驅動開發。
對于嵌入式linux開發初級你是否了解了呢,嵌入式linux開發學習更多需要的是你的實踐,而不是你學學懂了,就不管了,所以學習嵌入式linux開發需要你多下功夫,把理論和實踐相結合,這樣你才會學而有所得。