Hi 我有个问题,LPC1778最近出现一个问题,bootloader跳app无法跳转,后来读取了整片芯片的flash,发现的问题是0x600-0x700这段扇区数据全部变成0xFF,但是对比正常的芯片,这段数据是正常代码区域,并不是全是0xFF,bootloader端有升级程序的代码操作,但是操作的区域不是这个起始地址,是很靠后面的起始地址,比较奇怪,这段数据区域突变成了0xFF,有什么办法检测出来,或者有什么状态寄存器可以显示flash跳变状态。目前无法查下去问题。
Hi, HaiFeng,
Flash擦除操作使得flash 数据由0变为1,flash编程操作使得flash 相应数据由1变为0. 作为测试,你可以执行编程操作将0x600-0x700这段扇区数据全部变成0x00, 然后运行你的程序,设定断电, 然后检查何处代码将这个扇区地址的数据全部变为0x0xff. 我怀疑是在哪儿执行了Flash擦除操作使得flash 数据变为0xff. 就像你所知道的, 没有任何寄存器可以显示flash数据发生了变化。但你可以构建一个函数来专门检测这个扇区的数据是否为0xff.
xiangjun rong