新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > U-Boot在MPC8265平臺(tái)上的移植與分析

U-Boot在MPC8265平臺(tái)上的移植與分析

作者: 時(shí)間:2010-07-05 來源:網(wǎng)絡(luò) 收藏
3.2 編譯鏡像文件
在源代碼修改完成后,即可進(jìn)行編譯。編譯需要在Linux主機(jī)上建立交叉編譯環(huán)境,本文使用Montavista公司的Montavista Linux Pro 4.0。在Linux主機(jī)上安裝Montavista交叉編譯工具后,設(shè)置環(huán)境變量,將Montavista工具鏈路徑導(dǎo)入到主機(jī)系統(tǒng)的環(huán)境變量中。如:#gedit./.bash_profile,打開文件.bash_profile,增加PATH=$PATH:/opt/montavista/pro/devrocket/ppc/82xx/bin,然后刪除之前可能錯(cuò)誤創(chuàng)建的所有目標(biāo)文件,并針對(duì)目標(biāo)板編譯。如下所示:

編譯完成后,得到3個(gè)文件:1)u-boot:ELF格式的文件,可被多數(shù)Debug程序識(shí)別;2)u-boot.bin:二進(jìn)制bin文件,U-boot的二進(jìn)制執(zhí)行代碼,可通過JTAG接口下載到開發(fā)板;3)u-boot.srec: Motorola的S-Record格式文件,可通過BDM接口下載到開發(fā)板。
不同開發(fā)板對(duì)鏡像文件在Flash中的存放地址要求不同,這是由處理器中斷復(fù)位向量決定的,與開發(fā)板硬件相關(guān),源代碼中U-Boot起始地址必須與硬件復(fù)位向量相符合。
使用MPC82xx系列處理器的主板是由硬件配置字(HRCW)決定的,如RPXlite板的中斷復(fù)位向量設(shè)置為Ox00000100,因此U-B00t鏡像文件必須燒寫到Flash的起始位置。多數(shù)的PPC系列的處理器中斷復(fù)位向量是Ox00000100和Oxfff00100,即高位啟動(dòng)和低位啟動(dòng)的Bootloader所在位置。U-boot鏡像文件在Flash中的存放地址可通過設(shè)置U-Boot源碼的目標(biāo)板>.h頭文件中CFG_MONITOR_BASE以及board/目標(biāo)板>/confi-g.mk中的TEXT_BASE來與硬件配置相對(duì)應(yīng)。
U-Boot鏡像文件在Flash中燒錄完成后,將目標(biāo)板和主機(jī)的串口連接起來,目標(biāo)板上電復(fù)位,即可在主機(jī)終端窗口看到串口回顯的開發(fā)板上U-Boot的啟動(dòng)引導(dǎo)信息,如圖2所示。

本文引用地址:http://2s4d.com/article/151751.htm


在終端窗口中輸入help,可以列出U-Boot所有命令列表。然后測(cè)試網(wǎng)口和Flash讀寫,工作正常,則可以認(rèn)為U-Boot工作基本完成,接下來可以添加一些其他功能,并進(jìn)行Linux內(nèi)核的引導(dǎo)和文件系統(tǒng)的。

4 結(jié)束語(yǔ)
Bootloader在嵌入式開發(fā)中是操作系統(tǒng)和硬件的樞紐。在U-Boot移植過程中,不僅要掌握U-Boot的結(jié)構(gòu)和工作流程外還需要對(duì)硬件有一定了解。本文移植的U-Boot已穩(wěn)定運(yùn)行在開發(fā)板上,而且可以通過FIash和網(wǎng)絡(luò)加載Linux內(nèi)核和NFS文件系統(tǒng),為后續(xù)開發(fā)奠定了良好的基礎(chǔ)。對(duì)于不同的CPU和開發(fā)板,基本方法和步驟是相同的,本文的工作對(duì)于基于MPC82xx系列處理器的硬件的U-Boot移植具有借鑒意義,并對(duì)嵌入式Linux系統(tǒng)的開發(fā)提供了有益的技術(shù)參考。


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: 分析 移植 平臺(tái) MPC8265 U-Boot

評(píng)論


相關(guān)推薦

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

關(guān)閉