久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久


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

分享到:
           

    U-Boot能夠支(zhi)持多種(zhong)體系結(jie)構的處(chu)理器(qi),支(zhi)持的開(kai)發板也越來(lai)越多,因為Bootloader是完全依賴硬件平臺的,所以(yi)在新(xin)電(dian)路(lu)板上需要移植(zhi)U-Boot程序(xu)。

    開(kai)始(shi)移植(zhi)U-Boot之前(qian),要先熟悉硬(ying)件(jian)電(dian)路板(ban)和處(chu)理(li)器,確認U-Boot是否已(yi)(yi)(yi)經(jing)支(zhi)持新開(kai)發(fa)(fa)板(ban)的(de)(de)(de)處(chu)理(li)器和I/O設備(bei)。假如U-Boot已(yi)(yi)(yi)經(jing)支(zhi)持一(yi)塊非(fei)常(chang)相(xiang)(xiang)似(si)的(de)(de)(de)電(dian)路板(ban),那(nei)么移植(zhi)的(de)(de)(de)過程將非(fei)常(chang)簡單(dan)。移植(zhi)U-Boot工作就是添加開(kai)發(fa)(fa)板(ban)硬(ying)件(jian)相(xiang)(xiang)關(guan)的(de)(de)(de)文件(jian)、配置(zhi)(zhi)選項,然(ran)后配置(zhi)(zhi)編譯。開(kai)始(shi)移植(zhi)之前(qian),需(xu)要先分析(xi)一(yi)下(xia)U-Boot已(yi)(yi)(yi)經(jing)支(zhi)持的(de)(de)(de)開(kai)發(fa)(fa)板(ban),比較(jiao)出(chu)硬(ying)件(jian)配置(zhi)(zhi)接(jie)近的(de)(de)(de)開(kai)發(fa)(fa)板(ban)。選擇的(de)(de)(de)原則(ze)是,首先處(chu)理(li)器相(xiang)(xiang)同,其次處(chu)理(li)器體系結構相(xiang)(xiang)同,然(ran)后是以(yi)太網(wang)接(jie)口(kou)(kou)等外圍接(jie)口(kou)(kou)相(xiang)(xiang)同。還要驗證一(yi)下(xia)這個參考開(kai)發(fa)(fa)板(ban)的(de)(de)(de)U-Boot,至少能夠配置(zhi)(zhi)編譯通過。

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

    (1)在頂(ding)層(ceng)Makefile為開(kai)發板(ban)添(tian)加新的配置(zhi)選項,以(yi)使用已有(you)的配置(zhi)項目為例:

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

    參考上面(mian)兩行(xing),添加下面(mian)兩行(xing):

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

    (2)創建一個新目錄存放開發板相關的代碼,并且添加新文件。
     ① 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)為(wei)開發板(ban)添加新(xin)的配置文件。可以先(xian)復制參考開發板(ban)的配置文件,再(zai)修(xiu)改,例如:

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

    如果是為一(yi)顆新(xin)的(de)CPU移植,還要創建(jian)一(yi)個新(xin)的(de)目錄(lu)存放(fang)CPU相關(guan)的(de)代碼(ma)。

    (4)配置開發板。

    $ make fs2410_config

    (5)編譯U-Boot。執(zhi)行make命令(ling),編譯成功可以(yi)得到U-Boot映像(xiang)。有些(xie)錯(cuo)誤是(shi)與配(pei)置(zhi)選(xuan)項(xiang)有關系的(de),通常打開(kai)某些(xie)功能選(xuan)項(xiang)會帶來一些(xie)錯(cuo)誤,一開(kai)始可以(yi)盡量(liang)與參(can)考板配(pei)置(zhi)相同。

    (6)添加驅(qu)動或者(zhe)功(gong)能(neng)(neng)選項(xiang)。在能(neng)(neng)夠編譯(yi)通過的(de)基(ji)礎上,還要(yao)實現U-Boot的(de)以太網(wang)接口、Flash擦寫等功(gong)能(neng)(neng)。對于FS2410開發板的(de)以太網(wang)驅(qu)動和smdk2410完全相同,所以可(ke)以直接使(shi)用(yong)。CS8900驅(qu)動程序代碼包括:

    drivers/cs8900.c
    drivers/cs8900.h

    對于(yu)Flash的選擇就麻煩(fan)多(duo)了,Flash芯片價格或者采(cai)購方面的因素都(dou)有影響。多(duo)數(shu)開發(fa)板(ban)大(da)小、型號都(dou)不相同,所以還需(xu)要移植Flash的驅動。每種開發(fa)板(ban)目錄下一般都(dou)有flash.c這個(ge)文件,需(xu)要根據具體的Flash類型修改。例如:

    board/fs2410/flash.c

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

    本文選自華清遠見嵌入式培訓教材《從實踐中學嵌入式Linux應用程序開發》

   熱(re)點鏈接:

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

更多新聞>>