欢迎来到我的博客:blog.csdn.net/u010495967 本文由CECEHANG原创,采用署名-非商业性使用-相同方式共享 4.0 国际版 (CC BY-NC-SA4.0)协议。
最近在用KEIL MDK debug程序时发现了一个小问题,程序运行到某个地方会出错,MDK卡死并且跳出调试状态。并且出现一个如下的弹窗:
查看了一下代码发现是某一个LCD的IO初始化配置时出错。这令我感到十分不解,因为我的程序能够正常运行,在LCD上也显示了正确的信息,可是在DEBUG时却出错。我调试了好一阵子,还是找不到问题的所在。之后,我去网上寻求帮助,发现也有一些网友遇到了这个问题,有的人解决方法是把文件路径名的中文改成了英文,也有的人更改DEBUG的选项。但我按照网上说法做了之后还是没有解决。后来不得不去看看国外的网友有没有遇到这样的情况。果然让我搜索到了一个与我有同样问题的帖子 electronics.stackexchange.com/questions/242045/stm32-shutting-down-debug-session 在帖子里面的讨论中有人提到“Check your pin settings - you might remap one of those SWD pins required for debugging. – Turbo J Jun 21 '16 at 9:42” 就是说这个IO和SWD所用的IO有冲突,所以在用SWD调试时会出现问题,甚至卡死程序。blog.csdn.net/u010495967 我所用的板子是ST公司的STM32F303DISCOVERY开发板,出现问题的IO口是PA14,当时我还在怀疑,如果这个IO口是SW调试需要的IO那么就不会被引出来吧。之后我查看了芯片的datasheet以及板子原理图发现了居然这个IO被连到了SW调试的CLK上面。
、
改掉IO后问题解决,看来以后使用别人做的板子要小心,注意看清原理图。 ———— 欢迎转载,转载请注明:作者及博客地址blog.csdn.net/u010495967
|