一、MfgTool簡介
MfgTool 工具是NXP官方推薦的一個使用 USB OTG 來升級鏡像的軟件工具,它是 NXP 針對 i.MX 系列處理器專門使用的燒錄工具,可以用來升級 Linux,單獨燒錄某一系統分區,獨立地燒錄 SPI Flash、NOR Flash、SD Card、Nand Flash,EMMC 等,只需簡單的配置,就可以使用該工具將編譯好 的文件系統和鏡像文件燒錄到開發板上,使用起來非常方便。而且 MfgTool 工具作為一個可量產性的工具,它支持多通道的燒錄,在實際量產中,可以直接使用 Mfgtool 工具同時將文件系統與鏡像文件燒錄到多個開發板上。
優點:
缺點:
二、安裝MfgTool
官方GitHub下載:https://github.com/NXPmicro/mfgtools
百度網盤:https://pan.baidu.com/s/1gsUgyBmdYQEJ75l_acW-XA?pwd=4t67 提取碼:4t67
三、使用MfgTool燒錄U-Boot
3.1 替換U-Boot文件
將野火提供uboot源碼編譯出的 uboot-dtb.imx 更名:
然后進入到 mfgtool 目錄中的 mfgtools-releaseProfilesLinuxOS Firmwarerelease 目錄將相應文件替換即可

3.2 修改ucl2.xml文件
將 mfgtools-releaseProfilesLinuxOS Firmware 目錄下的 ucl2.xml 替換為如下內容
也可以下載直接替換 ucl2.xml
Loading U-boot
loadSection='OTH' setSection='OTH' HasFlashHeader='FALSE' ifdev='MX6SL MX6SX MX7D MX6UL MX6ULL'>Loading Kernel.
loadSection='OTH' setSection='OTH' HasFlashHeader='FALSE' ifdev='MX6SL MX6SX MX7D MX6UL MX6ULL'>Loading Initramfs.
loadSection='OTH' setSection='OTH' HasFlashHeader='FALSE' ifdev='MX6ULL'>Loading device tree.
Jumping to OS image.
Sending partition shell
Partitioning...
Partitioning...
clear u-boot arg
access boot partition 1
Sending u-boot.bin
write U-Boot to sd card
Uboot Finishing
Loading U-boot
loadSection='OTH' setSection='OTH' HasFlashHeader='FALSE' ifdev='MX6SL MX6SX MX7D MX6UL MX6ULL'>Loading Kernel.
loadSection='OTH' setSection='OTH' HasFlashHeader='FALSE' ifdev='MX6SL MX6SX MX7D MX6UL MX6ULL'>Loading Initramfs.
loadSection='OTH' setSection='OTH' HasFlashHeader='FALSE' ifdev='MX6ULL'>Loading device tree.
Jumping to OS image.
Mounting debugfs
Erasing Boot partition
Sending u-boot.bin
Flashing Bootloader
Uboot Finishing
3.3 燒錄
3.3.1 燒錄配置
解壓后的 cfg.ini 文件默認為 EMMC 的燒寫配置文件。
若想要燒寫 NAND 版本鏡像,將 cfg.ini 重命名為cfg-emmc.ini,并將 cfg-nand.ini 文件重命名為 cfg.ini 即可。

3.3.2 設置為USB啟動模式
將USB OTG與電腦連接,使用USB更新時不能插入SD卡。
根據以下BOOT撥碼開關啟動配置表,調整撥碼開關為USB啟動方式,
編號 | 名稱 | NAND FLASH | eMMC | SD | USB |
---|
1 | MODE0 | 0 | 0 | 0 | 1 |
2 | MODE1 | 1 | 1 | 1 | 0 |
3 | CFG1-4 | 1 | 0 | 0 | X |
4 | CFG1-5 | 0 | 1 | 0 | X |
5 | CFG1-6 | 0 | 1 | 1 | X |
6 | CFG1-7 | 1 | 0 | 0 | X |
7 | CFG2-3 | 0 | 1 | 0 | X |
8 | CFG2-5 | 0 | 0 | 1 | X |

提示:
也可以選擇通過按鍵方式進入燒錄模式,按鍵法可以不用撥碼,撥碼狀態在之前的 EMMC 或者 NAND 都可以。
上電
按下MODE按鍵
按下復位(RESET)按鍵
松開復位(RESET)按鍵
松開MODE按鍵
此時軟件就可以識別到USB了,然后燒錄完畢后重啟即可。
USB連接成功(如果是第一次進入 USB 模式的話可能會久一點,這個是免驅的,因此不需要安裝驅動)。點擊 Start按鈕開始燒錄:

燒錄中:

燒錄完成:

