要解决一个问题就怕不知道怎么搜索,或是别人没有遇到过:

同样碰到Keil MDK Debug调试无法设置断点问题,首先来问百度,GOOGLE,一下是我搜索到的结果:

 

1、keil 不能设置断点,每次点调试都出现以下对话框, 有几个按钮不能点。

解决办法:购买正版Keil或够找破解包,worldsing笔记里有(仅供学习用),商业请支持正版;

 

2、软件能Debug, 硬件无法Debug, 硬件仿真Debug时提示:

**JLink Warning: T-bit of XPSR is 0 but should be 1. Changed to 1.

 

解决办法:仿真器有问题,Keil 与仿真器驱动不匹配,找到KEIL的安装目录里的Segger文件夹,里面有4个主要的文件:

JL2CM3.dll
JLink.exe
JLinkARM.dll
JLTAgdi.dll

把这几个DLL换成老版本的。

 

 

3、部分C代码行不能设置断点,如第4行无法设置断点

 

解决办法:修改C/C++编译选项,默认是Leve 0(O0) 即不做优化。

 

 

4、无法软件仿真, 无法运行到main()

 

解决办法:Target Options –> Output –> Debug information 勾上

 

 

 

5、在Keil 在RAM中无法设置断点

解决办法:STM32 在MDK Keil下,RAM中进行调试,可设置断点

 

 

6、Keil调试时提示:

*** error 65: access violation at 0x40021008 : no 'write' permission

*** error 65: access violation at 0x40021004 : no 'read' permission

 

解决办法:选择的CPU型号与代码不符合,Target Options –> Device换个大容量型号的或该代码

 

7、Keil Debug时部分C文件无法设置断点,代码能正在Flash运行,这个是笔者遇到的问题,没有

搜到解决答案,试过以上6中方法 都没能得到解决。如下图所示60的代码能正常运行,但就是不能

打断点,也没有被优化。

 

解决办法:查看不能打断点的C文件是否含有内嵌汇编代码或是否含有汇编C函数,把汇编代码提出来,调试

完毕后再合并成原来的文件。

 

Keil MDK 无法设置断点【worldsing】的更多相关文章

  1. keil MDK注意事项

    1.MDK中的char类型的取值范围是? 在MDK中,默认情况下,char 类型的数据项是无符号的,所以它的取值范围是0-255.它们可以显式地声明为signed char 或 unsigned.因此 ...

  2. Keil MDK下如何设置非零初始化变量

    一些工控产品,当系统复位后(非上电复位),可能要求保持住复位前RAM中的数据,用来快速恢复现场,或者不至于因瞬间复位而重启现场设备.而keil mdk在默认情况下,任何形式的复位都会将RAM区的非初始 ...

  3. Keil MDK下如何设置非零初始化变量(转)

    源:Keil MDK下如何设置非零初始化变量 一些工控产品,当系统复位后(非上电复位),可能要求保持住复位前RAM中的数据,用来快速恢复现场,或者不至于因瞬间复位而重启现场设备.而keil mdk在默 ...

  4. Keil MDK下如何设置非零初始化变量(复位后变量值不丢失)

    一些工控产品,当系统复位后(非上电复位),可能要求保持住复位前RAM中的数据,用来快速恢复现场,或者不至于因瞬间复位而重启现场设备.而keil mdk在默认情况下,任何形式的复位都会将RAM区的非初始 ...

  5. Keil MDK入门---从新建一个工程开始

    熟悉Keil C51的朋友对于Keil MDK上手应该比较容易,毕竟界面是很像的.但ARM内核毕竟不同于51内核,因此无论在设置上还是在编程思想上,都需要下番功夫研究的.本文以MDK V4.03为例, ...

  6. 转:Keil MDK从未有过的详细使用讲解

    来自:http://blog.csdn.net/zhzht19861011/article/details/5846510 熟悉Keil C 51的朋友对于Keil MDK上手应该比较容易,毕竟界面是 ...

  7. Keil MDK从未有过的详细使用讲解

    转自博客:http://blog.csdn.net/zhzht19861011/article/details/5846510 这博主关于MDK 的使用的文章,写的得TM的好  TM的实用! 真心收藏 ...

  8. Keil MDK从未有过的详细使用讲解(转)

    这博主关于MDK 的使用的文章,写的得TM的好  TM的实用! 真心收藏! 熟悉Keil C 51的朋友对于Keil MDK上手应该比较容易,毕竟界面是很像的.但ARM内核毕竟不同于51内核,因此无论 ...

  9. KEIL MDK 5.12帮你快速建工程模板的技巧

    KEIL 5帮你快速建工程模板的技巧 本人使用keil mdk 5.12有一段时间了,发现keil mdk 5.12里面驱动库比较方便.这个新功能可以节省我们的时间,也可以让初学者能尽快上手和掌握这个 ...

随机推荐

  1. 安卓从业者应该关注:Android 6.0的运行时权限

    Android 6.0,代号棉花糖,自发布伊始,其主要的特征运行时权限就很受关注.因为这一特征不仅改善了用户对于应用的使用体验,还使得应用开发者在实践开发中需要做出改变. 没有深入了解运行时权限的开发 ...

  2. Linux如何在虚拟机中挂载iso yum源

    首先,将作为源的iso的挂载到系统上. 代码如下: mount -o loop /dev/cdrom /mnt/iso/ 或者 mount -o loop /xxx/xxx.iso /mnt/iso/ ...

  3. java:I/O 往原文件追加内容

    原来txt内容: "我要添加内容" import java.io.*; class Test { public static void main(String[] args) { ...

  4. open/write/read

    C语言中open函数 作用:打开和创建文件. 简述: 1 2 3 4 #include <fcntl.h> int open(const char *pathname, int flags ...

  5. 【原创】基于ZYNQ7000的交叉编译工具链Qt+OpenCV+ffmpeg等库支持总结(二)

    承接上文http://www.cnblogs.com/bombe1013/p/3294301.html,我们接下来说说Qt的移植与安装. 很喜欢Qt这个库以及Qt creater这个IDE,其实个人觉 ...

  6. 命令行下玩VC

    说明:(1)转载请注明出处:http://www.cnblogs.com/opangle/p/4298155.html (2)以下以VS2013为例,并假设VC安装路径为%VC_INSTALL_PAT ...

  7. bzoj2757

    非常神的数位dp,我调了几乎一天首先和bzoj3131类似,乘积是可以预处理出来的,注意这里乘积有一个表示的技巧因为这里质因数只有2,3,5,7,所以我们可以表示成2^a*3^b*5^c*7^d,也就 ...

  8. PHP如何大幅度提升运行效率? -- 把它编译成机器码!

      书接上回   今天讨论如何大幅度提升PHP的运行效率. 在这,我们不纠结神马单双引号.全局变量.OO.require_once.错误抑制.... 在这,我们也不讨论APC.opcache.XCac ...

  9. OS.ENVIRON()详解

    OS.ENVIRON()详解

  10. memcached性能监控

    在上文“在Windows .NET平台下使用Memcached”中,我给大家介绍了如何在Windows平台上部署Memecached服务端,如何在.NET平台中应用Memcached,详细介绍了两种流 ...