初级会员

- 积分
- 112
- 金钱
- 112
- 注册时间
- 2017-10-10
- 在线时间
- 24 小时
|
1金钱
_void FLASH_Erase_Sector(uint32_t Sector, uint8_t VoltageRange)
{
uint32_t tmp_psize = 0;
assert_param(IS_FLASH_SECTOR(Sector));
assert_param(IS_VOLTAGERANGE(VoltageRange));
..............._
省略
...............
__DSB();
}_
运行到__DSB()指令后,jlink调试会停止run,报错如下:
_**JLink Warning: CPU could not be halted
***JLink Error: Can not read register 15 (R15) while CPU is running
***JLink Error: Can not read register 16 (XPSR) while CPU is running
***JLink Error: Can not read register 0 (R0) while CPU is running
...
省略
...
***JLink E_rror: Can not read register 64 (FPS31) while CPU is running__**
但是如果点击几下run后,调试恢复正常,代码开始全速run。
有没有人用stm32f7+hal操作内部flash遇到这样的问题,求分享
|
最佳答案
查看完整内容[请看2#楼]
谢谢原哥,我找到问题了,如图片所示。
问题没有出在代码上面。是MDK的memory监视+程序擦除sector过程导致调试冲突
|