Keil MDK 无法设置断点【worldsing】
要解决一个问题就怕不知道怎么搜索,或是别人没有遇到过:
同样碰到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】的更多相关文章
- keil MDK注意事项
1.MDK中的char类型的取值范围是? 在MDK中,默认情况下,char 类型的数据项是无符号的,所以它的取值范围是0-255.它们可以显式地声明为signed char 或 unsigned.因此 ...
- Keil MDK下如何设置非零初始化变量
一些工控产品,当系统复位后(非上电复位),可能要求保持住复位前RAM中的数据,用来快速恢复现场,或者不至于因瞬间复位而重启现场设备.而keil mdk在默认情况下,任何形式的复位都会将RAM区的非初始 ...
- Keil MDK下如何设置非零初始化变量(转)
源:Keil MDK下如何设置非零初始化变量 一些工控产品,当系统复位后(非上电复位),可能要求保持住复位前RAM中的数据,用来快速恢复现场,或者不至于因瞬间复位而重启现场设备.而keil mdk在默 ...
- Keil MDK下如何设置非零初始化变量(复位后变量值不丢失)
一些工控产品,当系统复位后(非上电复位),可能要求保持住复位前RAM中的数据,用来快速恢复现场,或者不至于因瞬间复位而重启现场设备.而keil mdk在默认情况下,任何形式的复位都会将RAM区的非初始 ...
- Keil MDK入门---从新建一个工程开始
熟悉Keil C51的朋友对于Keil MDK上手应该比较容易,毕竟界面是很像的.但ARM内核毕竟不同于51内核,因此无论在设置上还是在编程思想上,都需要下番功夫研究的.本文以MDK V4.03为例, ...
- 转:Keil MDK从未有过的详细使用讲解
来自:http://blog.csdn.net/zhzht19861011/article/details/5846510 熟悉Keil C 51的朋友对于Keil MDK上手应该比较容易,毕竟界面是 ...
- Keil MDK从未有过的详细使用讲解
转自博客:http://blog.csdn.net/zhzht19861011/article/details/5846510 这博主关于MDK 的使用的文章,写的得TM的好 TM的实用! 真心收藏 ...
- Keil MDK从未有过的详细使用讲解(转)
这博主关于MDK 的使用的文章,写的得TM的好 TM的实用! 真心收藏! 熟悉Keil C 51的朋友对于Keil MDK上手应该比较容易,毕竟界面是很像的.但ARM内核毕竟不同于51内核,因此无论 ...
- KEIL MDK 5.12帮你快速建工程模板的技巧
KEIL 5帮你快速建工程模板的技巧 本人使用keil mdk 5.12有一段时间了,发现keil mdk 5.12里面驱动库比较方便.这个新功能可以节省我们的时间,也可以让初学者能尽快上手和掌握这个 ...
随机推荐
- 安卓从业者应该关注:Android 6.0的运行时权限
Android 6.0,代号棉花糖,自发布伊始,其主要的特征运行时权限就很受关注.因为这一特征不仅改善了用户对于应用的使用体验,还使得应用开发者在实践开发中需要做出改变. 没有深入了解运行时权限的开发 ...
- Linux如何在虚拟机中挂载iso yum源
首先,将作为源的iso的挂载到系统上. 代码如下: mount -o loop /dev/cdrom /mnt/iso/ 或者 mount -o loop /xxx/xxx.iso /mnt/iso/ ...
- java:I/O 往原文件追加内容
原来txt内容: "我要添加内容" import java.io.*; class Test { public static void main(String[] args) { ...
- open/write/read
C语言中open函数 作用:打开和创建文件. 简述: 1 2 3 4 #include <fcntl.h> int open(const char *pathname, int flags ...
- 【原创】基于ZYNQ7000的交叉编译工具链Qt+OpenCV+ffmpeg等库支持总结(二)
承接上文http://www.cnblogs.com/bombe1013/p/3294301.html,我们接下来说说Qt的移植与安装. 很喜欢Qt这个库以及Qt creater这个IDE,其实个人觉 ...
- 命令行下玩VC
说明:(1)转载请注明出处:http://www.cnblogs.com/opangle/p/4298155.html (2)以下以VS2013为例,并假设VC安装路径为%VC_INSTALL_PAT ...
- bzoj2757
非常神的数位dp,我调了几乎一天首先和bzoj3131类似,乘积是可以预处理出来的,注意这里乘积有一个表示的技巧因为这里质因数只有2,3,5,7,所以我们可以表示成2^a*3^b*5^c*7^d,也就 ...
- PHP如何大幅度提升运行效率? -- 把它编译成机器码!
书接上回 今天讨论如何大幅度提升PHP的运行效率. 在这,我们不纠结神马单双引号.全局变量.OO.require_once.错误抑制.... 在这,我们也不讨论APC.opcache.XCac ...
- OS.ENVIRON()详解
OS.ENVIRON()详解
- memcached性能监控
在上文“在Windows .NET平台下使用Memcached”中,我给大家介绍了如何在Windows平台上部署Memecached服务端,如何在.NET平台中应用Memcached,详细介绍了两种流 ...