新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > U-Boot在S3C44B0上的移植方法

        U-Boot在S3C44B0上的移植方法

        作者: 時間:2012-04-19 來源:網絡 收藏


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

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

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

        U-Boot 移植操作

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

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

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

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

        硬件配置條件

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

        表2  硬件資源


        移植操作內容

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

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

        移植文件修改

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

        表3  修改文件

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

        一般情況是要對U-Boot的功能進行擴充或者U-Boot不支持目標板上的設備時,添加相應程序。



        關鍵詞: Bootloader U-Boot S3C44B0

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 象山县| 惠东县| 商丘市| 合阳县| 龙井市| 贵阳市| 扬中市| 丹寨县| 靖州| 社旗县| 浦北县| 鲁山县| 株洲市| 娱乐| 通化县| 方正县| 崇明县| 灌南县| 灵丘县| 湾仔区| 色达县| 淮北市| 清原| 礼泉县| 泰顺县| 临沧市| 崇义县| 元朗区| 洪泽县| 西充县| 唐河县| 临泽县| 新巴尔虎右旗| 临泉县| 玛曲县| 东乌珠穆沁旗| 恩平市| 韩城市| 遂昌县| 东山县| 商城县|