fsl系統燒寫工具MFGTool2工具詳解

2021-06-28 11:50:43 字數 2890 閱讀 2074

fsl i.mx6開發板有多種系統燒寫方式,這裡介紹使用聯機燒寫工具mfgtool及其對系統的燒寫。

mfgtool是fsl官方開發的一套pc聯機系統燒寫程式,通過usb將pc和開發板連線後,使用mfgtool就可以燒寫

u-boot,kernel和filesys。

mfgtool當前的版本是mfgtool v2。

mfgtool程式的具體燒寫和執行流程是:

二.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有效。

針對檔案,根據上面的

chip

=***來指明其路徑名。

下圖中說明了檔案cfg.ini和[list] 標籤中name的關係:

3.ucl2.xml通過list項來列出要執行的命令集和相應檔案。

執行kernel,掛載檔案系統。

之所以稱"前導u-boot,kernel,檔案系統「,因為它們是為最終的程式燒寫做系統準備,它們並不是最終要下

載到flash、sd、tf卡等非易失儲存器中的系統映象。

對應於ucl2.xml中的標籤,有如下內容:

loading u-boot

loadsection="oth" setsection="oth" hasflashheader="false" >loading kernel.

loadsection="oth" setsection="oth" hasflashheader="false" >loading initramfs.

jumping to os image.

以下是對其中內容詳細的說明:

state="bootstrap"指明其為啟動,對比參照下面程式燒寫時的state="updater"。

type="boot"或type="load",載入或啟動,對比參照下面程式燒寫時的 type="push" 。

file指明要操作的檔案, address指明了載入的位址。

五.通過執行一組在配置檔案中設定的linux命令,mfgtool使用usb將要燒寫的系統映象燒寫到非易失儲存器中。

如 u-boot燒寫,在ucl2.xml檔案中,有如下命令: 1.

2.sending partition shell

3.partitioning...

4.partitioning...

5.6.

sending u-boot.bin

7.  write u-boot.bin to sd card

上面紅色字型部分是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。

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

fsl系統燒寫工具MFGTool2工具詳解

fsl i.mx6開發板有多種系統燒寫方式,這裡介紹使用聯機燒寫工具mfgtool及其對系統的燒寫。mfgtool是fsl官方開發的一套pc聯機系統燒寫程式,通過usb將pc和開發板連線後,使用mfgtool就可以燒寫 u boot,kernel和filesys。mfgtool當前的版本是mfgto...

fsl系統燒寫工具MFGTool2工具詳解

fsl i.mx6開發板有多種系統燒寫方式,這裡介紹使用聯機燒寫工具mfgtool及其對系統的燒寫。mfgtool是fsl官方開發的一套pc聯機系統燒寫程式,通過usb將pc和開發板連線後,使用mfgtool就可以燒寫 u boot,kernel和filesys。mfgtool當前的版本是mfgto...

fsl系統燒寫工具MFGTool2工具詳解

fsl i.mx6開發板有多種系統燒寫方式,這裡介紹使用聯機燒寫工具mfgtool及其對系統的燒寫。mfgtool是fsl官方開發的一套pc聯機系統燒寫程式,通過usb將pc和開發板連線後,使用mfgtool就可以燒寫 u boot,kernel和filesys。mfgtool當前的版本是mfgto...