3.3.3 設置為NAND啟動模式
根據以下BOOT撥碼開關啟動配置表,調整撥碼開關為NAND啟動方式,即2-3-6位撥到on,其他位撥到0。
編號 | 名稱 | NAND FLASH | eMMC | SD | USB |
---|
1 | MODE0 | 0 | 0 | 0 | 1 |
2 | MODE1 | 1 | 1 | 1 | 0 |
3 | CFG1-4 | 1 | 0 | 0 | X |
4 | CFG1-5 | 0 | 1 | 0 | X |
5 | CFG1-6 | 0 | 1 | 1 | X |
6 | CFG1-7 | 1 | 0 | 0 | X |
7 | CFG2-3 | 0 | 1 | 0 | X |
8 | CFG2-5 | 0 | 0 | 1 | X |
![]()
四、U-Boot啟動
重新上電,在出現 Hit any key to stop autoboot: 倒計時的時候按下鍵盤上的回車鍵,就會進入 uboot 的命令行模式。

當進入到 uboot 的命令行模式以后,左側會出現一個 “=>” 標志。
uboot 啟動的時候會輸出一些信息:
第1行:uboot 版本號和編譯時間,可以看出當前的 uboot 版本號是 2020.10,編譯時間是 2022 年 9 月 3 日晚上 18 點 25 分。
第3、4行:CPU 信息,可以看出當前使用的 CPU 是飛思卡爾的 I.MX6ULL(I.MX 以前屬于飛思卡爾,然而飛思卡爾被 NXP 收購了),頻率為 792MHz,但是此時運行在 396MHz。這顆芯片是工業級的,結溫為-40°C~105°C。
第5行:復位原因,當前的復位原因是 POR。I.MX6ULL 芯片上有個 POR_B 引腳,將這個引腳拉低即可復位 I.MX6ULL。
第6行:板子名字,當前的板子名字為 “MX6ULL 14x14 EVK”。
第8行:提示當前板子的 DRAM(內存)為 512MB。
第9行:提示當前板子的 NAND (內存)為 512MB。
第10行:提示當前板子有一個 MMC/SD 卡控制器:FSL_SDHC(0)。
第11行:提示當前板子通過 NAND 方式啟動。
第12~14行:標準輸入、標準輸出和標準錯誤所使用的終端,這里都使用串口(serial)作為終端。
第15行:網口信息。
4.1 查看幫助
輸入 help

4.2 查看U-Boot版本
輸入 version

