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

同样碰到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. HTTP/1.1 Range和Content-Range

    http://www.cnblogs.com/bayonetxxx/archive/2011/03/19/1989162.html 假设你要开发一个多线程下载工具,你会自然的想到把文件分割成多个部分, ...

  2. boost库在windows下的编译和使用

    因为跨平台的原因,现在要使用到boost库,boost库非常大,现在处于摸索阶段. 首先来说boost库在window下的安装和使用. 一.下载 首先从boost官方主页http://www.boos ...

  3. IOS - DatePicker的使用

    UIDatePicker *picker = [[UIDatePicker alloc] init]; picker.datePickerMode = UIDatePickerModeDate; pi ...

  4. SPRING IN ACTION 第4版笔记-第八章Advanced Spring MVC-006-Pizza例子的支付流程

    一. 1. 2.payment-flow.xml <?xml version="1.0" encoding="UTF-8"?> <flow x ...

  5. Qt之四种等待提示框

    http://blog.csdn.net/u011012932/article/details/51029602http://blog.csdn.net/u011012932/article/deta ...

  6. 在NPAPI开发火狐浏览器插件在NPAPI插件

    1.插件是什么 插件是一种遵循一定规范的应用程序接口编写出来的程序.插件必须依附于一个宿主程序,为宿主程序提供增强功能.插件的种类有很多,这里主要讨论浏览器插件. IE下利用OLE和COM技术开发的浏 ...

  7. Android开发之使用AlertDialog创建对话框,单选框和多选框

    对话框: 对话框的icon,title,message等都可以不设置. 单选框和多选框与对话框勾选步骤基本上一致. 对话框的构建步骤: 1.使用AlertDialog类的内部类Builder类new ...

  8. linux下进程相关操作

    一.定义和理解 狭义定义:进程是正在运行的程序的实例. 广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动. 进程的概念主要有两点: 第一,进程是一个实体.每一个进程都有它自己的 ...

  9. 宏HASH_DELETE

    HASH_DELETE(buf_page_t, hash, buf_pool->page_hash, fold, bpage); NAME 可理解为 void* next /********** ...

  10. Hibernate事务与并发问题处理(乐观锁与悲观锁)

    目录 一.数据库事务的定义 二.数据库事务并发可能带来的问题 三.数据库事务隔离级别 四.使用Hibernate设置数据库隔离级别 五.使用悲观锁解决事务并发问题 六.使用乐观锁解决事务并发问题 Hi ...