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

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

3天内不再提示

Flash的误操作不当致使程序丢失或被错误改写

AGk5_ZLG_zhiyua 来源:YXQ 2019-08-06 16:54 次阅读

芯片贴板后跑不起来?Flash里面的数据在使用过程中莫名改变或不翼而飞?重新下载程序后又可以运行?这究竟是为什么呢?

1

用户代码对Flash的误操作不当引起程序丢失或被错误改写

例如,在有对Flash写入或擦除操作的代码中,如果用户误调用了写入或擦除函数或者由于程序跑飞而恰好执行了Flash擦除或写入函数,这自然会导致数据丢失或改变。针对以上情况,可以在程序中设置多个允许操作的变量,当执行写入或擦除操作时,对这些变量进行判断,只有条件全部满足时,才执行相应的操作。

在一些不需要进行擦除或写入操作的系统中,对存储区进行写保护或擦除保护设置,能有效的防止数据被意外修改。做到了写入或擦除的可控性,基本可以避免此种情况发生。

图1 Flash保护

2

电源失效

图2 电源噪声严重

电源电压的异常可能会导致系统单片机系统工作异常的现象,如输出电压小于单片机系统工作所需的最小电压,输出电压不干净,噪音严重等,这些很容易引起单片机内部电路的逻辑紊乱,Flash的读写信号处于不稳定状态。可能产生满足Flash的写操作,从而给系统带来严重的损害。

针对以上情况,可以在系统中加入电源监控芯片或使能MCU本身的电源监控电路,在电源异常的情况下禁止对Flash区域操作。

3

系统时钟不稳定

无论对于内部Flash还是外部Flash,系统时钟的不稳定,都将导致MCU得不到可靠的工作时序信号,从而在读写Flash时产生不可预料的后果。

4

环境干扰

环境干扰的可能原因很多,如生产过程中的高温焊接、静电、使用环境的温湿度,强磁场等,都可能影响到Flash或整个系统的稳定。环境干扰的因素很多,在此不展开讨论。

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

    关注

    10

    文章

    1549

    浏览量

    146637
  • 数据
    +关注

    关注

    8

    文章

    6511

    浏览量

    87587

原文标题:为何你的Flash数据会不翼而飞?

文章出处:【微信号:ZLG_zhiyuan,微信公众号:ZLG致远电子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    易灵思FPGA flash操作原理

    易灵思FPGA flash操作原理分享
    的头像 发表于 04-09 15:03 462次阅读

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

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

    Tasking误操作导致MCU锁怎么解决?

    硬件环境:infineon TriBoardDebugger:Start Kit(TriBoard自带调试接口0) 在Tasking中Boot Mode Header中由于错误操作选择了
    发表于 02-20 07:03

    导致PLC信号干扰的错误操作

    以下是一些可能导致PLC(可编程逻辑控制器)信号干扰的错误操作
    的头像 发表于 01-22 10:05 217次阅读

    ug内部错误,内存访问违例怎么解决

    ug内部错误,内存访问违例怎么解决 内部错误和内存访问违例是编程中常见的问题,它们可能会导致应用程序崩溃、数据丢失或系统不稳定。在本文中,我将详细解释内部
    的头像 发表于 12-27 16:27 3292次阅读

    变频电源在误操作时常见的故障及处理方法?

    等。然而,由于变频电源的复杂性和操作不当可能导致的问题,误操作时会发生各种故障。本文将详尽、详实、细致地介绍变频电源在误操作时可能发生的故障及相应的处理方法。 首先,变频电源在
    的头像 发表于 11-13 16:04 375次阅读

    实战经验 | 一个 Flash 编程错误标志的探析

    FLASH时, 发现 FLASH 的状态寄存器显示编程错误(如图 1 所示). 问题是当前代码还没有开始擦除和编程, 怎么就有了编程错误标志了呢 ? 如果不将此
    的头像 发表于 11-10 17:45 358次阅读

    如何FPGA内部的RAM进行读改写操作

    存储器是FPGA设计中的常用单元,对存储器的操作,最基础的就是读写操作,还有一种就是读改写操作,即先读出存储器中的数据,对其进行修改后,再写入存储器。这样的
    的头像 发表于 09-28 16:53 1801次阅读
    如何FPGA内部的RAM进行读<b class='flag-5'>改写</b><b class='flag-5'>操作</b>

    变电所常规防误操作装置的作用

    误操作装置的作用是防止误操作,应达到五防的要求:防止误拉合断路器;防止带负荷拉合隔离开关;防止带接地线合闸;防止带电挂接地线;防止误入有电间隔。变电所常规防误操作装置有机械闭锁、电气闭锁、电磁闭锁
    的头像 发表于 09-21 14:11 827次阅读

    如何通过代码改写N76E003 config?

    的配置值去烧录config,于是就想在代码 里挽回工人的失误,在代码里用IAP方式改写成自己想要的配置值。 好多工程师错误的做法:在代码开始阶段直接写config,这样一来就是每次芯片复位重启都会去写
    发表于 09-01 08:30

    PCBA制造和使用过程发生操作不当的维护方法

    在SMT生产和使用过程中,不可避免的会在整个PCBA制造过程和使用过程中发生操作不当,包括加工错误
    发表于 06-16 16:51 203次阅读

    如何防止BGA拆焊台在使用过程中的误操作?-智诚精展

    BGA拆焊台在使用过程中,如果误操作了,会对整个维修过程带来很大的影响,因此需要采取措施避免误操作。那么,如何防止BGA拆焊台在使用过程中的误操作呢? 一、先理解安装步骤 关于BGA拆焊台的安装
    的头像 发表于 06-14 11:26 301次阅读
    如何防止BGA拆焊台在使用过程中的<b class='flag-5'>误操作</b>?-智诚精展

    Flash基本操作——Flash工具1(3)#多媒体技术

    FlaSh
    未来加油dz
    发布于 :2023年05月24日 10:46:17

    Flash基本操作——Flash基础(2)#多媒体技术

    FlaSh
    未来加油dz
    发布于 :2023年05月24日 10:44:22

    Flash基本操作——Flash基础(1)#多媒体技术

    FlaSh
    未来加油dz
    发布于 :2023年05月24日 10:43:53