關鍵字:USB OTG
引用地址:
IMX6ULL學習筆記(6)——通過USB OTG燒錄U-Boot(MfgTool工具)
推薦閱讀最新更新時間:2025-04-01 21:49
imx6ull之linux內核移植
開發板:飛凌 OKMX6ULL-S + 7寸電阻屏 交叉編譯工具鏈:gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf linux內核:linux-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2 一、內核編譯 1、將內核通過ftp上傳至linux虛擬機,解壓:tar -jxvf linux-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2 2、修改Makefile cd linux-imx-rel_imx_4.1.15_2.1.0_ga/ vi Makefile 跳至252行(252G),復制2行(
[單片機]
了解汽車應用USB充電器設計面臨的挑戰
汽車信息娛樂市場的最新進展需要高效率和低占用空間的供電(PD)解決方案。減少物料清單的傾向促使USB電源應用將更多功能和職責集成到單個IC中。電池供電的便攜式設備的激增導致汽車中用于為設備電池充電的USB插座或端口的數量增加。本應用筆記描述了與汽車應用中USB充電器相關的設計和系統挑戰。 介紹 通用串行總線 (USB) 是一種接口標準,用于在外圍設備和現代計算設備之間提供電力和通信。它由一組公司于1991年開發,目前由USB互動論壇(USB-IF)監督。該接口標準使制造商和消費者更容易在計算機和外圍設備之間共享數據和電源,包括但不限于鍵盤、鼠標、手機、平板電腦等。USB-IF不斷更新USB標準以包含額外的功能,自推出以來,已經
[嵌入式]
?Pulsiv發布了效率超高的65W USB-C設計,可將溫度降低30%,采用集成半有源橋,效率高達96%
2024年8月22日: 位于英國劍橋的電力電子技術創新企業Pulsiv Limited宣布推出效率超高*的65W USB-C GaN優化參考設計,該設計旨在解決電源中的復雜熱性能挑戰。 這一備受期待的突破性開發成果將提供其他設計中所未有的獨特功能和優勢組合,必將徹底改變USB-C快速充電領域。 PSV-RDAD-65USB參考設計將Pulsiv OSMIUM技術與行業標準的準諧振反激變換器和高度優化、超緊湊的磁性組件相結合。 它能大幅降低工作溫度、盡量減小損耗并縮小尺寸,引領了一系列突破功率轉換現有邊界的設計,旨在打造一個可持續的USB-C標準平臺。 Pulsiv的首席產品官Tim Moore博士 一直負責該設計的開發,他
[電源管理]
全集成汽車 USB Type-A 和 USB Type-C 充電器控制芯片
簡介 汽車中控系統通常都會提供一個 USB 充電端口,該端口需要在傳輸數據的同時為移動設備充電。對這些系統而言,選擇帶 USB 限流開關的汽車級 IC 非常重要。本文將介紹 MPS 的 USB 充電端口降壓變換器 MPQ4228-C-AEC1,以及如何將其高效率的優勢應用于 USB 集線器和其他 USB Type-C 、USB Type-A 應用中。 MPQ4228-C-AEC1 MPQ4228-C-AEC1 提供了一種集成降壓開關模式變換器和 USB 限流開關的 USB 充電解決方案(見圖 1)。它支持 BC1.2 CDP 模式和 USB Type-C 5V @ 3A DFP 模式,并采用小尺寸 QFN-22 (4mmx4m
[嵌入式]
意法半導體STM32 USB PD MCU 現支持 UCSI 規范,加快Type-C供電廣泛應用
2023 年 7 月 24 日,中國 —— 意法半導體STM32 微控制器 (MCU)軟件生態系統 STM32Cube新增一個USB Type-C? 連接器系統接口(UCSI)軟件庫,加快USB-C供電(PD)應用的開發。 X-CUBE-UCSI是一款UCSI 認證的總包整體方案,組件包含即用型硬件和使用STM32 MCU充當UCSI PD控制器實現標準化通信的固件示例。 客戶可以直接復制粘貼這些參考設計,并從優化的物料清單(BoM)成本中受益。 該軟件允許 MCU 連接系統主處理器,使用 UCSI 協議與操作系統交換信息,同時控制 USB-C 連接和 PD 協議。主處理器可以是系統芯片(SoC)、應用處理器或 S
[單片機]
埃萬特推出采用可持續原材料制成的無鹵阻燃熱塑性彈性體等級產品,適用于USB-C電纜護套
埃萬特推出采用可持續原材料制成的無鹵阻燃熱塑性彈性體等級產品,適用于USB-C電纜護套 中國上海,2023年6月27日——今日, 埃萬特集團擴充了旗下reSound? BIO生物基及reSound? REC含回收成分熱塑性彈性體(TPE)產品組合,推出了全新的含有回收成分和生物基樹脂的新款無鹵阻燃(HFFR)等級產品。 消費類電子市場越發需要采用可持續原材料制成的產品,且在不影響產品性能及加工性的前提下符合嚴苛的阻燃合規要求(如USB-C連接器電纜護套),故此,埃萬特推出了這款全新等級的產品系列以滿足不斷增長的市場需求。 埃萬特亞洲區特種工程材料事業部總經理徐韜 表示:“消費電子產品品牌商和制造商不斷地尋求材料解決方案以提
[工業控制]
4444四通道USB隔離示波器的性能指標及應用特點
PicoScope4444不僅僅適用于差分測量,它的功能更甚于一臺具備優越差分測量通用示波器。 PicoScope軟件提供了諸如串行總線解碼,模板測量容限試通道運算,軟件提供了諸如串行總線解碼、模板測量、容限測試、通道運算及自動測算等諸多免費功能。 關鍵指標: 4路真差分輸入 柔性12位或14位垂直分辨率 20MHz帶寬 高達400MS/s采樣率 256MS捕獲存儲 高共模抑制比 平衡高阻抗輸入,用于低負載電路 智能探頭界面 使用信號通道測量差分信號 測量非接地參考信號 在生物和電子信號中抑制共模電壓 帶1000VCATⅢ探頭,實現安全單端和3相電壓測量 測量移動和物聯網設備的功率曲線
[測試測量]
STM32F429的USB有坑?
最近某項目需要用到USB與CAN: 拿到這樣的需求,我們當然是先得保證通訊正常。于是我找了一個USB例程與一個CAN例程,分別調試驗證。 經過幾番折騰已經保證了USB與上位機能正常通訊了,也能保證了CAN的正常收發(拿了兩塊開發板做驗證)。 兩頭都沒有問題了,再加上一些數據處理就差不多完成了。USB與CAN我都是第一次用,沒想到那么順利,美滋滋,正準備放松的時候,問題就來了。這是一個整體的東西,最終都要把這兩部分集合起來吧。 我把CAN工程里關于CAN的部分移到USB工程里,這時候CAN竟然用不了了。這時候我就開始在懷疑自己是不是手賤誤刪了哪里了,于是重新來一遍,發現還是不行。 查了代碼很久也沒找出什么錯誤了,
[單片機]