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...