国产成人精品三级麻豆,色综合天天综合高清网,亚洲精品夜夜夜,国产成人综合在线女婷五月99播放,色婷婷色综合激情国产日韩


在電路板上移植U-Boot程序

分享到:
           

    U-Boot能夠支持多種體系結(jié)構(gòu)的處理器,支持的開發(fā)板也越來越多,因為Bootloader是完全依賴硬件平臺的,所以在新電路板上需要移植U-Boot程序。

    開始移植U-Boot之前,要先熟悉硬件電路板和處理器,確認(rèn)U-Boot是否已經(jīng)支持新開發(fā)板的處理器和I/O設(shè)備。假如U-Boot已經(jīng)支持一塊非常相似的電路板,那么移植的過程將非常簡單。移植U-Boot工作就是添加開發(fā)板硬件相關(guān)的文件、配置選項,然后配置編譯。開始移植之前,需要先分析一下U-Boot已經(jīng)支持的開發(fā)板,比較出硬件配置接近的開發(fā)板。選擇的原則是,首先處理器相同,其次處理器體系結(jié)構(gòu)相同,然后是以太網(wǎng)接口等外圍接口相同。還要驗證一下這個參考開發(fā)板的U-Boot,至少能夠配置編譯通過。

    以S3C2410處理器的FS2410開發(fā)板為例,U-Boot的高版本已經(jīng)支持SMDK2410開發(fā)板。我們可以基于SMDK2410移植,那么先把SMDK2410編譯通過。移植U-Boot的基本步驟如下。

    (1)在頂層Makefile為開發(fā)板添加新的配置選項,以使用已有的配置項目為例:

    smdk2410_config : unconfig
        @./mkconfig $(@:_config=) arm arm920t smdk2410 NULL s3c24x0

    參考上面兩行,添加下面兩行:

    fs2410_config : unconfig
         @./mkconfig $(@:_config=) arm arm920t EduKit2410 NULL s3c24x0

    (2)創(chuàng)建一個新目錄存放開發(fā)板相關(guān)的代碼,并且添加新文件。
     ① board/fs2410/config.mk。
     ② board/ fs2410/flash.c。
     ③ board/ fs2410/EduKit2410.c。
     ④ board/ fs2410/Makefile。
     ⑤ board/ fs2410/memsetup.S。
     ⑥ board/ fs2410/U-Boot.lds。

    (3)為開發(fā)板添加新的配置文件?梢韵葟(fù)制參考開發(fā)板的配置文件,再修改,例如:

    $cp include/configs/smdk2410.h include/configs/fs2410.h

    如果是為一顆新的CPU移植,還要創(chuàng)建一個新的目錄存放CPU相關(guān)的代碼。

    (4)配置開發(fā)板。

    $ make fs2410_config

    (5)編譯U-Boot。執(zhí)行make命令,編譯成功可以得到U-Boot映像。有些錯誤是與配置選項有關(guān)系的,通常打開某些功能選項會帶來一些錯誤,一開始可以盡量與參考板配置相同。

    (6)添加驅(qū)動或者功能選項。在能夠編譯通過的基礎(chǔ)上,還要實現(xiàn)U-Boot的以太網(wǎng)接口、Flash擦寫等功能。對于FS2410開發(fā)板的以太網(wǎng)驅(qū)動和smdk2410完全相同,所以可以直接使用。CS8900驅(qū)動程序代碼包括:

    drivers/cs8900.c
    drivers/cs8900.h

    對于Flash的選擇就麻煩多了,F(xiàn)lash芯片價格或者采購方面的因素都有影響。多數(shù)開發(fā)板大小、型號都不相同,所以還需要移植Flash的驅(qū)動。每種開發(fā)板目錄下一般都有flash.c這個文件,需要根據(jù)具體的Flash類型修改。例如:

    board/fs2410/flash.c

    (7)調(diào)試U-Boot源代碼,直到U-Boot在開發(fā)板上能夠正常啟動。調(diào)試的過程是很艱難的,需要借助工具,并且有些問題可能會困擾很長時間。

    本文選自華清遠(yuǎn)見嵌入式培訓(xùn)教材《從實踐中學(xué)嵌入式Linux應(yīng)用程序開發(fā)》

   熱點(diǎn)鏈接:

   1、在電路板上移植U-Boot程序
   2、U-Boot編譯過程解析
   3、U-Boot源代碼下載地址
   4、Bootloader的種類
   5、配置主機(jī)交叉開發(fā)環(huán)境

更多新聞>>