STM32 Keil仿真调试】的更多相关文章

引用:http://blog.sina.com.cn/s/blog_3c63d2bd0102vt9a.html 问题描述:使用MDK进行软件设计时没有使用ST官方的模板而是手动建立的工程,使用ST官方提供的3.5版本固件库.编译完全通过,在使用软件仿真时出现问题,表现为程序无法跳转到main入口,直接在SystemInit()函数就无法执行,调试窗口出现如标题所示的错误信息: error 65: access violation at 0x40021000 : no 'read' permiss…
一.问题现象: 这几天刚开始上手STM32,使用Keil 环境进行编程,然后使用ULINK2进行在线仿真,在按键处理函数程序中设置断点,却发现按了按键程序没有停在设置的断点,程序正常运行,如下图所示,很是郁闷,以为是程序的问题,打了其它地方的断点却可以停下来.是什么问题呢? 二.原因分析: 虽然之前用8051单片机的时候经常使用Keil 环境,但没有真正去使用过在线的调试仿真,现在出现问题了也不知所措,在跟陈工沟通交流下,打开Keil 环境中Target Options中的Debug配置,发现我…
上一讲中我们学习了如何建立工程.汇编.连接工程,并获得目标代码,但是做到这一 步仅仅代表你的源程序没有语法错误,至于源程序中存在着的其它错误,必须通过调试才能 发现并解决,事实上,除了极简单的程序以外,绝大部份的程序都要通过反复调试才能得到 正确的结果,因此,调试是软件开发中重要的一个环节,这一讲将介绍常用的调试命令.利 用在线汇编.各种设置断点进行程序调试的方法,并通过实例介绍这些方法的使用. 一.常用调试命令 在对工程成功地进行汇编.连接以后,按 Ctrl+F5 或者使用菜单 Debug->…
转自:http://blog.sina.com.cn/s/blog_980e19e00101b5dh.html 有时候需要精确的延时,比如18B20温度传感器对时序要求非常严格,必须精确到微秒级别 一.用NOP函数 在keil C51中,直接调用库函数: #include // 声明了void _nop_(void); _nop_(); // 产生一条NOP指令 作用:对于延时很短的,要求在us级的,采用“_nop_”函数,这个函数相当汇编NOP指令,延时几微秒.NOP指令为单周期指令,可由晶振…
我们使用Keil C调试某系统时积累的一些经验:     1.由于Keil C对中文支持不太好,因而会出现显示的光标与光标实际所在不一致的现象,这会对修改中文注释造成影响.在Windows2000下面,我们可以把字体设置为Courier,这样就可以显示正常.     2.当使用有片外内存的MCU(如W77E58,它有1K片外内存)的时候,肯定要设置标志位,并且编译方式要选择大模式,否则会出错.        3.当使用Keil C跟踪程序运行状态的时候,要把引起Warning的语句屏蔽,否则有可…
正巧最近需要开发一个安卓手机上的Unity3D游戏功能,想着既然要开发么,当然需要调试.本来的话一些基础功能是不需要使用仿真模拟器,直接在U3D的开发编辑器上就能调试,不过有一些安卓上才能执行,比如 AndroidJavaClass jc = new AndroidJavaClass(""); 这种代码如果直接在U3D的开发编辑器上调试,直接就会返回 因此,我们需要在实体机(安卓手机)或者模拟器上调试才能正常执行. 以下全都是我这台电脑的运行结果,并不代表其他电脑有同样的效果 我选择在…
转载2015-06-14 20:23:04 一.在keilc的调试状态下,如何观察各个片内外设的运行状态?如何修改它们的设置?​ 在调试状态下,点击Peripherals菜单下的不同外设选项命令,就会显示或隐藏对应外设的观察窗口. 在程序运行时,各个片内外设的状态会不断地变化,为了随时观察它们的变化,为了随时观察它们的变化,可以启用view菜单下的Periodic Windows Update命令,让keilc自动周期刷新各个调试窗口.​ 二.在keilc的调试状态下,如何观察和修改变量?​ 在…
1. 仿真的时候,进入之后 2. 说是main()未定义,可是明明定义了,什么原因?喔,看错了,是--main.对比了一下和正常工厂的配置,都一样,换个jlink V9测试一下吧.换了个ST LINK V2 也不行,看样子是工程的问题喽?屏蔽了一些main()函数的一些代码,发现可以执行到main()了!!!奇哉怪也,难道后面的代码写错了,导致不能仿真到main()??? 3. 最后测试发现,原来是多了一个printf函数,keil MDKb编译的时候没有报错,去掉这行函数解决问题…
使用MDK自己创建一个STM32F103ZE核的项目 加入源码后编译,正常,在线仿真单步执行出现如下问题 error 65: access violation at 0x40021000 : no 'read' permission 发现是Debug里面的设置有问题 http://www.cnblogs.com/xiaobo-Linux/ 主要是下面2项设置 Dialog DLL默认是DCM3.DLL Parameter默认是-pCM3 应改为 Dialog DLL默认是DARMSTM.DLL…
设置 Dialog.DLL 分别为:DARMSTM.DLL和TARMSTM.DLL, Parameter 均为:-pSTM32F103RC,用于设置支持芯片的软硬件仿真…