1532|0

3836

帖子

19

TA的资源

纯净的硅(中级)

楼主
 

MSP430FR5949IDAR FRAM中应用程序内存区域中代码会有个别字节被篡改 [复制链接]

我们使用的芯片型号为MSP430FR5949IDAR,编程软件为IAR,通过IAR生成的文本文件烧写进入片子的FRAM中。设备运行一个月左右,发现FRAM中应用程序内存区域中代码会有个别字节被篡改,导致程序运行不正常。对于造成代码被更改的可能原因我们尚未有明确的判断,希望原厂能给些建议,谢谢!

 

请问现在运行的环境是怎样的?噪声大吗?是否有可能是电压不稳或者波动,导致内部被误操作了?

出现问题的芯片概率大约是多少? 被篡改的位置固定吗,数值呢?

 

1、我们出现问题的产品尚未安装到现场,只经过出厂测试,到现场做到货检测时发现的问题,这个过程中并没有比较大的噪声;

2、出现概率大约是6000只中有150只左右,被篡改位置并不固定,可看下面的一些截图;

(注:右侧为正常代码,左侧为异常代码)

产品1位置:

 

产品2位置:

 

产品3位置:

MSP430 issue.docx

 

刚烧进去的时候测试正常吗?若是正常说明当时烧进去的时候是对的。

后来随着时间的推移出现数据不对的话,可能是电压,温度,湿度,电离辐射等对芯片产生了干扰。

现在程序内有针对flash的操作吗?

 

我们是有写操作的,就是目前出现问题的几个地方比较随机,并不是我们指定的地址,我们写操作的位置是固定的位置,并且与应用程序代码(出现篡改的位置)有一定的间隔和距离。
图中标注的这些位置是我们固化的一个BOOT程序,从地址0x4400到0x63FF我们是不做写操作的。现在发生这样的问题,不知道是不是什么机制的问题,我们没有主动去进行写入操作,而是产生什么被动的写入操作。这中间从运行正常到运行异常期间程序是自己在独立运行的(出厂到供货现场,尚未安装),没有外部噪声干扰的。所以除了意外的写入操作,还有没有什么其他问题会产生这种状况。之前您那有没有遇到类似的情况做参考,因为您那样本量更大。 还有一般的Flash写操作是有解锁环节的,咱们铁电的FRAM读写更容易,环节要少,是不是有什么处理这种意外写入的措施。

 

有可能影响Flash的数据的因素如下
1. 代码意外操作,比如堆栈溢出造成的误擦写
2. 超过芯片Datasheet允许的电气参数,比如ESD
3. 硬件设计,电源,时钟等

避免代码被修改的话,可以利用密码保护 JTAG;或通过在 FRAM 中对熔丝位标识进行编程来完全禁用 JTAG。 如果 JTAG 已禁用,则只能通过引导加载程序 (BSL) 访问器件。 BSL 需要密码才可读出或接收数据。

请参考
查看详情

 

 
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表