--
  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)功能已经非常完备,你还是可以在此基础上再添加自己想要的功能。如此神器,还不快快去下载试用?

痞子衡嵌入式:如果你正在量产i.MX RT产品,不妨试试这款神器RT-Flash的更多相关文章

  1. 痞子衡嵌入式:MCUBootUtility v2.3发布,这次不再放过任何一款Flash

    -- 痞子衡的 NXP-MCUBootUtility 开源项目自2018年8月27日第一笔提交至今已有21个月,目前累计代码已近50000行.相信这个工具为大家开发 i.MXRT 项目提供了一些便利, ...

  2. 痞子衡嵌入式:串行NOR Flash的页编程模式对于量产时间的影响

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是串行NOR Flash的页编程模式对于量产时间的影响. 任何嵌入式产品最终都绕不开量产效率话题,尤其是对于主控是非内置 Flash 型 ...

  3. 痞子衡嵌入式:RT-MFB - 一种灵活的i.MXRT下多串行NOR Flash型号选择的量产方案

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是一种灵活的i.MXRT下多串行NOR Flash型号选择的量产方案. 对于以 i.MXRT 这类没有内部 NVM (Non-Volati ...

  4. 痞子衡嵌入式:MCUBootFlasher v3.0发布,为真实的产线操作场景而生

    -- 痞子衡维护的NXP-MCUBootFlasher工具(以前叫RT-Flash)距离上一个版本(v2.0.0)发布过去一年半以上了,这一次痞子衡为大家带来了全新版本v3.0.0,从这个版本开始,N ...

  5. 痞子衡嵌入式:微控制器CPU性能测试基准(EEMBC-CoreMark)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是微控制器CPU性能测试基准CoreMark. 在嵌入式系统行业用于评价CPU性能指标的标准主要有三种:Dhrystone.MIPS.Co ...

  6. 痞子衡嵌入式:一种i.MXRT下从App中进入ROM串行下载模式的方法

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT下在App中利用ROM API进ISP/SDP模式的方法. 我们知道i.MXRT系列分为两大阵营:CM33内核的i.MXRT ...

  7. 痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU硬件那些事(2.5)- 串行NOR Flash下载算法(IAR EWARM篇)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是IAR开发环境下i.MXRT的串行NOR Flash下载算法设计. 在i.MXRT硬件那些事系列之<在串行NOR Flash XI ...

  8. 痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU硬件那些事(2.6)- 串行NOR Flash下载算法(MCUXpresso IDE篇)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是MCUXpresso IDE开发环境下i.MXRT的串行NOR Flash下载算法设计. 在i.MXRT硬件那些事系列之<在串行N ...

  9. 痞子衡嵌入式:可通过USB Device Path来唯一指定i.MXRT设备进行ROM/Flashloader通信

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是通过USB Device Path来唯一指定i.MXRT设备进行ROM/Flashloader通信. i.MXRT系列高性能微控制器从2 ...

随机推荐

  1. EF SaveChanges() 报错(转载)

    最佳答案 报这个错是因为,提交了主键重复的数据,虽然未提交到数据库中 但是现在的EF上下文中已经包含了我提交的数据,下次在提交正确数据时, 原来添加到上下文中的数据依然还在..如何处理这个问题呢?   ...

  2. c# API接受图片文件以文件格式上传图片

    /// 文件图片上传 /// </summary> /// <returns>成功上传返回上传后的文件名</returns> [HttpPost] public a ...

  3. 【Java】模拟Sping,实现其IOC和AOP核心(二)

    接着上一篇,在上一篇完成了有关IOC的注解实现,这一篇用XML的方式实现IOC,并且完成AOP. 简易的IOC框图 注解的方式实现了左边的分支,那么就剩下右边的XML分支: XmlContext:这个 ...

  4. 【Java深入研究】2、JDK 1.8 LinkedList源码解析

    LinkedList是一个实现了List接口和Deque接口的双端链表. 有关索引的操作可能从链表头开始遍历到链表尾部,也可能从尾部遍历到链表头部,这取决于看索引更靠近哪一端. LinkedList不 ...

  5. 如何把string转换char*类型

    需要调用string头文件  ( #include<string> ) 用string里的函数c_str()可以把string转换为char* 例如 char * c_str2=str1. ...

  6. sqlserver每行都有累加,你怎么搞,窗口函数来帮忙!!!

          在统计中我们经常会面临复杂的查询,例如累加,最近也遇到一个很好的例子,今天我们一起来看看:       有一个关于销售数据的视图,字段有:emptyid(员工编号),ordermonth( ...

  7. JAVA 和.NET在安全功能的比较

    以下转载于: http://www.it28.cn/ASPNET/825159.html 本文根据Denis Piliptchouk的文章翻译.摘录而来,有些术语翻译不太好理解,还请参考原文. 第一部 ...

  8. Linux原理总结 。。。更新中

    问题: 1.32位和64位Linux系统的区别是什么? 答:64位系统CPU运行速度快,支持更大的内存,能够更好的发挥服务器硬件的性能,提高业务效率 2.描述Linux分区的知识(包括设备名.主分区. ...

  9. 使用windows命令和iconv.exe批量转换文件编码

    iconv是知名的开源跨平台编码转换库,iconv.exe是iconv库在windows下的命令行工具,iconv.exe的一般用法:iconv.exe -f gbk -t utf-8 gbk.txt ...

  10. 记录C/C++中遇到的一些小问题

    1. printf 比如 char a = \x90; printf("%02x", a); 想输出为90,没想到却是ffffff90,这个问题害我一个程序老是出错 最终发现只要改 ...