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

    文章

    1715

    浏览量

    154705
  • 数据
    +关注

    关注

    8

    文章

    7314

    浏览量

    93982

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    CW32L052 FLASH存储器介绍

    均为 0xFF。 如果对未解锁的 FLASH 页面进行页擦除操作,或者对*正在运行的程序[^1]*进行擦除操作,会操作失败,产生
    发表于 12-05 08:22

    操作的常见错误与应对策略

    (一)误操作其他位的防范 在进行位操作时,一个常见的错误就是误操作其他位,这可能导致系统出现意想不到的行为。为了避免这种错误,使用位掩码是
    发表于 11-24 07:50

    STM32C011开发(3)----Flash操作

    STM32C011 系列微控制器内置 Flash 存储器,支持程序存储与数据保存,具备页面擦除、双字写入、读写保护等功能。本文将简要介绍 STM32C011 的 Flash 结构与特性,并通过实际代码示例,讲解
    的头像 发表于 09-18 16:48 3628次阅读
    STM32C011开发(3)----<b class='flag-5'>Flash</b><b class='flag-5'>操作</b>

    SPI NOR FLASH是什么,与SPI NAND Flash的区别

    存储一位数据 (01) ,可以直接寻址,寻址速度非常快。SPI NOR FLASH支持全双工、单工以及半双工传输方式,广泛应用于嵌入式系统中,如Bootloader、操作系统内核等
    的头像 发表于 08-21 09:26 1106次阅读

    接光纤接头时需要避免什么操作

    接光纤接头时,操作不当会导致信号损耗增加、连接不稳定甚至光纤损坏,因此需严格避免以下关键错误操作,并遵循规范流程: 一、清洁与防护类错误 未彻底清洁光纤端面 风险:灰尘、油污
    的头像 发表于 07-15 10:24 730次阅读

    oracle数据恢复—oracle数据库误执行错误truncate命令如何恢复数据?

    oracle数据库误执行truncate命令导致数据丢失是一种常见情况。通常情况下,oracle数据库误操作删除数据只需要通过备份恢复数据即可。也会碰到一些特殊情况,例如数据库备份无法使用或者还原
    的头像 发表于 06-05 16:01 608次阅读
    oracle数据恢复—oracle数据库误执行<b class='flag-5'>错误</b>truncate命令如何恢复数据?

    存储示波器触发电平设置不当会导致什么后果?

    ±0.001 过高(4V)随机值随机值 二、设置不当的常见原因 [td]原因分类具体场景 用户误操作手动调节触发电平时误触旋钮,未根据信号幅值调整(如直接使用默认值0V)。 信号特性不匹配测量低幅值信号
    发表于 05-29 14:13

    MCU片上Flash

    保留能力,支持多次擦写操作,是MCU程序存储的核心介质。 主要类型‌ NOR Flash‌:支持随机访问,可直接运行代码,适用于实时性要求高的场景。 NAND Flash‌:需通过RA
    的头像 发表于 05-06 14:26 862次阅读

    记忆示波器设置有哪些常见错误

    振铃)。 解决方案: 使用示波器校准信号调整探头补偿电容。 二、水平设置错误 时间基准(Time/div)选择不当 错误:时间档位过小导致波形压缩,过大导致信号细节
    发表于 04-14 15:29

    绝对值编码器位置丢失是什么原因?有什么解决办法?

    绝对值编码器位置丢失可能由多种原因引起,以下是一些常见原因及相应的解决办法: 一、原因分析 1. 电源干扰:    ● 错误的电压、电流突然断电可能会影响编码器的读数,导致位置丢失
    的头像 发表于 03-16 17:17 3145次阅读

    服务器数据恢复—如何预防服务器故障与恢复服务器数据!

    服务器常见故障: 硬件故障:磁盘损坏、电池故障等。 软件问题:操作系统崩溃、未知的程序运行错误等。 病毒破坏:勒索病毒加密、删除服务器数据等。 不可控力量;服务器浸水、火烧、机房倒塌等导致服务器损坏和数据
    的头像 发表于 03-11 12:36 814次阅读

    stm32g474板卡偶发flash的某块代码区擦除怎么解决?

    flash擦除,每次擦除的都是同一个区域;导致卡在bootloader中,无法跳转,只能通过重新烧录解决;bootloader会有擦除flash操作,但是并没有单独针对这个块进行擦除
    发表于 03-11 07:47

    DLPLCRC410EVM PROM程序擦除了怎么办?

    怀疑是误操作ISE将DLPLCRC410EVM芯片组中的PROM芯片DLPR410a的程序擦除了,能提供一个mcs文件重新烧写吗?或者有啥其他解决办法?
    发表于 02-20 07:31

    GPIO错误排查与解决

    在嵌入式系统和微控制器编程中,通用输入输出(GPIO)是最常见的接口之一。然而,在使用GPIO时,我们可能会遇到各种错误。 1. 理解GPIO GPIO是微控制器上的一组引脚,可以配置为输入输出
    的头像 发表于 01-09 09:46 3716次阅读

    开关柜一键顺控如何防止开关柜电气误操作事故

    开关柜一键顺控技术通过自动化、智能化的方式提高了电力系统的运行效率、安全性和可靠性,是防止开关柜电气误操作事故的有效手段之一。同时,为确保电力系统的安全运行,还需要结合其他多种措施,如标准化管理、严格执行操作票和工作票制度、加强运行维护等。
    的头像 发表于 12-31 13:43 969次阅读
    开关柜一键顺控如何防止开关柜电气<b class='flag-5'>误操作</b>事故