亚洲春色中文字幕久久久-三上亚,91精品国产亚一区二区三区,久久久九色综合亚洲成色777,涩涩视频下载,国产午夜亚洲精品午夜鲁丝片,国产精品A一区二区三区腾讯导航,影音先锋色情AV在线看片,蜜臀国产在线视频,极品少妇高潮啪啪无码吴梦梦 ,精品人妻无码一区二区三区手机版

標題: 基于迅為i.MX6Q開發板-飛思卡爾系統燒寫工具MFGTool2工具詳解 [打印本頁]

作者: keylududt    時間: 2017-5-10 10:08
標題: 基于迅為i.MX6Q開發板-飛思卡爾系統燒寫工具MFGTool2工具詳解
fsl i.MX6開發板有多種系統燒寫方式,這里介紹使用聯機燒寫工具MFGTool及其對系統的燒寫。MFGTool是fsl官方開發的一套PC聯機系統燒寫程序,通過USB將PC和開發板連接后,使用MFGTool就可以燒寫
u-boot,kernel和filesys。
MFGTool當前的版本是MFGTool V2。

MFGTool程序的具體燒寫和運行流程是:
一.Boot跳線到USB下載模式---BOOT_MODE[1:0]為0b10

二.MFGTool加載相關的配置文件:UICfg.ini、cfg.ini、ucl2.xml。其中:
  1. UICfg.ini指明了MFGTool界面配置。
  2. cfg.ini指明了芯片和開發板名稱,并指定了ucl2.xml文件中的LIST項名稱。另外,MFGTool根據芯片和開發板
      名稱在.\Profiles中尋找 相應的配置文件ucl2.xml,啟動鏡像和燒寫鏡像文件。此處的".\"為相對目錄,即
      MFGTool 的存放和執行目錄。
     如文件cfg.ini內容如下:
     [profiles]
     chip = MX6Q Linux Update

     [platform]
     board = SabreSD

     [LIST]
     name = Sabre-SD



     [profiles]
     chip = MX6Q Linux Update,它指明了文件操作的目錄,即為.\Profiles\MX6Q Linux Update\OS Firmware,
     例如MFGTool會在在.\Profiles\MX6Q Linux Update\OS Firmware中尋找相應的配置文件ucl2.xml。
     
      [LIST]
      name = Sabre-SD
      ucl2.xml有多個LIST項,每一項對應于一個開發板相關燒寫配置,此處指明哪一項LIST有效。
      LIST中指明了執行的下載/燒寫動作,要操作(下載/燒寫/或命令)的文件,shell命令等內容,
      針對文件,根據上面的chip =xxx來指明其路徑名。

     下圖中說明了文件cfg.ini和[LIST] 標簽中name的關系:


     

     下面兩個圖中說明了文件ucl2.xml中相關文件的具體指向:
     




   

  3.ucl2.xml通過LIST項來列出要執行的命令集和相應文件。

三.MFGTool通過USB將前導u-boot,kernel,文件系統下載到開發板中的RAM中,并跳轉到RAM中的u-boot處來
    執行kernel,掛載文件系統。
   之所以稱"前導u-boot,kernel,文件系統“,因為它們是為最終的程序燒寫做系統準備,它們并不是最終要下
   載到Flash、SD、TF卡等非易失存儲器中的系統鏡像。
   對應于ucl2.xml中的標簽,有如下內容:
    <CMD state="BootStrap" type="boot" body="BootStrap" file ="u-boot-mx6q-sabreauto.bin" >Loading U-boot</CMD>
    <CMD state="BootStrap" type="load" file="uImage" address="0x10800000"
            loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" >Loading Kernel.</CMD>
   
<CMD state="BootStrap" type="load" file="initramfs.cpio.gz.uboot" address="0x10C00000"
              loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" >Loading Initramfs.</CMD>
   
<CMD state="BootStrap" type="jump" > Jumping to OS image. </CMD>
   以下是對其中內容詳細的說明:
   state="BootStrap"指明其為啟動,對比參照下面程序燒寫時的state="Updater"。
   type="boot"或type="load",加載或啟動,對比參照下面程序燒寫時的 type="push" 。
   file指明要操作的文件, address指明了加載的地址。  
   
四.MFGTool強制開發板啟動RAM中的kernel,并裝載相關特定的USB下載驅動,開發板中的Linux系統做好了程序燒寫的前期準備。

五.通過執行一組在配置文件中設置的Linux命令,MFGTool使用USB將要燒寫的系統鏡像燒寫到非易失存儲器中。
   如 u-boot燒寫,在ucl2.xml文件中,有如下命令:
   1. <CMD state="Updater" type="push" body="mknod block,mmcblk1,/dev/mmcblk1,block"/>
   2. <CMD state="Updater" type="push" body="send" file="mksdcard.sh.tar">Sending partition shell</CMD>
   
3. <CMD state="Updater" type="push" body="$ tar xf $FILE "> Partitioning...</CMD>
   
4. <CMD state="Updater" type="push" body="$ sh mksdcard.sh /dev/mmcblk1"> Partitioning...</CMD>
5. <CMD state="Updater" type="push" body="mknod block/mmcblk1,mmcblk1p1,/dev/mmcblk1p1,block"/>
   
6. <CMD state="Updater" type="push" body="send" file="files/u-boot.bin">Sending u-boot.bin</CMD>
   
7. <CMD state="Updater" type="push" body="$ dd if=$FILE of=/dev/mmcblk1 bs=1k seek=1 skip=1 conv=fsync">write u-boot.bin to sd card</CMD>   上面紅色字體部分是ucl2.xml文件中的原命令,藍色數字是為了方便下面的說明而附加的行號。
   以下是對其中命令(body標簽部分)詳細的說明:
   行1. body="mknod block,mmcblk1,/dev/mmcblk1,block"   為使用SD,TF卡等設備創建結點。
   行2. body="send" file="mksdcard.sh.tar"   發送文件mksdcard.sh.tar到開發板的RAM中。
   行3. body="$ tar xf $FILE "   解壓文件mksdcard.sh.tar。
   行4. body="$ sh mksdcard.sh /dev/mmcblk1 執行mksdcard.sh,mksdcard.sh是個shell腳本文件,
         它用來對Flash、SD、TF進行分區,具體的內容可查看該文件。
   行5. body="mknod block/mmcblk1,mmcblk1p1,/dev/mmcblk1p1,block" 創建設備結點,
          具體的用法參考設備驅動程序相關內容 。
   行6. body="send" file="files/u-boot.bin" 發送文件files/u-boot.bin到開發板的RAM中。
   行7. body="$ dd if=$FILE of=/dev/mmcblk1 bs=1k seek=1 skip=1 conv=fsync" 執行u-boot的燒寫。
           其中變量$FILE為第6行中設 定的值,最終執行燒寫的命令 是dd。

六.掉電,跳線到正常的啟動模式,重啟。









歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1