恩智浦半導體2017年10月正式釋出了業内首款跨界處理器—i.MX RT系列,超強的性能、超高的成本效益使得i.MX RT系列火遍大江南北,一度成為基于MCU的産品主要首選,尤其是那些對于性能有較高要求的産品,客戶工程師更是苦盼i.MX RT久矣。經過一年多的評估與研發期,目前基于i.MX RT的産品已全面開花,客戶工廠正在火熱生産中,然而不少客戶在實際量産中遇到了恩智浦官方i.MX RT量産工具MfgTool2使用上的一些小問題,痞子衡經過與客戶溝通與工廠實地考察,了解了客戶在MfgTool2實際量産使用中的限制,決定為客戶排除這些限制,提升客戶滿意度,于是閉關一周潛心碼代碼,如今已順利出關,并為大家帶來了一款全新的量産工具RT-Flash。
--
RT産品落滿地,客戶工廠生産急;
痞子衡出新神器,從此量産不費力!
恩智浦半導體2017年10月正式釋出了業内首款跨界處理器—i.MX RT系列,超強的性能、超高的成本效益使得i.MX RT系列火遍大江南北,一度成為基于MCU的産品主要首選,尤其是那些對于性能有較高要求的産品,客戶工程師更是苦盼i.MX RT久矣。經過一年多的評估與研發期,目前基于i.MX RT的産品已全面開花,客戶工廠正在火熱生産中,然而不少客戶在實際量産中遇到了恩智浦官方i.MX RT量産工具MfgTool2使用上的一些小問題,痞子衡經過與客戶溝通與工廠實地考察,了解了客戶在MfgTool2實際量産使用中的限制,決定為客戶排除這些限制,提升客戶滿意度,于是閉關一周潛心碼代碼,如今已順利出關,并為大家帶來了一款全新的量産工具RT-Flash。
恩智浦官方i.MX RT量産工具名為MfgTool2,其包含在Flashloader包裡。以i.MXRT105x為例,可以在恩智浦官網i.MXRT105x産品首頁的TOOLS & SOFTWARE下面找到該Flashloader包,目前Flashloader包版本為v1.1:

