新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > U-Boot在S3C44B0上的移植方法

U-Boot在S3C44B0上的移植方法

作者: 時間:2012-04-19 來源:網(wǎng)絡(luò) 收藏


(2) 硬件資源支持修改后的代碼。開發(fā)者已經(jīng)選用某種類型的嵌入式微處理器,自行設(shè)計了嵌入式系統(tǒng)的開發(fā)板或者直接從廠家購買的開發(fā)系統(tǒng)。在這種情況下,硬件資源已經(jīng)確定,只能在不改變整體結(jié)構(gòu)的條件下,通過修改的相關(guān)代碼,匹配已有的開發(fā)板。

在實際應(yīng)用中,最常遇到的是第2種情況。這時應(yīng)該保證嵌入式主板能夠正常運行,沒有硬件故障,具備相應(yīng)的存儲媒介( FLASH、SDRAM) 用來存儲和運行。由以上分析可以看出, 的移植條件包括;①相匹配的微處理器硬件結(jié)構(gòu); ②可對Boot-loader 進行調(diào)整修改的開發(fā)環(huán)境。

注意:以上兩個條件必須同時具備,才能著手進行 的移植工作。

U-Boot 移植操作

的移植操作前需要作如下兩個工作。

(1) 對嵌入式系統(tǒng)進行硬件分析,判定是否滿足移植條件。根據(jù)目標(biāo)板上CPU、FLASH、SDRAM的情況,以盡可能一致的原則先找出一個與目標(biāo)板為同一個或同一系列微處理器的U-Boot的支持板為參考,復(fù)制相似的目錄,修改文件名及內(nèi)容。

(2) 確定下載U-Boot所需要的FLASH地址。這由嵌入式微處理器的中斷復(fù)位向量決定,嵌入式板的硬件資源不同,中斷復(fù)位向量就不同,所以不同嵌入式系統(tǒng)板對Bootloader在固件( EEPROM、FLASH) 中的存放地址各不相同。U-Boot 的起始地址必須和硬件復(fù)位向量一致,本文分析的ARM7嵌入式系統(tǒng)板的中斷復(fù)位向量設(shè)置為0x0C000000,所以U-Boot的映像文件必須燒寫到 FLASH的0x0地址處。

上述兩項工作是移植Bootloader必需完成的前期準(zhǔn)備工作。以下結(jié)合本文完成的移植工作,介紹移植操作的具體內(nèi)容和過程。

硬件配置條件

根據(jù)前文對移植條件的分析可知,本文的移植操作屬于第2 種情況,即嵌入式系統(tǒng)目標(biāo)板上硬件資源已經(jīng)確定,目標(biāo)板具有硬件資源如表2所列。

表2  硬件資源


移植操作內(nèi)容

U-Boot 移植所需的硬件資源得到滿足后,可以開始移植操作。

首先需要在主機建立交叉編譯移植開發(fā)環(huán)境,編譯生成目標(biāo)板上可執(zhí)行映像。主機端( PC) 開發(fā)平臺選用linux 操作系統(tǒng),使用交叉編譯工具為arm-elf-tools-20030314.sh。Bootloader 移植操作,實際上就是根據(jù)嵌入式系統(tǒng)硬件資源提供的數(shù)據(jù),對有關(guān)的文件進行修改。移植工作中的文件修改包括匯編和C 文件兩部分。

移植文件修改

針對本文提供的主板硬件資源,并考慮U-Boot能夠正常運行的最低條件,在移植過程中需要修改文件如表3所列。

表3  修改文件

表3 中,memsetup.S 文件是對外部存儲空間的配置; smdk4110.c 是對各個復(fù)用I/ O口的初始化,flash.c 是外接FLASH 芯片的驅(qū)動程序。除表3 需要修改的數(shù)據(jù)外,公共代碼(/common目錄下的文件)、網(wǎng)絡(luò)傳輸代碼(/ net 目錄)、驅(qū)動程序(/drivers目錄) 3部分根據(jù)不同的移植要求修改。

一般情況是要對U-Boot的功能進行擴充或者U-Boot不支持目標(biāo)板上的設(shè)備時,添加相應(yīng)程序。



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

評論


相關(guān)推薦

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

關(guān)閉