美文网首页
2018-03-13keil调试代码时出现CONNOT ASSE

2018-03-13keil调试代码时出现CONNOT ASSE

作者: 飞速遗忘 | 来源:发表于2018-03-13 20:15 被阅读0次

    stm32F103c8调试时,调用flash擦写函数会导致不能调试,删去擦除函数可调试。
    (下面这段是错的,解决办法在末尾,当然你也可以看看眼,bug见多了自然无bug)
    暂时的解决办法参考:http://blog.csdn.net/huruyiye_123/article/details/78849288

    环境:win10,keil(HAL库)

    上面链接里的解决办法:
    在HAL_FLASHEx_Erase(&EraseInitStruct, &PageError)函数里面,增加1ms延时,能解决此问题。


    图片.png

    分析可能的原因是:调试时使用的管脚与程序初始化时的管脚相冲突,所以在添加1ms延时后正常。
    注意看下面一段操作:
    (现在有1ms延时,能调试)

    1. 去掉擦写函数,延时没有实际效果,所有正常;
    2. 加上擦写函数,延时多少都不行,不能调试;

    我可能出现了幻觉!!(╯°口°)╯(┴─┴)
    当你走投无路时可以试试延时一下。反正我现在这个就是不能擦写flash( ´_ゝ`)

    然后我在keil工程里找*.map文件,打开后找Memory Map of the image发现我的代码从0x08000000写到地址0x08007300而我擦写flash的地址是0x08007000所以这才是原因所在。擦写地址与代码地址重叠导致Can not asess target。

    ps:这短短的几分钟大起大落和坐过山车一样,真是代码如戏。

    相关文章

      网友评论

          本文标题:2018-03-13keil调试代码时出现CONNOT ASSE

          本文链接:https://www.haomeiwen.com/subject/amrtqftx.html