_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遇到这样的问题,求分享
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
摘要: DSB 指令(数据同步指令):数据同步隔离。比 DMB 严格: 仅当所有在它前面的存储器访问操作
都执行完毕后,才执行在它后面的指令(亦即任何指令都要等待存储器访 问操作——译者注)
http://blog.csdn.net/guojing3625/article/details/16877639
一周热门 更多>