<menu id="w8yyk"><menu id="w8yyk"></menu></menu>
  • <dd id="w8yyk"><nav id="w8yyk"></nav></dd>
    <menu id="w8yyk"></menu>
    <menu id="w8yyk"><code id="w8yyk"></code></menu>
    <menu id="w8yyk"></menu>
    <xmp id="w8yyk">
    <xmp id="w8yyk"><nav id="w8yyk"></nav>
  • 網站首頁 > 物聯資訊 > 技術分享

    嵌入式開發軟件環境:uboot、kernel、rootfs、data布局分析

    2016-09-28 00:00:00 廣州睿豐德信息科技有限公司 閱讀
    睿豐德科技 專注RFID識別技術和條碼識別技術與管理軟件的集成項目。質量追溯系統、MES系統、金蝶與條碼系統對接、用友與條碼系統對接

    uboot+linux的整體方案

    開發板的datasheet中都有詳細的地址空間的劃分,其中比較重要的兩塊是:DDR地址空間和Flash地址空間。DDR空間是系統和應用的運行空間,一般由linux系統自身進行使用和管理;Flash空間是系統和應用載體的存放空間,一般需要在使用前進行劃分,由應用開發者進行管理。

    簡單的示例和說明。

    其中,Flash的整體地址空間為:0x34000000~0x34FFFFFF,共16MB,使用的是Nor Flash芯片。布局需要做的工作是:

    • 確定uboot二進制文件的大小,使用的地址范圍
    • 確定linux kernel鏡像文件的大小,使用的地址范圍
    • 確定rootfs 根文件系統的鏡像文件大小,使用的地址范圍
    • 估計整體應用方案所需的空間大小,選擇可使用的地址范圍

    完成上述工作后,項目的布局如下:

    • uboot:0x34000000~0x34080000, 512KB
    • kernel : 0x34080000~0x34180000, 1MB, 文件大小為952.8KB
    • rootfs : 0x34180000~0x34700000, 5.5MB, 文件大小為3.85MB
    • data : 0x34700000~0x34FFFFFF, 9MB, 文件大小為3.725MB



    到這一步已經完成了地址空間的邏輯布局,接下來就是存儲空間的物理布局實現,就是對Flash進行分區,這里可以分成四個區,對應上述四塊軟件,也可以分成三個區:
    mtdparts=phys_mapped_flash:0x180000(boot),0x580000(roofs70),0x900000(data)

    燒寫鏡像文件
    如何將上述相應的鏡像文件下載到或者燒寫到開發板上,也涉及到大批量生成的燒錄方式

    • JTAG,或者配套的燒寫器,再加上配套的軟件套件,如CCS,完成uboot的燒寫
    • 專門的串口燒寫工具,完成uboot的燒寫
    • 在uboot環境下可以使用tftp工具,完成kernel鏡像、rootfs文件、app文件的燒寫

    項目中主要是:燒寫器+tftp(uboot一般不修改)



    uboot環境中tftp工具的使用
    不同的uboot版本命令格式和提供的功能會有所差別,最好是使用前查閱幫助或者參考開發指導手冊,主要的功能有從服務器下載文件和上傳文件到服務器,常見的格式為:


    - 下載文件:tftp <addr> <file>
    - 上傳文件:tftp <addr> <size> <file>
    如果使用的是Nand Flash芯片,下載過程:


    - 下載文件到內存地址
    - erase Flash上對應的文件存放地址空間
    - write 內存地址中的文件內容到Flash上對應的地址空間
    如果使用的是Nor Flash芯片,下載過程:


    - erase Flash上對應文件的存放地址空間
    - 直接下載文件到Flash中對應文件的地址空間中:tftp 0x34180000 rootfs.jffs2
    同樣的現在也可以直接從Nor Flash中啟動內核鏡像,而不需要先將其加載到內存再啟動:
    setenv bootcmd "bootm 0x34080000"



    批量生產的軟件燒錄

    進行設備的批量生產階段,肯定不能按照開發階段的過程來進行軟件環境的燒錄,對于大批量來說,這樣做效率太低,而且容易出錯。越簡單、單一的操作效率越高,越不容易出錯。最佳的方式是:一步解決。在此推薦的方式是:

      • 按照上面的內容和步驟完成整個軟件環境的布局和構建
      • 用tftp工具將整個Flash中的內容全部打包上傳到服務器,得到一個整體方案鏡像
      • 使用燒片器燒寫整體鏡像完成批量原始設備的軟件燒錄構建
    RFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成
    最近免费观看高清韩国日本大全