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