U-boot在S3C44B0上的移植與分析
3.5 include/configs/b2.h文件
該文件中包含了B2目標板的一些配置的宏定義,主要有系統工作頻率、環境變量緩沖區長度、串口波特率、FLASH起始地址及容量、DRAM起始地址及容量、環境變量保存位置、FLASH讀/寫命令字、網絡芯片的基地址、目標板IP地址、硬件地址MAC、主機IP地址、內核裝載地址、交互操作命令等。
3.6 board/dave/b2/config.mk文件
U-boot將其代碼從FLASH復制到SDRAM的位置在0x0c700000處,修改TEXT_BASE=0x0c700000。
U-boot是在Linux環境下開發的,因此需要在Linux下進行編譯,使用的操作系統為Fedora core 7,從http://opensrc.see.samsung.corn/download/arm-elf-tools-20040427.sh下載arm-elf=tools=20040427.sh,使用的編譯器為arm-elf-gcc,在U-boot根目錄下對其中的makefile文件進行相應的修改,然后在命令行中運行以下指令:本文引用地址:http://www.j9360.com/article/152486.htm
編譯連接后生成U_boot,U_boot.bin,U_boot.
srec,其中的U_boot.bin是二進制bin文件,純粹的U_boot二進制執行代碼,不保存ELF格式和調試信息,這個文件用于燒寫到用戶的開發板中。通過創維特集成開發環境自帶的FLASH燒寫工具載人到SDRAM中運行,從超級終端顯示U-boot的啟動信息,分別試驗erase,cp,printenv,saveenv等命令,并檢測對FLASH的操作;使用tftp命令,以檢測網口下載功能,然后裝載操作系統內核,完成以上任務則移植成功。經過以上步驟移植的U-boot已經在自己開發的ARM板上順利地引導了μClinux操作系統。
4 結 語
Bootloader是連接系統硬件和操作系統的橋梁,這里根據U-boot的運行機制,在硬件資源固定,不改變Bootloader框架的前提下,對與目標板硬件相關的代碼,特別是FLASH芯片Intel 28F320C3B的代碼進行修改,成功移植到EB4480開發板上,并且結合U-boot和μClinux的啟動流程與運行機制,成功設計并實現了在基于S3C44BOX目標板上引導嵌入式操作系統。在移植過程中,要熟悉U-boot的組織結構和工作流程,對相關的硬件資源有一定的了解,根據實際情況進行裁減,靈活選用功能模塊。目前,移植后的U-boot能夠穩定地運行在嵌入式目標板上,并能順利地引導嵌入式μCinux系統,已成功應用在智能機器人的避障系統中。
評論