痞子衡嵌入式:如果你正在量产i.MX RT产品,不妨试试这款神器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。

一、MfgTool2工具现状

  恩智浦官方i.MX RT量产工具名为MfgTool2,其包含在Flashloader包里。以i.MXRT105x为例,可以在恩智浦官网i.MXRT105x产品主页的TOOLS & SOFTWARE下面找到该Flashloader包,当前Flashloader包版本为v1.1:

RT-Flash_RT1050Flashloader_webpage

  下载好Flashloader包后,打开\Flashloader_RT1050_1.1\Tools\mfgtools-rel\MfgTool2.exe便可看到该量产工具界面,界面非常简单明了,毕竟是量产工具嘛,要适合产线工人操作,理应越简单越好。

RT-Flash_MfgTool2_GUI

  不过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。

RT-Flash_sb_file_path

  这种.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设备枚举出来(在设备管理器里查看)。

RT-Flash_usb_hid_device

  MfgTool2工具能够自动识别该USB设备的连接,从工具界面上可看到左上角状态由"Unassigned"变为了连接上的USB设备的位置信息(Hub 6 -- Port 3),此时表明MfgTool2已经找到板卡,可以开始下载操作了。

RT-Flash_usb_hid_detected

  但有的时候,在某些客户工厂的电脑上,当连接上板卡后,虽然可以在设备管理器上看到HID-compliant设备已正常枚举,但是MfgTool2工具没能正确识别到,工具右上角状态仍为"Unassigned",这时候客户可能需要加一级Hub或者更换一台电脑重新再试。这在一定程度上增加了量产工作量,影响量产效率。

限制四:批量生产最多仅能支持4块板卡

  MfgTool2工具支持多板卡批量下载。在\Flashloader_RT1050_1.1\Tools\mfgtools-rel\UICfg.ini文件里将PortMgrDlg的值由1改为4,重新打开MfgTool2工具,便会看到如下全新界面:

RT-Flash_MfgTool2_GUI4

  如果此时电脑上同时连接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_mainWin

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

