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