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