MFGTools使用說明及詳細分析,iMX6燒錄,USB燒錄

MFGTools使用說明及詳細分析

參考:NXP官方MfgTools工具使用    https://www.cnblogs.com/Cqlismy/p/12342156.html

一、MFGTools是i.MX系列SoC的官方燒錄工具。

二、MFGTools原理:

下面分析通過USB OTG燒錄iMX6芯片

以i.mx6ul這款SoC進行舉例分析

MFGTools目錄下面,很多文件及文件夾。但大部分跟我們不相關。

其中,重要的是燒錄腳本.vbs 。如:core-image-base-myd-y6ulxy2-ddr256m-nand256m.vbs(會有很多vbs腳本,選擇適合自己板子的)。改腳本的內容如下:

Set wshShell = CreateObject("WScript.shell")
wshShell.run "mfgtool2.exe -c ""linux"" -l ""NAND Flash""  -s 
""board=sabreauto"" -s ""lite=l"" -s 
""6uluboot=14x14"" -s ""nand=nand"" -s 
""6uldtb=14x14"" -s ""ddrsize=256"" -s 
""nanddtb=gpmi-weim"" -s ""part_uboot=0"" -s 
""part_kernel=2"" -s ""part_dtb=3"" -s 
""part_rootfs=4"" -s ""rootfs=core-image-base-myd-y6ull14x14.rootfs.tar.bz2"""
Set wshShell = Nothing

腳本運行了目錄下的mfgtool2.exe軟件,並且定義了一堆的變量,變量都有相應的值。這些變量在ucl2.xml裏面會用到。

接下來,打開Profiles\Linux\OS Firmware\ucl2.xml文件。框架如下:

文件以"<UCL>" ,"</UCL>"爲開始和結束,"<CFG>"與"</CFG>"標籤是配置相關的內容,判斷當前是在給I.MX系列的哪個SoC進行鏡像燒寫,並且具有很多個<LIST>描述的內容,"<LIST>","</LIST>"標籤是根據不同存儲介質來去執行相應的命令。

下面針對  <LIST name="NAND Flash" desc="Choose NAND as media">進行分析:

燒錄流程如下:

第一步:燒錄uboot、kernel(zImage)、initramfs、dtb到DRAM中,這些文件保存在:Profiles\Linux\OS Firmware\firmware。

然後執行Jumping to OS image 。這就是去啓動已經下載到DRAM中的Linux系統。然後在DRAM中的Linux再去執行第二個步驟。

第二步:該步驟,通過DRAM中已經啓動的Linux系統,將用戶需要固化的固件,uboot、kernel、dtb、fs,燒錄到開發板上。比如燒錄到NAND或者eMMC。需要固化的固件保存在:Profiles\Linux\OS Firmware\files。

 

三、燒錄自己的固件

MFGTools目錄下有很多文件,是官方針對不同的評估板制定的。我們只需要根據自己的實際情況,修改相應的固件文件。 

總結:Profiles\Linux\OS Firmware\firmware這裏的固件,是燒錄到DRAM裏面的,然後啓動DRAM裏面的Linux系統,再去把Profiles\Linux\OS Firmware\files裏面的固件固化到NAND或者eMMC裏面。

因此,Profiles\Linux\OS Firmware\firmware這裏的東西,不需要改,使用官方的即可。

我們需要把自己的固件,添加到 Profiles\Linux\OS Firmware\files 這裏。固件的名字,需要和ucl2.xml裏面的對應。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章