你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F4 程序代码被修改

[复制链接]
hc 提问时间:2022-3-18 14:50 / 未解决
收藏 评论7 发布时间:2022-3-18 14:50

举报

7个回答
废鱼 回答时间:2022-3-18 15:43:49

从结构上来分析,如果是程序的擦写操作是需要整个区域的擦除。只能从FLASH的电气上进行分析,P2576的电容是否可以导致ST的频繁复位?或者电气参数的影响。我之前遇到过其他的厂家可能是由于频繁的掉电复位导致部分的FLASH内容错误后,而不能正常工作。

还有是否考虑测试过升级操作,升级时导致前八个字节没有写入。

hc 回答时间:2022-3-18 15:06:14

你好,我们产品由一个控制器和两个传感器组成,控制器与两个传感器之间通过CAN网络连接。

控制器上CAN的收发芯片的电源通过P2576提供的5V进行供电。

现出现如下现象,由于控制器上的P2576的滤波大电容虚焊,客户端的产品在经过约270个小时的老化等一些列环境试验后滤波电容脱落,系统自检异常并报错。客户更换控制器后发现还是自检异常,因此怀疑传感器也一起损坏了,并将传感器寄回我方分析。

传感器的主控MCU使用的STM32F405,经过分析发现STM32F405的代码被部分修改了。如下图所示

16475868641.png

16475868901.png

这个结果使我们很困惑,按照STM32 FLASH的操作步骤来说,如果是程序中误将FLASH的数据修改,那也应该是先将整个扇区的数据擦除,不会出现只修改部分数据的情况。

hc 回答时间:2022-3-21 11:09:44

1.如果没有写入~~不是应该时0xFFFFFFFF吗?

2.被修改的时IAP(首地址:0x8000000)程序,软件通过该程序更新APP(首地址:0x8008000)程序。

3.控制器的电源(P2576)和传感器的电源是分开,P2576电容虚焊只会导致CAN网络上的CANH CANL的电平不正常。

废鱼 回答时间:2022-3-21 11:35:41

如果是这样就需要考虑一下是不是进行过升级操作,应用程序的升级是操作后面。是否有考虑过boot程序也被升级了?理论上分析,FLASH被修改的可能性比较小。如果是电气参数影响的,应该是在频繁掉电的情况下。

butterflyspring 回答时间:2022-3-21 19:07:52

有一种特殊情况,那就是复位不充分时,导致芯片未达到最低电压时开始工作,会有概率导致这样的异常。 同样原因,少数封装的F4有PDR_ON引脚,没有正确连接,也会在频繁上下电时会发生这种情况。 产品频繁上下电是一种极端情况,会对电源和复位有更高的要求。硬件设计时也需要考虑是否存在这种情况。

hc 回答时间:2022-3-25 18:00:42

上面的极端情况~设置FLASH扇区的写保护功能有改善的可能吗?

butterflyspring 回答时间:2022-3-29 11:46:21

hc 发表于 2022-3-25 18:00
上面的极端情况~设置FLASH扇区的写保护功能有改善的可能吗?

理论上应该不可能。复位不充分时,电压都没有到最低正常电压,这时候所有的状态都是不正常的,也就是芯片的各种功能都没有保障,不能期待它的正常,只能通过硬件方式来解决这样的问题。

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版