嵌入式Linux開發及移植的學習建議

學習掌握嵌入式Linux的開發與移植如今很是流行。各類學習文章與培訓班,充斥書店、街頭。筆者,也上了路,經歷漫長的摸索,終於一日開竅,但的確糟蹋了不少金錢與時間。做爲窮人,現寫下本身的感覺,供初學者參考。

  第一要點:實驗重於看書(多編碼,少翻書)html

  必定要首先搭建X86實驗環境。用舊計算機(週末電腦城拋售存貨,有新的),搭建一套實驗環境。linux


  Host主機:一臺PC機(可以跑RedHat linux ,看文檔就能夠了,配網卡與軟驅)。web

  Target目標機一塊舊PC主板,配一張網卡和一個軟驅,電源。編程

  附件:交叉網線,交叉串口線。服務器

  夠了,不會超過三千元(已經很知足了)。網絡

  軟件所有到電腦城/網站下載。工具

  先無論什麼 arm  ppc  mips  ,之後看看文檔吧。學習

第二重點:GNU C編譯開發工具

  在PC上安裝RedHat linux包括開發工具。熟悉linux配置命令。網站

  練習 linux 的 C 語言編程,多個程序的編譯工程製做。無聊的話,將C語言教材的例程,編譯十幾個,熟悉GNU 編譯器。 www.gnu.org

  包括gcc make ld objdump ar 等 GNU toolkit

第三重點:realtime linux 內核編程/加載到目標板運行。

1. 下載 rt-linux ,或uclinux 或什麼非 RedHat的linux 源碼,必定是包括,編譯工程makefile, 而且for x86 PC的。

2. 修改和配置程序,將 rtlinux的 標準 console口 改成串口,不是vga與鍵盤。

3. 在RedHat linux 環境下,編譯 這個 embedded linux內核。 用mkboot的這樣程序(或按代碼中工具,) 將編譯好的內核執行文件 拷貝定位軟盤引導區。

4. 用這張軟盤引導在目標PC主板 。 在PC主機的 串口終端上配置 PC主板目標機。 效果同 RedHat linux terminal console同樣。之後愈來愈難,堅持。

第四個重點  編譯跑通網卡的驅動程序

1. 下載編譯 你的網卡驅動源碼

2. 跑通 主機與目標機的 網絡通信。

3. 不要太動頭想, ping 通就是了。

第五個重點  用tftp下載執行文件從PC主機到目標機運行。

第六個重點  GNU GDB 遠程在線調試(網口調試)

第七個重點  實時內核學習/修改

  照文章/書 分析調試/破壞 內核的源碼。

  主要是 調度/消息/存儲/文件/進程/線程/互斥等。單獨跑跑,瞭解內核功能就是了。

第八個重點 TCP/IP的學習。下載一個 簡單的web server (http server)學習理解,並編譯加載運行。

  將 PC主板目標機 看做網站服務器,而後在PC主機的網絡瀏難器中 訪問這個 web server.

  有興趣,把你的照片加載到目標機的 html網頁中。 www.zebra.org

第九個重點 網卡驅動程序分析

  瞭解 PCI總線原理,嘗試獨立寫點網卡驅動程序,過濾以太報文的處理。 跟蹤處理特殊的報文。

第十個重點USB和 FLASH文件系統練習。(能夠跳過)

  能夠分析修改 USB與FLASH文件系統源碼。

  必定要分析源碼,上網查 FLASH的型號。

第十一個重點 路由器實驗。

  分析zebra方面的源碼,再買一張網卡。

  嘗試分析 NAT RIP等協議,將你的PC板目標機,變成一臺簡單的路由器。

  之後的實驗 須要根據 行業來,例如,mini-GUI (圖形編程),或 DVR (硬盤錄象機),或IP Vedio WebTV 服務器。能夠玩好幾年,固然最好找工做前,有針對地作實驗。   

一句話,動手修改編碼,不要只看看。

相關文章
相關標籤/搜索