0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

GReq_mcu168 来源:未知 作者:胡薇 2018-09-29 11:51 次阅读

问题描述:某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引脚有的封装是被引出来了,有的封装没有引出,如果没有引出的是默认使能内部复位功能,如果引出的话,大家也要当心有的型号是拉低使能内部复位;有的是拉高使能内部复位,设计和使用时注意这点。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FlaSh
    +关注

    关注

    10

    文章

    1536

    浏览量

    146591
  • STM32
    +关注

    关注

    2232

    文章

    10650

    浏览量

    347868

原文标题:FLASH被异常改写的问题分享

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    深入探讨电容的种类和作用

    深入探讨电容的种类和作用     你知道显卡为什么会花屏吗?
    发表于 11-27 15:00 1.5w次阅读

    STM32上下电内部flash改写的原因?

    基于STM32F405系列一个64pin MCU,在使用过程中,整机掉电更换另一个部件,再上电后发现这个产品不工作了。发回厂家发现STM32内部flash数据改写了,前几行改成了0
    发表于 03-25 08:24

    深入探讨DFM在PCB设计中的注意要点

    深入探讨DFM在PCB设计中的注意要点,大家说自己的经验,交流交流,学习学习。
    发表于 10-24 15:15

    stm32 uart硬件实现及深入探讨(单片机通信学习连载4)

    大家上午好!今天邀请了张角老师,来为大家深入讲解stm32 uart,视频为一个系列,本次为第四期内容,请持续关注,会持续进行更新!前期回顾:第三期:stm32 uart硬件实现及深入探讨(单片机
    发表于 06-29 11:10

    【视频】 stm32 uart硬件实现及深入探讨3

    大家上午好!今天来为大家深入讲解STM32 uart,视频为一个系列,请持续关注,会持续进行更新!有问题留言交流!上期回顾:stm32 uart硬件实现及深入探讨一键分析设计隐患,首款国产PCB
    发表于 09-17 09:44

    【视频】 stm32 uart硬件实现及深入探讨4

    大家上午好!今天来为大家深入讲解STM32 uart,视频为一个系列,请持续关注,会持续进行更新!有问题留言交流!上期回顾:stm32 uart硬件实现及深入探讨3一键分析设计隐患,首款国产PCB
    发表于 09-22 09:24

    OV7620_OV6620图像采集之深入探讨

    OV7620_OV6620图像采集之深入探讨
    发表于 09-25 16:13 189次下载

    深入探讨人工智能的实际应用

    导读:本文通过案例分门别类地深入探讨人工智能的实际应用。案例甚多,此处所列举的仅是九牛一毛。本该按行业或业务对这些案例进行分类,但相反我选择按在行业或业务中最可能应用的顺序来分类。
    的头像 发表于 11-11 10:33 2405次阅读
    <b class='flag-5'>深入探讨</b>人工智能的实际应用

    FLASH被异常改写

    FLASH被异常改写(嵌入式开发笔试题目)-某客户反馈, 当MCU 频繁的正常通断电的时候。FLASH 被异常改写,出现各种各样的异常(整片别擦除、中断向量表被
    发表于 07-30 11:04 29次下载
    <b class='flag-5'>FLASH</b>被异常<b class='flag-5'>改写</b>

    深入探讨超声波风速风向仪

    深入探讨超声波风速风向仪
    发表于 10-27 17:25 15次下载

    深入探讨交通安全统筹信息系统

    深入探讨交通安全统筹信息系统
    发表于 10-29 18:07 0次下载

    深入探讨医疗应用的未来发展趋势

    深入探讨医疗应用的未来发展趋势
    发表于 11-03 08:04 1次下载
    <b class='flag-5'>深入探讨</b>医疗应用的未来发展趋势

    深入探讨RF信号链

    在我们深入探讨之前,我们先来了解RF的实际含义。乍一看,这似乎是一个简单的问题。我们都知道,RF表示射频,此术语的通用定义规定了特定的频率范围:MHz至GHz电磁频谱。
    的头像 发表于 01-03 16:43 695次阅读

    深入探讨软件定义架构及其意义

    在上期文章中,我们了解了现代GNSS模拟中的软件定义架构,并与传统架构进行了对比,本期文章中我们将继续深入探讨软件定义架构及其意义。
    的头像 发表于 02-08 10:40 406次阅读
    <b class='flag-5'>深入探讨</b>软件定义架构及其意义

    深入探讨电源变压器在储能设备中的应用

    深入探讨电源变压器在储能设备中的应用  电源变压器在储能设备中的应用已经成为当代能源储备和利用的关键技术之一。随着可再生能源的不断发展和应用,储能设备的需求也越来越大。电源变压器作为储能设备中的关键
    的头像 发表于 02-02 09:44 268次阅读