专家论道丨如何确保烧录数据的正确性和完整性?
:如何确保烧录数据的正确性和完整性?
烧录器最基本也是最重要的功能就是将数据(源文件)正确和完整地烧录到芯片当中。但如何理解所谓的“正确性和完整性”呢?一般认为最简单“粗暴”的方法就是将烧录后的数据回读出来,和源文件进行比较(校验),“一致”则认为是烧录过程是正确和完整的,“不一致”就认为是烧录器有问题。殊不知事情远没有那么简单,我们对“正确性和完整性”也不应该这样简单理解。
为了讨论这个问题,我们先厘清如下几个定义:
源文件、烧录文件和读取文件的定义
1.源文件
源文件一般由客户使用编译器生成,文件格式有HEX、BIN、S19、ocfg等。源文件的数据要烧录到芯片当中。
2.烧录文件
力捷丰OPTEEQ烧录器(以SG400为例)首先会通过配套的“烧录管理软件”将“源文件”转换成“烧录工程文件”(后缀.opj)。这个“烧录工程文件”是由后缀为.opd的“烧录文件”(bin文件形式)和后缀为.sct的“配置文件”组成。

3.读取文件
是指烧录完成后,通过烧录器读取芯片后生成的文件。
*下图有助于大家理解如上的三个文件的定义:

读取文件的内容与源文件或烧录文件不一致?
客户经常在烧录后对芯片内容进行读取并将读取内容与源文件进行比对来判断烧录内容是否正确。通常这种方式是有效的,但在有些情况下虽然烧录过程正确、完整,但读取文件的内容与源文件或烧录文件会不一致。
“源文件”与“烧录文件”不一致可能是由以下原因造成:
- “源文件”由多个文件组成
有些时候,“源文件”是由多个文件组成的。OPTEEQ烧录管理软件在创建工程时会将多个源文件合并成一个“烧录文件”,合并过程中若文件内容有重叠(多个源文件中包含同一个地址)或有地址超出芯片可用地址范围的情况,可能会导致数据不一致。
- 填充数据不一致
合并过程中会对一些区域数据(根据芯片手册的要求)用0x00或0xFF进行填充。在有些芯片对填充格式没有规定时,“源文件”和“烧录文件”可能因填充值不同导致不一致。
- 存在不可逆场景
“源文件”转换为“烧录文件”的过程,存在有不可逆的场景,如虚地址、数据重叠、数据超出芯片范围等情况。
“烧录文件”与“读取文件”不一致可能由以下原因造成:
1.烧录过程中添加了动态数据(如序列号等);
2.芯片中存在特殊区域(如HSM区域);
3.芯片中存在特殊寄存器;
4.芯片完成烧录,在重新上电后,芯片就会自动运行刚刚烧进去的程序。这个程序很可能会修改存储单元中的数据,如果此时再去读芯片里的内容的话,读出来的内容就不一定和“烧录文件”一致了。
因此,尽管烧录过程没有任何问题,“源文件”、“烧录文件”和“读取文件”经常会出现不一致的现象。那么,如何验证烧录过程的“正确性和完整性”呢?
烧录校验一般有三种方式
Checksum & CRC校验
Checksum校验和CRC校验都是烧录后芯片自己把校验值计算出来放到固定的寄存器,烧录器去“抓取”这个校验值,然后和“烧录文件”的校验值对比,以此判定烧录的数据是否正确。这两种校验方式可靠性很高,错误率几乎为0。

*我们在工程中为了方便大家跟踪也加入了源文件的CRC值
回读校验
如果想保证数据完全一致,可以选择回读校验:在烧录过程中(而不是烧录完成后)把芯片存储单元内的数据读出然后和“烧录文件”中的数据逐个进行对比。我们认为采用这种方式的可靠性最高。但回读校验的缺点是整个烧录流程的耗时会延长很多。因为相对于“擦除”和“烧录”这两个步骤,“读取”这个操作是最慢的。
总结
最后再分享一下我们的经验:1.大部分客户都会选择Checksum校验或者CRC校验,因为一方面校验效率高,另一方面产线后面还有功能测试等环节来验证烧录完整性和正确性。2.在绝大多数情况下,客户反馈烧录不正确导致电路板功能不正常,最后排查下来,很多原因都指向“源文件”本身的问题(比如错用旧版的源文件,或者其它产品的源文件)。因此,使用MES系统等对源文件加强管控,可以有效避免此类误判的发生。
相关推荐
-
展会风采丨第二届英飞凌汽车创新峰会精彩回顾
996月28日,第二届英飞凌汽车创新峰会(IACE)暨第十一届汽车电子开发者大会在苏州国际会议中心圆满落幕。作为汽车电子行业烧录工具的领军者,银牌参展商力捷丰科技应邀出席,力捷丰科技为国内外客户展示出精彩纷呈的展会现场。
查看全文 -
力捷丰科技参加PNP移动出行创新加速营第二次聚焦周活动
4901在汽车产业价值链重构的过程中,汽车和出行领域的技术革新面临新的调整。未来的出行载体将不再是单调的出行工具,移动出行也将从传统的单一独立研发模式,转变为多领域的跨界合作。2021年4月1日至4月2日,作为“移动出行第四期创新加速营”的十家甄选入营企业之一,继...
查看全文 -
FS84xx/FS85xx转接模块 —— 力捷丰烧录器配件系列介绍(2)
246力捷丰OPTEEQ品牌的烧录器,对于某些芯片烧录时需要搭配特定的转接模块一起使用。在对恩智浦MC33FS8430、MC33FS8530等芯片进行烧写时,需要控制VDDI2C、DBG、VSUP、CSB、WAKE等信号的时序,并且各信号高电平电压等级不同,所以使用力捷丰S4/S8系列量产烧录器时,需...
查看全文 -
官宣 —— 力捷丰科技登场英飞凌IADC 2018
286911月2日,主题为“新跨越,智飞驰”的英飞凌汽车电子开发者大会(IADC)2018在上海浦东嘉里大酒店隆重召开。来自天南海北的700余名行业大咖、业界精英和专家学者齐聚一堂,分享汽车电子领域的前沿技术、展示研发成果、探讨未来方向、推动行业发展。 作为英飞凌的官方...
查看全文