Questions:当擦除 SPIM 的操作代码放置在非零等待区(NZW)时,可能导致程序执行异常、 进 hardfault 等错误。
Answer:
原因在于当擦除 SPIM 期间,如果有 cpu read main flash 的操作,会导致该 read 指令被误判断为去读
SPIM,导致该指令数据读错,从而导致程序异常等错误。
解决方法 1:
擦除前先关闭中断,擦除完成后再开启中断,并且将擦除过程的所有代码编译到零等待区执行。
解决方法 2:
擦除前先关闭中断,擦除完成后再开启中断,并且将擦除过程的所有代码编译到 SRAM 执行。
类型:MCU 应用
适用型号:AT32F403、AT32F413、AT32F403A/407
主功能:SPIM
次功能:无
|