FLASH会被自动擦除, 有人遇到过类似的问题么?

root0312 2009-02-24 11:44:14
我使用的是ADuc7020这款MCU, 发现一个问题, 当MCU被频繁地上电/掉电的话, FLASH中的某一页会被自动擦除, 而其他页并无影响.
我在程序中看不出FLASH是被指令擦除的, 在勘误表中也没有找到有这个硬件BUG.
请问各位, 一般来说, 什么原因会导致FLASH中的内容会被改变?
有人遇到过类似的问题么? 我该如何解决呢?
谢谢.
...全文
626 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zyzhang365 2009-02-26
  • 打赏
  • 举报
回复
既然是这样,那么你的问题就应该是我说的原因了。
很多芯片内部复位电路做的都不是很好。

如果电压在下降(掉电)到某一个值时,CPU仍没复位这时PC值就能能错掉了;同样,在上升(上电)时,如果电压没有到某个值时,CPU过早的退出复位,PC值也可能会错掉。当程序跑飞时,如果这是PC正好指向你的flash擦除函数怎么办?

我觉得你有两种方法解决这个问题: 一种时加电源监控芯片;另外,看看芯片手册,是否有启动内部电源监控的寄存器可以配置,有的芯片是有这种功能的。
root0312 2009-02-26
  • 打赏
  • 举报
回复
我们没有片外监控电路, 程序中有FLASH擦写函数, 但我认为正常的话, 上电/掉电是没有机会执行相应的FLASH擦除函数的.
zyzhang365 2009-02-25
  • 打赏
  • 举报
回复
你按上面说的去调试了吗, 你说的我觉得就是电源监控有问题, 你使用了片外监控电路了吗? 程序里面有FLASH擦写的函数吗 ?
root0312 2009-02-25
  • 打赏
  • 举报
回复
问题没能解决, 顶一下吧.
schlafenhamster 2009-02-24
  • 打赏
  • 举报
回复
当MCU被频繁地上电/掉电时复位电路可能没真正复位.
zyzhang365 2009-02-24
  • 打赏
  • 举报
回复
用示波器看看电压和复位信号的关系是否满足要求。
zyzhang365 2009-02-24
  • 打赏
  • 举报
回复
想必你程序里面一定有FLASH编程的函数了。
这可能是程序跑飞造成的,电源监控有问题。
root0312 2009-02-24
  • 打赏
  • 举报
回复
还有, 这个问题并非一定会出现, 出现的时机并没有什么规律可循, 只是偶尔会出现这种现象.

27,374

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