下載下傳好Flashloader包後,打開\Flashloader_RT1050_1.1\Tools\mfgtools-rel\MfgTool2.exe便可看到該量産工具界面,界面非常簡單明了,畢竟是量産工具嘛,要适合産線勞工操作,理應越簡單越好。
不過MfgTool2工具經過客戶的實際量産使用回報,隐含如下四個主要限制,且聽痞子衡一一解析:
如果你用過MfgTool2工具,你也肯定知道有一種特殊的檔案格式,即.sb檔案格式,這個檔案格式是專為i.MX RT産品量産而定制的專用格式,.sb檔案中除了包含基本的Application資料外,還包含了Boot Device配置資訊,以及Flash操作指令,此外還可能有efuse燒寫指令,可以說.sb檔案包含了i.MX RT産品量産所需要的所有操作。
MfgTool2工具就是用來專門解析和下載下傳.sb格式檔案的,客戶隻需要提供.sb檔案,其他量産工作全部交給MfgTool2就行了。但是要燒寫的.sb檔案是如何在MfgTool2工具裡指定的呢?MfgTool2工具主界面并未看到有選擇.sb檔案的控件,好吧,該是痞子衡解密的時候了,其實秘密藏在\Flashloader_RT1050_1.1\Tools\mfgtools-rel\Profiles\MXRT105X\OS Firmware\ucl2.xml檔案裡,使用任何一個文本編輯器打開這個xml檔案,找到"MXRT105x-DevBoot"(預設模式,由\Flashloader_RT1050_1.1\Tools\mfgtools-rel\cfg.ini檔案指定)對應的LIST,你會發現.sb檔案路徑\Profiles\MXRT105X\OS Firmware\boot_image.sb。
這種.sb檔案指定方法在實際工廠量産中會有一些不便,研發工程師生成好.sb檔案,往往在命名的時候會加入版本資訊予以差別,比如boot_image_v1.0.sb。這個.sb檔案發給工廠量産時,産線勞工拿到這個.sb檔案後,需要将其放在确定路徑下(比如\Profiles\MXRT105X\OS Firmware\),并且修改xml檔案裡的.sb檔案路徑内容,保證路徑名及.sb檔案名與量産現場電腦裡存儲.sb檔案情況相一緻。這無疑增加了勞工操作複雜度。
MfgTool2工具僅支援USB接口去下載下傳.sb檔案,是以客戶工程師在設計産品時為了量産需要必須要引出USB接口。如果客戶産品設計裡本來就有USB接口設計,那沒有問題;但如果客戶産品設計裡本不需要USB接口,此時僅僅是為了量産而引出USB接口,這對于客戶産品設計來說有點浪費成本。
如果量産工具能夠支援UART接口去下載下傳.sb檔案,那麼客戶僅需引出兩根UART引腳即可,這種情況客戶工程師一般是能夠接受的。
MfgTool2工具支援USB接口去下載下傳.sb檔案,當客戶闆卡連上PC時,會有新的HID-compliant裝置枚舉出來(在裝置管理器裡檢視)。
MfgTool2工具能夠自動識别該USB裝置的連接配接,從工具界面上可看到左上角狀态由"Unassigned"變為了連接配接上的USB裝置的位置資訊(Hub 6 -- Port 3),此時表明MfgTool2已經找到闆卡,可以開始下載下傳操作了。
但有的時候,在某些客戶工廠的電腦上,當連接配接上闆卡後,雖然可以在裝置管理器上看到HID-compliant裝置已正常枚舉,但是MfgTool2工具沒能正确識别到,工具右上角狀态仍為"Unassigned",這時候客戶可能需要加一級Hub或者更換一台電腦重新再試。這在一定程度上增加了量産工作量,影響量産效率。
MfgTool2工具支援多闆卡批量下載下傳。在\Flashloader_RT1050_1.1\Tools\mfgtools-rel\UICfg.ini檔案裡将PortMgrDlg的值由1改為4,重新打開MfgTool2工具,便會看到如下全新界面:
如果此時電腦上同時連接配接4塊闆卡,隻需一次點選,MfgTool2便會将.sb檔案内容按序下載下傳進4塊闆卡,這就是所謂的批量下載下傳。既然能批量下載下傳,那當然支援的闆卡同時連接配接數越多越好,但是MfgTool2最大隻能支援4塊闆卡,不免讓客戶覺得意猶未盡。
上一節講完了MfgTool2量産使用中的一些限制,現在該是新量産工具RT-Flash登場的時候了,讓我們先來看一些RT-Flash的主界面。與MfgTool2一樣,RT-Flash界面也是足夠簡單,并沒有太多花哨的東西,便于産線勞工操作,更重要的是MfgTool2使用上的四大限制在RT-Flash上統統不存在。有木有很驚喜?再告訴你一個好消息,你可以聯合NXP-MCUBootUtility工具(v1.3.0及以上)與RT-Flash工具一起使用,前者可生成.sb檔案,後者專門解析下載下傳.sb檔案,可謂珠聯璧合。
RT-Flash是一個專為基于NXP i.MX RT系列晶片的産品量産而設計的工具,其功能與官方MfgTool2工具類似,但是解決了MfgTool2工具在實際量産使用中的一些限制。借助于RT-Flash,你可以輕松實作批量生産。RT-Flash主要功能如下:
支援i.MXRT全系列MCU,包含i.MXRT1015、i.MXRT1021、i.MXRT1051/1052、i.MXRT1061/1062、i.MXRT1064 SIP 支援UART和USB-HID兩種串行下載下傳方式(COM端口/USB裝置自動識别) 支援下載下傳.sb格式的image檔案進啟動裝置 支援批量下載下傳多個.sb格式的image檔案(同一檔案夾下) 支援批量下載下傳多個闆卡(闆卡數量不限)
這麼好用的工具去哪裡下載下傳?其實RT-Flash是一個基于Python的開源項目,其項目位址如下。核心代碼隻有3000多行,雖然目前版本(v2.0.0)功能已經非常完備,你還是可以在此基礎上再添加自己想要的功能。如此神器,還不快快去下載下傳試用?
位址1: https://github.com/JayHeng/NXP-MCUBootFlasher 位址2: https://gitee.com/jayheng/NXP-MCUBootFlasher
文章會同時釋出到我的 部落格園首頁、CSDN首頁、知乎首頁、微信公衆号 平台上。
微信搜尋"痞子衡嵌入式"或者掃描下面二維碼,就可以在手機上第一時間看了哦。
最後歡迎關注痞子衡個人微信公衆号【痞子衡嵌入式】,一個專注嵌入式技術的公衆号,跟着痞子衡一起玩轉嵌入式。
衡傑(痞子衡),目前就職于恩智浦MCU系統部門,擔任嵌入式系統應用工程師。
專欄内所有文章的轉載請注明出處:http://www.cnblogs.com/henjay724/
與痞子衡進一步交流或咨詢業務合作請發郵件至 [email protected]
可以關注痞子衡的Github首頁 https://github.com/JayHeng,有很多好玩的嵌入式項目。
關于專欄文章有任何疑問請直接在部落格下面留言,痞子衡會及時回複免費(劃重點)答疑。
痞子衡郵箱已被私信擠爆,技術問題不推薦私信,堅持私信請先掃碼付款(5元起步)再發。