新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于U-BOOT的S3C44B0引導(dǎo)裝載程序的設(shè)計(jì)與實(shí)現(xiàn)

基于U-BOOT的S3C44B0引導(dǎo)裝載程序的設(shè)計(jì)與實(shí)現(xiàn)

作者: 時(shí)間:2012-05-21 來源:網(wǎng)絡(luò) 收藏

⑶include/configs目錄下

◆myboard.h頭文件。此文件是目標(biāo)板的頭文件,大多數(shù)寄存器參數(shù)是在這一文件中設(shè)置完成的。為了使串口能夠正常工作,需要設(shè)置正確的波特率,本嵌入式板波特率為115200bps.根據(jù)片上資源配置,修改內(nèi)存映射相關(guān)參數(shù)。該頭文件里還定義了的一些環(huán)境變量,這時(shí)可以不用修改,啟動后可以通過setenv命令來設(shè)定。其它參數(shù)與啟動操作系統(tǒng)內(nèi)核有關(guān),需要與內(nèi)核啟動參數(shù)相匹配。

⑷Makefile文件修改

在U-BOOT根目錄下的makefile文件進(jìn)行修改,加入:

Myboard_config:unconfig

@./mkconfig $ (@:_config=) arm myboard

其中“arm”是CPU的種類,是ARM CPU對應(yīng)的代碼目錄,myboard是自己開發(fā)板對應(yīng)的目錄。

除了以上修改外,可以根據(jù)目標(biāo)板和實(shí)際開發(fā)需要,添加一些其它功能支持,如以太網(wǎng)、LCD、NVRAM等。與串口和SDRAM調(diào)試相比,在已有的基礎(chǔ)上,添加這些功能還是較容易的。大多只是在參考現(xiàn)有源碼的基礎(chǔ)上,進(jìn)行一些修改和配置[5]。

4.U-BOOT編譯與運(yùn)行

配置好以后,進(jìn)入主目錄,重新編譯u-boot代碼,運(yùn)行命令:

#make myboard_config

#make

編譯成功,將生成三個(gè)文件:

u-boot——ELF格式的文件,可以被大多數(shù)Debug程序識別。

u-boot.bin——二進(jìn)制bin文件,純碎的U-BOOT二進(jìn)制執(zhí)行代碼,不保存ELF格式和調(diào)試信息。這個(gè)文件用于燒到用戶的開發(fā)板中。

u-boot.srec——Motorola S-Record格式,可以通過串口下載到開發(fā)板中。

將得到的u-boot.bin文件借住于FLASH芯片燒寫工具Flashpgm通過JTAG口下載到目標(biāo)板后,檢查U-BOOT能否正常工作[6]。如果能從串口輸出正確的啟動信息,就表明移植基本成功。若沒有按任意鍵,U-BOOT將自動加載操作系統(tǒng)內(nèi)核和文件系統(tǒng)。若按下任意鍵,U-BOOT停止自動加載,進(jìn)入U(xiǎn)-BOOT命令行,可以輸入命令進(jìn)行調(diào)試。

5.結(jié)束語

本文創(chuàng)新點(diǎn):根據(jù)U-BOOT的運(yùn)行機(jī)理,在硬件資源固定,不改變框架的前提下,對與目標(biāo)板硬件相關(guān)的代碼進(jìn)行移植,使之能夠成功的引導(dǎo)嵌入式操作系統(tǒng)。通過分析引導(dǎo)裝載程序在uclinux中的啟動流程與運(yùn)行機(jī)理,結(jié)合U-BOOT,設(shè)計(jì)并實(shí)現(xiàn)了基于X目標(biāo)板上的bootloader。在移植過程中,需要對的結(jié)構(gòu)和工作流程,以及相關(guān)硬件有一定的了解,靈活的選用bootloader,根據(jù)具體情況進(jìn)行裁減,最大程度發(fā)揮bootloader的功能,根據(jù)嵌入式目標(biāo)板與CPU等硬件配置對相關(guān)代碼進(jìn)行了修改。目前移植后的U-BOOT能夠穩(wěn)定的運(yùn)行在嵌入式目標(biāo)板上,并能順利的引導(dǎo)嵌入式Linux系統(tǒng),完全實(shí)現(xiàn)了設(shè)計(jì)目的,達(dá)到了嵌入式系統(tǒng)設(shè)計(jì)的要求。

參考文獻(xiàn):

1. 詹榮開.嵌入式系統(tǒng)技術(shù)內(nèi)幕[DB/OL]. http://www.zidonghua.com.cn /news/detail.asp?id=9641

2. 孫天澤.嵌入式設(shè)計(jì)及Linux驅(qū)動開發(fā)指南[M].北京:電子工業(yè)出版社,2005.

3. 張進(jìn),姜威.U-BOOT的啟動流程及移植[J].國外電子元器件,2005,5: 11-14

4. 張永強(qiáng),田紫君.基于ARM的HM30C7202平臺的嵌入式Linux移植[J].微計(jì)算機(jī)信息,2005

5. Karim Yagbmour.構(gòu)建嵌入式LINUX系統(tǒng)[M].北京:中國電力出版社,2004.

6. 李程遠(yuǎn),劉文峰,李善平.ARM Linux在EP7312上的移植[J].計(jì)算機(jī)工程與設(shè)計(jì),2003,24970: 73-77

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


上一頁 1 2 3 下一頁

關(guān)鍵詞: Bootloader U-BOOT S3C44B0

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