恩智浦半導體2017年10月正式發佈了業內首款跨界處理器—i.MX RT系列,超強的性能、超高的性價比使得i.MX RT系列火遍大江南北,一度成為基於MCU的產品主控首選,尤其是那些對於性能有較高要求的產品,客戶工程師更是苦盼i.MX RT久矣。經過一年多的評估與研發期,目前基於i.MX RT的產品... ...
--
RT產品落滿地,客戶工廠生產急;
痞子衡出新神器,從此量產不費力!
恩智浦半導體2017年10月正式發佈了業內首款跨界處理器—i.MX RT系列,超強的性能、超高的性價比使得i.MX RT系列火遍大江南北,一度成為基於MCU的產品主控首選,尤其是那些對於性能有較高要求的產品,客戶工程師更是苦盼i.MX RT久矣。經過一年多的評估與研發期,目前基於i.MX RT的產品已全面開花,客戶工廠正在火熱生產中,然而不少客戶在實際量產中遇到了恩智浦官方i.MX RT量產工具MfgTool2使用上的一些小問題,痞子衡經過與客戶溝通與工廠實地考察,瞭解了客戶在MfgTool2實際量產使用中的限制,決定為客戶排除這些限制,提升客戶滿意度,於是閉關一周潛心碼代碼,如今已順利出關,併為大家帶來了一款全新的量產工具RT-Flash。
一、MfgTool2工具現狀
恩智浦官方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工具經過客戶的實際量產使用反饋,隱含如下四個主要限制,且聽痞子衡一一解析:
限制一:sb文件僅能在xml文件中指定
如果你用過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文件情況相一致。這無疑增加了工人操作複雜度。
限制二:僅能使用USB介面下載,無法使用UART
MfgTool2工具僅支持USB介面去下載.sb文件,因此客戶工程師在設計產品時為了量產需要必須要引出USB介面。如果客戶產品設計里本來就有USB介面設計,那沒有問題;但如果客戶產品設計里本不需要USB介面,此時僅僅是為了量產而引出USB介面,這對於客戶產品設計來說有點浪費成本。
如果量產工具能夠支持UART介面去下載.sb文件,那麼客戶僅需引出兩根UART引腳即可,這種情況客戶工程師一般是能夠接受的。
限制三:有時候無法識別USB連接,必須加Hub方可識別
MfgTool2工具支持USB介面去下載.sb文件,當客戶板卡連上PC時,會有新的HID-compliant設備枚舉出來(在設備管理器里查看)。
MfgTool2工具能夠自動識別該USB設備的連接,從工具界面上可看到左上角狀態由"Unassigned"變為了連接上的USB設備的位置信息(Hub 6 -- Port 3),此時表明MfgTool2已經找到板卡,可以開始下載操作了。
但有的時候,在某些客戶工廠的電腦上,當連接上板卡後,雖然可以在設備管理器上看到HID-compliant設備已正常枚舉,但是MfgTool2工具沒能正確識別到,工具右上角狀態仍為"Unassigned",這時候客戶可能需要加一級Hub或者更換一臺電腦重新再試。這在一定程度上增加了量產工作量,影響量產效率。
限制四:批量生產最多僅能支持4塊板卡
MfgTool2工具支持多板卡批量下載。在\Flashloader_RT1050_1.1\Tools\mfgtools-rel\UICfg.ini文件里將PortMgrDlg的值由1改為4,重新打開MfgTool2工具,便會看到如下全新界面:
如果此時電腦上同時連接4塊板卡,只需一次點擊,MfgTool2便會將.sb文件內容按序下載進4塊板卡,這就是所謂的批量下載。既然能批量下載,那當然支持的板卡同時連接數越多越好,但是MfgTool2最大隻能支持4塊板卡,不免讓客戶覺得意猶未盡。
二、全新量產神器RT-Flash
上一節講完了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的開源項目,其項目地址為 https://github.com/JayHeng/RT-Flash, 核心代碼只有3000多行,雖然當前版本(v2.0.0)功能已經非常完備,你還是可以在此基礎上再添加自己想要的功能。如此神器,還不快快去下載試用?