痞子衡嵌入式:飞思卡尔i.MX RT系列MCU量产神器RT-Flash用户指南
RT Flash
English | 中文
1 軟件概覽
1.1 介紹
RT-Flash是一個專為基于NXP i.MX RT系列芯片的產(chǎn)品量產(chǎn)而設(shè)計的工具,其功能與官方MfgTool2工具類似,但是解決了MfgTool2工具在實際量產(chǎn)使用中的一些痛點:
- 使用MfgTool2僅能在xml中指定.sb文件,無法直接在GUI里選擇.sb文件;
- 使用MfgTool2僅能選擇USB端口,無法使用UART端口;
- 使用MfgTool2的USB端口下載時,有時無法識別某些端口連接,必須要加Hub方可識別;
- 使用MfgTool2批量下載時,最多只能支持4塊板卡;
借助于RT-Flash,你可以輕松實現(xiàn)批量生產(chǎn)。RT-Flash主要功能如下:
- 支持i.MXRT全系列MCU,包含i.MXRT1015、i.MXRT1021、i.MXRT1051/1052、i.MXRT1061/1062、i.MXRT1064 SIP
- 支持UART和USB-HID兩種串行下載方式(COM端口/USB設(shè)備自動識別)
- 支持下載.sb格式的image文件進啟動設(shè)備
- 支持批量下載多個.sb格式的image文件(同一文件夾下)
- 支持批量下載多個板卡(板卡數(shù)量不限)
1.2 下載
RT-Flash完全基于Python語言開發(fā),并且源代碼全部開源,其具體開發(fā)環(huán)境為Python 2.7.15 (32bit)、wxPython 4.0.3、pySerial 3.4、pywinusb 0.4.2、PyInstaller 3.3.1(或更高)。
- 源代碼: https://github.com/JayHeng/RT-Flash
- 用戶手冊:https://www.cnblogs.com/henjay724/p/10776084.html
- 問題反饋:https://www.cnblogs.com/henjay724/p/10776095.html
RT-Flash在發(fā)布時借助PyInstaller將所有的Python依賴全部打包進一個可執(zhí)行文件(\RT-Flash\bin\RT-Flash.exe),因此如果不是對RT-Flash的二次開發(fā),你不需要安裝任何Python軟件及相關(guān)庫。
Note1: 源代碼包里的RT-Flash.exe是在Windows 10 x64環(huán)境下打包的,也僅在該環(huán)境下測試過,如果因系統(tǒng)原因無法直接使用,你需要先安裝 Python2.7.15 x86版本 (安裝完成后確認(rèn)\Python27\, \Python27\Scripts\目錄被添加到系統(tǒng)環(huán)境變量Path里),然后在\RT-Flash\env\目錄下點擊do_setup_by_pip.bat安裝開發(fā)RT-Flash所依賴的Python庫,最后點擊do_pack_by_pyinstaller.bat重新生成RT-Flash.exe可執(zhí)行文件。
Note2: 必須使用Python2 x86版本去打包RT-Flash,因為RT-Flash使用了pywinusb庫,該庫在Python2 x64版本下無法用PyInstaller打包,pywinusb作者沒有計劃修復(fù)該問題。
1.3 安裝
RT-Flash是一個是純綠色免安裝的工具,下載了源代碼包之后,直接雙擊\RT-Flash\bin\RT-Flash.exe即可使用。使用RT-Flash沒有任何軟件依賴,不需要額外安裝任何軟件。
在RT-Flash.exe圖形界面顯示之前,會首先彈出一個控制臺窗口,該控制臺會伴隨著RT-Flash.exe圖形界面一起工作,很多圖形界面的操作都會在控制臺窗口看到對應(yīng)的底層命令執(zhí)行,保留控制臺主要是為了便于定位RT-Flash.exe的問題,目前RT-Flash尚處于早期階段,等后期軟件成熟會考慮移除控制臺。
1.4 目錄
RT-Flash軟件目錄組織如下:
\RT-Flash\apps --放置NXP官方評估板示例.sb格式image文件\bin --放置RT-Flash可執(zhí)行文件\env --放置用于安裝RT-Flash開發(fā)環(huán)境以及打包腳本\gui --放置開發(fā)RT-Flash UI構(gòu)建工程文件\img --放置RT-Flash使用過程中需加載的圖片\src --放置開發(fā)RT-Flash的所有Python源代碼文件\tools --放置RT-Flash使用過程中需調(diào)用的外部程序\blhost --與Flashloader通信的上位機命令行工具\sdphost --與ROM通信的上位機命令行工具1.5 界面
下圖為RT-Flash工具的主界面,界面主要由四部分組成,各部分功能如下:
- 【Menu Bar】:功能菜單欄,提供軟件通用設(shè)置。
- 【Setup Window】:設(shè)置欄,提供MCU Device選項、串行接口選項。
- 【Download Window】:下載主界面,提供對目標(biāo)設(shè)備做一鍵下載操作。
- 【Status Bar】:狀態(tài)欄,顯示軟件運行狀態(tài)信息。
2 準(zhǔn)備工作
在使用RT-Flash工具前主要有兩個準(zhǔn)備工作:一、準(zhǔn)備好i.MXRT硬件板以及串行下載連接線(USB/UART);二、準(zhǔn)備好用于下載進Flash的.sb格式源文件。
關(guān)于串行下載線連接,需要查看i.MXRT參考手冊System Boot章節(jié),確保連接的UART/USB引腳是BootROM指定的。
關(guān)于.sb格式源文件準(zhǔn)備,可借助NXP-MCUBootUtility工具(v1.2.0版本及以上),NXP-MCUBootUtility能夠識別五種常見格式(elf/axf/srec/hex/bin)的源image,并且能夠?qū)⒃磇mage文件轉(zhuǎn)換成.sb格式文件。
如果只是為了快速驗證RT-Flash工具,在RT-Flash\apps文件夾下默認(rèn)存放了全系列恩智浦官方i.MXRT評估板的led_blinky應(yīng)用的.sb格式文件。
3 軟件使用
3.1 設(shè)置目標(biāo)芯片
在使用RT-Flash時首先需要配置目標(biāo)設(shè)備,目標(biāo)設(shè)備即MCU Device。以NXP官方開發(fā)板EVK-MIMXRT1060為例,該開發(fā)板主芯片為i.MXRT1062DVL6A,所以【RT Device】應(yīng)設(shè)為i.MXRT106x。
3.2 設(shè)置下載端口
設(shè)置好目標(biāo)設(shè)備之后,下一步便是連接目標(biāo)設(shè)備,以USB-HID接口連接為例,給EVK-MIMXRT1060板子供電,并用USB Cable將PC與J9口連接起來,如果一切正常,應(yīng)該可以在設(shè)備管理器找到vid,pid為0x1fc9,0x0135的HID-compliant vendor-defined device設(shè)備被枚舉。如果沒有發(fā)現(xiàn)該HID設(shè)備,請仔細(xì)檢查板子SW7撥碼開關(guān)是否將Boot Mode設(shè)為2'b01即Serial Downloader模式。
確認(rèn)HID設(shè)備存在之后,選中USB-HID即可。
3.3 點擊一鍵下載
選中要下載的.sb文件,直接點擊【Start】按鈕便可將.sb文件下載進啟動設(shè)備。如果成功下載,【Successful Boards】里數(shù)值會變成1,此外狀態(tài)欄里會顯示"Application image file (.sb) has been downloaded successfully!"。
3.4 批量下載
3.4.1 批量多文件
如果你想一次性下載多個.sb文件,你需要將這些文件放置于同一個文件夾,然后在工具里第二個【Browse】下選中這個文件夾(注意必須保證第一個【Browse】按鈕里的路徑是空),然后直接點擊【Start】按鈕便可。
3.4.2 批量多板卡
如果你想一次性下載程序進多個板卡,你需要在板卡設(shè)置欄【Connected】填入實際連接板卡數(shù)(填入數(shù)值后必須按鍵盤上的Enter鍵來確定),以USB接口為例,此時你會看到【Detected】里會顯示實際識別板卡數(shù),最終下載以實際識別板卡數(shù)為準(zhǔn)。然后直接點擊【Start】按鈕便可。
如果選擇的是UART接口,你必須在【RT Port Index】里逐一選中每個Port進行具體設(shè)置,并保證右側(cè)狀態(tài)均為"Already Set"。
3.5 在HAB Closed情況下
當(dāng)芯片HAB狀態(tài)處于Closed的情況下,此時需要將你生成的含簽名的flashloader文件放置于RT-Flash指定目錄下(此處以RT106x為例),并且文件必須命名為ivt_flashloader_signed.bin。
除此以外,還需確保bltargetconfig.py文件里的兩個變量與你的含簽名flashloader文件相匹配。
總結(jié)
以上是生活随笔為你收集整理的痞子衡嵌入式:飞思卡尔i.MX RT系列MCU量产神器RT-Flash用户指南的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VS中使用nasm汇编编译器的方法
- 下一篇: PTA 7-222 sdut-C语言实验