在學(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é)習(xí)底層系統(tǒng),這是我的專長,倒是可以說一點(diǎn)。
在回答這個問題之前,我先回答:不少人問我,到底是學(xué)驅(qū)動還是學(xué)應(yīng)用?
我只能說憑興趣,并且驅(qū)動和應(yīng)用并不是截然分開的
1. 我們說的驅(qū)動,其實(shí)并不局限于硬件的操作,還有操作系統(tǒng)的原理、進(jìn)程的休眠喚醒調(diào)度等概念。
想寫出一個好的應(yīng)用,想比較好的解決應(yīng)用碰到的問題,這些知識你應(yīng)該懂
2. 做應(yīng)用門檻低,特別是現(xiàn)在的ANDROID,純JAVA。做應(yīng)用的發(fā)展路徑個人認(rèn)為就是業(yè)務(wù)純熟。
比如在通信行業(yè)、IPTV行業(yè)、手機(jī)行業(yè),你了解行業(yè)的需求。所以,當(dāng)領(lǐng)導(dǎo)的人,多是做應(yīng)用的。
3. 做驅(qū)動,其實(shí)我不想稱為“做驅(qū)動”,而是想稱為“做底層系統(tǒng)”,做好了這是通殺各行業(yè)。我工作幾年,
做過手機(jī)、IPTV、會議電視,但是這些產(chǎn)品對我毫無差別,因?yàn)槲抑蛔龅讓印K麄兊臉I(yè)務(wù)跟我沒關(guān)系。
當(dāng)應(yīng)用出現(xiàn)問題,他們解決不了時,我就會從內(nèi)核角度給他們出主意,給他們提供工具。
做底層的發(fā)展方向,個人認(rèn)為是技術(shù)專家。
4. 其實(shí),做底層還是做應(yīng)用,之間并沒有一個界線,有底層經(jīng)驗(yàn),再去做應(yīng)用,你會感覺很踏實(shí)。
有了業(yè)務(wù)經(jīng)驗(yàn),你再了解一下底層,很快就可以組成一個團(tuán)隊。
回到怎么學(xué)的問題上。嵌入式Linux底層系統(tǒng)包含哪些東西?不要急,舉一個例子你就知道了。
1. 電腦一開機(jī),那些界面是誰顯示的?是BIOS,它做什么?一些自檢,然后從硬盤上讀入windows,并啟動它。
類似的,這個BIOS對應(yīng)于嵌入式Linux里的bootloader。這個bootloader要去Flash上讀入Linux內(nèi)核,并啟動它。
2. 啟動windows的目的是什么?當(dāng)然是上網(wǎng)聊天什么的了。這些上網(wǎng)、聊天工具在哪?
在C盤、D盤上。所以, windows要先識別出C盤、D盤。在Linux下我們稱為根文件系統(tǒng)。
1. 最適合入門的Linux暢銷書《嵌入式Linux應(yīng)用開發(fā)完全手冊》,
在google上搜“嵌入式Linux應(yīng)用開發(fā)完全手冊有目錄”即可下載到。
2. 與書完全配套的第1期視頻,引你入門
3. 深入講解驅(qū)動程序的第2期視頻,讓你深入
4. 實(shí)際項目從零寫起,第3期視頻讓你了解整個嵌入式Linux系統(tǒng)開發(fā)
1、由《嵌入式Linux應(yīng)用開發(fā)完全手冊》作者韋東山親自講解
2、第1期與書完全配套,第2期深入講解驅(qū)動程序
5、一個首創(chuàng):第1個使用繪圖板來講解,絕不是“照著PPT念”,跟“在教室里看著老師在黑板上講解”效果一樣!
6、一個絕對:每個實(shí)驗(yàn),每一行代碼都是當(dāng)場編寫和調(diào)試。視頻里有幾十個程序,作者完全從頭寫了幾十個程序。每一個實(shí)驗(yàn),都是先講解硬件操作,再寫程序。
7、一個保證:每個實(shí)驗(yàn),只要您的開發(fā)板有對應(yīng)的芯片,都可以在您的開發(fā)板上運(yùn)行起來。
8、一個超值:內(nèi)容完全超越其他同類視頻或是培訓(xùn)機(jī)構(gòu),并且還在不斷更新。
第一期視頻介紹
第1期:ARM實(shí)驗(yàn)、uboot移植、文件系統(tǒng)、初級驅(qū)動