嵌入式門檻高,難度大,但是嵌入式的發展前景還是非常好的,這也是大家選擇嵌入式的原因,不過對于新人來說正確的學習步驟還是很重要的,下面一起來看看嵌入式的學習步驟吧。
在學習嵌入式Linux之前,肯定要有C語言基礎。匯編基礎有沒有無所謂(就那么幾條匯編指令,用到了一看就會)。C語言要學到什么程度呢?越熟當然越好,不熟的話也要具備基本技能。比如寫一個數組排序、輸入數字求和什么的。學C語言唯一的方法是多寫程序多練習,編譯出錯沒關系,自己去解決;執行出錯沒關系,自己去分析。以前我是用VC來練習C語言的,經常去嘗試著寫一些C語言競賽的題目。它們是純C、純數學、純邏輯的題目,不涉及界面這些東西,很適合煅煉你的編程能力。
回到主題,首先我們要明白你的目的是什么,大概來說所謂嵌入式Linux可以分為兩部分:底層系統、應用開發。如果你是想做應用開發,那么你去把C語言、數據結構、JAVA什么的學好吧。嵌入式應用開發和PC上的應用開發并沒有什么特別要注意的。也許你說在嵌入式上要做些優化,是的,要優化,但是未經優化的程序和PC上的程序開發沒什么差別。另外,當你有能力去優化時,你已經不用來問這個問題了。具體到某個例子,比如說開發界面,在PC上我們用VC;在嵌入式Linux里也許我們用QT也許用Android,這個時候你應該去學學QT、Android的編程。但是基礎還是C或JAVA,在此基礎上去熟悉它們的接口。你學過VC的話,也是要花時間去了解那些類、控件的。
對于初學者嵌入式的學習步驟:
先打好兩個基礎:
電路基礎:熟悉數字電路,能看懂電路,能分析功能,能根據電路編程;
C語言基礎:要學的精通,學得不好,上了系統程序看都看不懂;掌握arm架構及其外設的使用,編程控制,做相應項目;學習系統編程及網絡編程,在應用程序中使用。
linux系統學習:uboot移植,內核移植、裁剪,根文件系統制作,驅動編寫與移植(花比較大精力學習,它是系統的核心,也結合硬件),應用編程用戶界面等。
先做系統編程或應用編程,有一定經驗之后可向底層驅動發展;軟件項目經驗比較豐富之后可向硬件電路設計發展。
綜合來說,純應用開發(如Java)來說,門檻較低,但更新太快,發展空間有限,生命周期太短;而嵌入式開發是靠經驗積累的,不用吃“青春飯”。
以上介紹的就是嵌入式的學習步驟了,本來嵌入式入門比較難,如果你是初學者的話,那么在學習嵌入式的時候,不要太著急,這是一個循序漸進的過程,等你了解了嵌入式之后這些都不是問題了。