ADX调试出错:Can't halt target and make it enter DEBUG stat
H-FLASH 在check 的时候也报错:Memory read/write error -can't re-enter debug stat.
是前天都还能调试的.
是不是因为我昨天有个程序在调试时,我把GPH9/CLKOUT0 GPH10/CLKOUT1 输出方式改为了output方式.导致晶振 出问题了。
希望能帮忙解决。谢谢
有网友说:
芯片的FLASH被锁了。我用把ERASE脚拉高的方法解决了。但是怎么锁的还不清楚。不过有几个是在写程序时复位导致的,其它的就不清楚了。下面我看了DATASHEET那一段的描述:
片内(嵌入式)Flash 控制器(EFC)管理着16个锁定位以保护flash的16个区,防止这些区域被意外地擦除或编程。 每个
锁定区域包含32 页,共4K 字节。
如果对已经被锁住的区域进行擦除或编程,这些命令将终止,同时EFC 激发一个中断。
通过EFC 用户接口可以对16 个NVM 位实行软件编程。“ 设置锁定位” 命令启动保护操
作; “ 清除锁定位” 命令解除锁定区域的锁定状态。
将ERASE 拉高将清除所有的锁定位,从而将全部的Flash 解锁。
安全位的特点AT91SAM7S64有一个安全位。它是一个特殊的NVM位。当安全位使能时,对Flash的所
有访问,包括通过ICE接口或快速Flash编程接口,都被禁止。从而 保护了Flash的内容。
这个安全位只能通过EFC 用户接口的“ 设置安全位” 命令来使能。而禁止安全位只能通
过将ERASE引脚拉高,将整个flash 全部擦除。在安全位为禁止状态的情况下,对 flash
的所有操作都可以进行。
很重要的一点是,拉高ERASE 引脚的时间必须大于50 ms。
由于ERASE集成了下拉电阻, 在正常工作模式下这个引脚可以悬空。不过将它直接连接到GND 也是安全的。
其中的“这个安全位只能通过EFC 用户接口的“ 设置安全位” 命令来使能”
我在没有写程序的时候,这个安全位时怎么使能的?是不是上电时的某种时序或REST脚的电平变化引起的呢
但具体怎么搞呢?