1 U-BOOT:
在U-Boot(UniversalBootloader)之前,先介紹一下Bootloader。簡單的說,Bootloader就是在作業系統
核心運行之前的一段引導程式,類似於PC中的BIOS。通過它,可以完成對應硬體裝置的初始化,並建立記憶體空間的映射圖的功能,為最終調用系統核心做好准
備。
U-Boot是遵循GPL條款的開放源碼項目,它不僅僅支援嵌人式Linux系統的引導,U-Boot中Universal的一層含義就是在於U-
Boot支援多種嵌入式作業系統,就目前來看,U-Boot對Linux的支援最完善。另外一層含義則是U-Boot支援多種常用系列的處理器。
U-Boot支援的主要功能:系統引導;基本協助工具功能(作業系統介面功能;可靈活設定、傳遞多個關鍵參數給作業系統;支援目標板多種儲存方式;CRC32校正);裝置驅動;上電自檢功能;特殊功能(XIP核心引導)。
U-Boot移植主要分為兩步:配置主板和設定Flash和SDRAM時序。
2 嵌入式Linux系統核心編譯和移植
嵌入式Linux核心的編譯都是通過make的不同命令實現的,一般分為3步:(1)核心配置。主要是使用者用於為目標板選擇處理器架構的選項。核心
支援4種方法的配置,雖然介面不同,但功能是一樣的,其中make
menuconfig使用最廣泛;(2)建立依賴關係。在第一次編譯時間發生,產生".de-pend"檔案,運行"make
dep"即可;(3)建立核心。這裡建立的是壓縮的核心映像,使用"make zIm-age"或"make
bzImage"。這樣就完成了編譯,下載在開發板即可。
一般來說與開發板通訊有3種方式:網路下載(tftp,ftp等),串口下載和USB下載。用tftp下載,需要配置Linux下的tftp服務,
然後將PC和開發板直連線(非網線)即可;用串口下載,需要配置Linux下的串日通訊工具Minicom。配置的主要是一些重要參數,如傳輸速率。
但是只有系統核心是不夠的,要使系統正常啟動,還需要負載檔案系統,所以需要製作檔案系統。可以手工製作,但是工作量太大,一般是把現有檔案系統載入到目標板,包括製作檔案系統鏡像和用NFS負載檔案系統方法。
開發板上一般已經燒寫好了嵌入式系統核心鏡像,檔案系統和前面講的U-Boot,在掌握了燒寫方法後,可以自己下載