深入探讨FLASH被非法改写的问题

发布时间:2023-10-30  

问题描述:某STM32客户反馈, 当STM32F407V芯片频繁的正常通断电的时候,FLASH 会被非法改写,出现各种各样的异常(整片被擦除、中断向量表被改写、写保护被清除等等)。


经过与跟客户沟通了解到 :

•他们是延续之前的项目,进行的一些软硬件简单修改。之前的项目没有出现过类似的问题。

•确认通断电的时间是足够,即断电后所有的VDD都回到0;上电的时序也正常。

•原理图参考了ST相关开发板的参考设计。

•测量工作时的电压,除了发觉上电时会有一些抖动外,其它一切正常。尝试让他们改善上电电路,去掉这一抖动,再次实验,仍然出现类似的问题。

到这里似乎跟硬件没关联了, 接着对客户代码进行删减又做了如下实验:

1,去掉APP 部分代码,仅仅留下IAP代码。做相同的实验,问题再现。

2,进一步删减程序,去掉程序中所有跟flash以及OPTION BYTE 相关的部分,做相同的

实验,问题依旧。

3,没招,再删,最后仅仅留下下面程序:

客户反应只要调用了delay_init函数就会出问题,不调用就不会出问题(仅仅做了一天的实验)。到这里似乎跟软件有关系了,我们进一步分析发现他们改写了我们的systick的config函数,那么我就做下一个实验。

1,改为标准库中的systick例程,去掉写保护,加一个GPIO定时翻转程序。同时在烧录之后,加上写保护,做相同的实验,问题再现。

2,改为标准库中的systick例程,去掉写保护,加一个GPIO定时翻转。同时在烧录之后,加上写保护,做相同的实验,问题还是再现。

3,到这里我们有点怀疑是芯片真的有损伤了。我们又用cubemx生成了一个GPIO翻转和systick的延时,做相同的实验,问题照旧。

4,到此,我们一方面请芯片设计人员做进一步确认,看看芯片是否真的坏了。同时,我们抱着怀疑一切的态度,请客户的硬件工程师再次确认他们的硬件和原理图的一致性,我们怀疑他们的硬件是否有装错的元器件。主要集中在MCU周边。最后他们的工程师反馈,STM32的PDR_ON脚,板子上装的元器件跟原理图不一致。他们把R47和R48都装了,那么相当于在PDR_ON上是一个0.6v的电压,也就是关断了MCU内部复位。

真是山穷水尽疑无路,柳暗花明又一村,看来问题应该跟内部复位有关。

查看STM32F407数据手册,可以看到相关信息。

从上面规格书来看,STM32F407V的内部复位电路可以选择性开启或关闭,如果选择关闭mcu内部的复位电路,需要在外部接一个复位监测电路保证VDD达到正常工作电压之前一直使MCU处于复位状态。而这里,客户本意并不想关闭内部复位,外部也没有相应的电源监测复位电路。既然这样,根据手册描述,PDR_ON脚接到VDD即可。具体到这里,去掉R48这个1k欧姆的电阻。重做实验验证,异常消失。


结论

其实之前也碰到过另外西安客户发生过频繁上电不工作的情况。因他们是使用了旧的数据手册,没有把PDR_ON脚拉到VDD 所致。

对于ST MCU来说,这个PDR_ON引脚有的封装是被引出来了,有的封装没有引出,如果没有引出的是默认使能内部复位功能,如果引出的话,大家也要当心有的型号是拉低使能内部复位;有的是拉高使能内部复位,设计和使用时注意这点。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    倍频系数在计算时出现了错误。 好了,现在问题的原因找到了,我们该怎么解决呢? 有两种方式解决,第一种是改宏定义,使CFGR_PLLMull_Mask能够完整的取到正确的倍频系数(本人没有采用这种方式,因为倍频系数不连续,处理......
    变频器出现过电压报警问题的解决;用变频器来控制风机,停车时在惯性作用下电机不停而发生了再生电,变频器出现过电压报警的问题,应该怎么解决,下面一起来了解下。 变频器过电压报警的问题 变频......
    汽车传感器故障怎么解决;  汽车传感器故障怎么解决   汽车传感器故障最常见的两个故障解决办法:   进气压力温度传感器。   损坏现象:   ①ON档,发动机故障灯常亮;   ②原地......
    输出声音小将会很简单。   功放机输出无声音故障如何解决   大家家里如果有功放的话就比较清楚,使用过程中也会出现一些大大小小的问题,比如说功放机输出无声音故障,大家知道该怎么解决吗?虽然说是声音问题,但是......
    如何解决视频监控的死角问题;在安装安防监控设备已经广泛的得到应用的基础上还是频频发生失盗事件,专业人士查看依旧才知道是因为监控出现死角,盗窃者趁虚而入而刚好没有被发现。那么在面对各种环境以及监控容易出现的死角时应该怎么解决......
    伺服系统震动怎么解决?(经典问答之一);一、数控铣床,打开电源和系统,伺服电机嗡嗡响,响几分钟之后伺服电机会发热,调小刚性后不响了,但铣出来的圆不像圆,该怎样调? 应该......
    话筒或麦克风出现噪音应该怎么解决?;作为一个安防工作人员,除了各种安防相关技能外,还有许多看起来不相干的知识也是需要有一定程度了解的,比如有关于话筒或是麦克风设备的一些常见问题。 今天......
    取得超声波换能器等大功率容性负载的问题,该怎么解决呢? 安泰测试针对这类情况为客户提供一套完美的解决方案,用高压放大器来放大信号发生器产生的电压和功率,在测量各种电信系统或电信设备的振幅特性、频率特性、传输特性及其它电参数时,以及......
    走进办公大门后,总有员工跑到自己面前说:“我昨天的工作遇到了一些问题,请问该怎么解决?” 这个时候,很多管理者会发现,当你听完下属员工的工作汇报后发现这件事情并没有得到彻底解决......
    字有所缓和;2018-2019年,只增长了4.8%。 对此,陈磊打趣道:“这个数字该怎么解读呢?看看我们周边的同事和朋友就知道了。用开玩笑的话来说,‘从事半导体行业的人,只要是能创业的并想创业、敢创业的,基本......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>