新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > Bootloader在AT91RM9200系統(tǒng)中的實現(xiàn)

Bootloader在AT91RM9200系統(tǒng)中的實現(xiàn)

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

這個OrgDef數(shù)組給出了Flash中的段的信息。在函數(shù)flash_identification(flash_info_t * info)中修改打印的信息,flash_init(void)和 flash_print_info(flash_info_t * info)中的變量要相應的修改,最后 flash_erase()中的身份判斷部分相應的修改(如果只支持一種Flash芯片的話可以去掉)。

按照本系統(tǒng)硬件情況,關鍵是Flash的驅(qū)動部分的修改。由于Bootloader是為了引導操作系統(tǒng),如本文的第2部分分析完成最基本的硬件的初始化即可,所以在實際移植中經(jīng)常需要做的一般如上文所述。

接下來在Linux下進行編譯,設置環(huán)境變量PATH為交叉編譯器的路徑所在目錄,如:

PATH=$PATH:/usr/local/arm/2.95/bin

在代碼的頂層目錄下執(zhí)行以下命令:

make distclean

make at91rm9200dk_config

make

編譯成功可以得到得到三個文件:u-boot,u-boot.bin,u-boot.srec。其中boot包含有很多調(diào)試信息,可以被很多調(diào)試程序讀,開發(fā)者也可以用readelf、objdump等命令來查看里面包含的段地址等信息。u-boot.bin文件是ARM可以直接執(zhí)行的二進制的文件。u-boot.srec是 MotololarMT srec格式的文件。

按照1.2中介紹的方法燒寫到Flash芯片,設置跳線,使BMS引腳為低電平,CPU從外部啟動,從超級終端顯示的啟動信息。

3.3 調(diào)試

調(diào)試過程中遇到的問題可能是移植的問題,也有可能是硬件的問題,需要開發(fā)者做出判斷。仔細的閱讀的源代碼,對于了解硬件環(huán)境,進行調(diào)試有很大好處。同時代碼有一些用于調(diào)試的條件編譯,用dbg ()、debug()等函數(shù)輸出調(diào)試信息,開發(fā)者可以通過這些調(diào)試信息輸出函數(shù)得到編譯以得到相關部分的調(diào)試信息。

編譯通過之后將u-boot.bin載入SDRAM中運行,分別試驗erase,cp,printenv,saveenv等命令檢測對Flash的操作,使用tftp命令以檢測網(wǎng)口下載功能,然后裝載操作系統(tǒng)內(nèi)核,完成以上的任務則移植成功。經(jīng)過以上步驟移植的U-Boot已經(jīng)在本人開發(fā)的ARM板上順利的引導Linux操作系統(tǒng)。

4 總結

本文是筆者結合的開發(fā)經(jīng)驗,首先介紹了該處理器的特點,探討了利用GNU開發(fā)的一般方法和步驟,最后詳細地分析了U-boot在嵌入式系統(tǒng)上的移植?;谄渌腃PU的嵌入式平臺上的Bootloader的移植與此相似,希望本文能對嵌入式開發(fā)人員有借鑒意義。 是適合于工業(yè)控制、汽車電子、醫(yī)療器械等領域的一款基于ARM920T核的高性能芯片,屬于當前比較高端的RISC處理器。文章首先分析了芯片引導的特點,然后在基于AT91RM9200的嵌入式系統(tǒng)上實現(xiàn)Bootloader(操作系統(tǒng)的引導裝載程序)的方法,特別是通過對移植U-boot的方法和常見問題的詳細介紹。

本文作者創(chuàng)新點:闡明了在基于RISC芯片(ARM、MIPS,PPC等)的系統(tǒng)開發(fā)中實現(xiàn)的方法,為廣大的嵌入式開發(fā)人員提供了一個參考。

參考文獻:

[1] 朱義君 楊育紅 趙凱 段志英,AT91系列ARM微控制器體系結構與開發(fā)實例[M],北京航空航天大學出版社,2005

[2] Atmel Corporation, ARM920TTM Based Microcontroller AT91RM9200,2004

[3] Wookey, Chris Rutter, Jeff Sutherl, Paul Webb, The GNU Toolchain for ARM Targets HOWTO.

[4] The DENX U-BOOT and Linux Guide (DULG), http://www.denx.de/twiki/bim/view/DULG/Mannual

[5] 萬永波 張根寶 田澤 楊峰,基于ARM的嵌入式系統(tǒng)Bootloader啟動流程分析, 微計算機信息, 2005年,第21卷11-2期,90頁


上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