原文地址:https://www.cnblogs.com/henjay724/p/10793007.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


  译序:JWMediaPlayer是开源的网页使用的Flash播放器。本文采摘于JWPlayer的官方文档,讲解了JWPlayer对于RTMP的使用方法,我们可以从JWPlayer客户端的角度来了解RTMP协议。以下是官方原文:      简介    RTMP(RealTimeMessagingProtocol
    Flash编程原理都是只能将1写为0,而不能将0写成1.所以在Flash编程之前,必须将对应的块擦除,而擦除的过程就是将所有位都写为1的过程,块内的所有字节变为0xFF.因此可以说,编程是将相应位写0的过程,而擦除是将相应位写1的过程,两者的执行过程完全相反.一、Nor和NandFlash
 上传setenvgatewayip192.168.1.1;setenvserverip192.168.1.7;setenvipaddr192.168.1.156;mw.b0x820000000xff0x1000000sfprobe0sfread0x8200000000x1000000tftp0x82000000test.bin0x1000000 下载mw.b82000000ff1000000tftp82000000test.bi
Error:FlashDownloadFailed-"Cortex-M3"出现一般有两种情况:1.SWD模式下,Debug菜单中,Reset菜单选项(Autodetect/HWreset/sysresetReq/Vectreset)默认是AutoDetect,改成SysResetReq即可。2.Jtag模式下,主要是芯片大小选错。Flash->ConfigureFalshTools配置窗口,切换到“Utilities"
jPlayer是一个用于控制和播放mp3文件的jQuery插件。它在后台使用Flash来播放mp3文件,前台播放器外观完全可以使用XHML/CSS自定义。支持:有一点比较好的是,在支持html5的浏览器上会使用html5的标签audio或者video,而不支持的浏览器上使用swf来播放选择需要播放的Mp3文件。播放、暂停
#ifndef__FONTUPD_H__#define__FONTUPD_H__#include"sys.h" //字库信息结构体定义33字节__packedtypedefstruct{u8fontok;//字库存在标志,0XAA,字库正常;其他,字库不存在u32ugbkaddr;//unigbk的地址u32ugbksize;//unigbk的大小u32f12addr;//gbk12地址u32g
ROM(ReadOnlyMemory)和RAM(RandomAccessMemory)指的都是半导体存储器。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,但是访问速度快。典型的RAM就是计算机的内存。RAM有两大类,一种称为静态RAM(StaticRAM/SRAM),SRAM速度非常快,是目前读写最快的存储
JSpc端和移动端实现复制到剪贴板功能实现在网页上复制文本到剪切板,一般是使用JS+Flash结合的方法,网上有很多相关文章介绍。随着HTML5技术的发展,Flash已经在很多场合不适用了,甚至被屏蔽。本文介绍的一款JS插件,实现了纯JS方法复制文本到剪切板。插件名是Clipboard.js,该插件不依
例子:R0=1R1=1R2=10R3=e000ed10R12=0LR=fffffff9(中断返回值)PC=0PSR=60000013或60000016或60000036(Z、C、EXCEPT_NUM:RTC_WKUP_IRQn、EXTI0_IRQn、USART2_IRQn)BFAR=e000ed38(不关心)CFSR=20000(INVSTATE:Invalidstateusagefault thePCvaluestackedf
 内存接口概念首先来分析下操作GPIO控制器和操作UART控制器两者的区别如图是S3C2440是个片上系统,有GPIO控制器(接有GPIO管脚),有串口控制器(接有TXDRXD引脚)配置GPIO控制器相应的寄存器,即可让引脚输出高低电平;配置UART控制器相应的寄存器,即可让引脚输出波形。前者相对简单,类
小编导语:    近几年来,网页游戏成为了游戏界关注的焦点,由于其制作简单,成本低并且收益率较高,因此成为了众多游戏厂商追逐的对象,但是除了商家夸张的炒作宣传外,很少有页游佳作出现。然而,随着Unity3D游戏引擎的出现,网页游戏的3D化成了页游冲出重围的杀手锏,那么在flash网页游戏称
1.指定数组到特定的Flash单元#pragmalocation=0x000FFF00 __rootconstcharFlash_config[]={0x0,0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0xA,0xB,0xC,0xD,0xE,0xF,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,0x20,0x21,0x22,0x23,0
继续研究发现,计算机的固件真的很有趣。参考了一些重要的资料,比如http://donovan6000.blogspot.com/2013/06/insyde-bios-modding-advanced-and-power-tabs.html等,对于IDA的使用也了解了一些。最后,总结一下目前看来可行性的方案:0.基础知识储备,包括UEFIBIOS的概念,InsydeBIOS的
<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>navigator对象<itle></head><body><buttononclick="checkFlash()">检测</button>
修改网上流传的flash-marker.js(function(global,factory){typeofexports==='object'&&typeofmodule!=='undefined'?module.exports=factory():typeofdefine==='function'&&define.amd?define(factory
shareObject本地缓存存储位置:win7系统用户到C:\Users\[你的用户名]\AppData\Roaming\Macromedia\FlashPlayer\#SharedObjects\XP或2003用户到:C:\DocumentsandSettings\用户名\ApplicationData\Macromedia\FlashPlayer\#SharedObjects\ ---------------------作者:iteye_
安装谷歌浏览器之后经常遇到Flash崩溃或者浏览器在浏览Flash内容时卡死的情况。在网上查找资料大多都认为应该是浏览器自带的Flash插件工作模式引起的问题,解决方法如下:首先在地址栏输入chrome://plugins/显示浏览器使用的插件。点击右上角的详细信息,可以看到Flash插件为进程外
之前一直使用的W25Q16spiflash都没问题,换了一款W25Q80后发现工作不正常,经过测试,初步定位到问题在于初始化SPI后是否将CS拉高。于是又去查看了一下原厂代码:发现原厂的代码初始化SPI接口时是专门拉高CS的。结论:网上很多代码初始化SPI接口时没有专门拉高CS,对某些型号可能确实
======================================================NANDFlash最小存储单元:写数据操作:通过对控制闸(ControlGate)施加高电压,然后允许源极(SOURCE)和汲极(RRAIN)间的N信道(N-Channel)流入电子,等到电流够强,电子获得足够能量时,便会越过浮置闸(FloatingGate)底下的二氧化硅层(S
安装CnarioPlayer3.8.1.156或其他版本时,有时会出现如下提示:Warning4154.AdobeFlashPlayer13...notcorrectlyinstalled:请前往AdobeFlash网站,并选择下图示的版本下载安装: