Keil for ARM-MDK的使用
来源:互联网 发布:unity3d 设置技能cd 编辑:程序博客网 时间:2024/06/10 04:35
概念:
- μVision:是Keil的文本编辑界面。目前的μVision支持代码自动补全。如果想使用外部的文本编辑器,可以在Tools-Customize Tools Menu设置。
- MDK:就是Keil for ARM。全称Microcontroller Development Kit。具体可以参考这里的说明。
调试方法:
- 调试方法分两种:软件仿真和硬件调试,即Simulator和Debugger。使用的DLL设置一般如下:SARMCM3.DLL -REMAP和DARMSTM.DLL -pSTM32F103C8。
- Logic Analyzer(逻辑分析仪):软仿中可以看全局变量和GPIO(原因?)的信号变化。
- 理论上硬仿中也可以用逻辑分析仪来观察信号的变化,只要使用ULink2或者JLink的trace功能即可。但是实际并不可行。不知道是用的国产烧录器?难道是用的国产山寨ULink2和JLINKv9?使用STM32F407-Discovery板载的ST-Link倒是可以实现,并且数据刷新时间为0.5s一次(比较慢)。
- Call Stack+Locals(调用栈与局部变量):程序暂停运行之后可以观察当前函数的调用关系,以及对应内部局部变量的值(跳出被调用函数以后,这些局部变量会消失)。
- Watch(监视):任何时刻都可以查看任何变量和任何寄存器。但是对于局部变量,当其作用完成并消失后,会显示”cannot evaluate”。对比Call Stack+Locates,Watch可以查看寄存器值,比如直接输入
TIM1->CCR2
就能看到这个寄存器的值。另外,比较实用的一个寄存器是SystemCoreClock,初始化以后直接查到系统主频率。 Memory(内存):查看变量的变化。也可以查看代码区的机器码。即可以查看Flash和RAM区(另外有CONST data什么的,我还不懂)。Memoery功能还不知道具体用途,感觉不是很实用。
Black - CODE memory area or uninitialized RAM.
Red - CONST data in Flash or ROM that has been accessed at least once.
Gold - memory location that has been initialized, but not accessed yet.
Green - memory location has been accessed at least once.System Viewer(系统访问器):可以一次性查看各个外设的所有相关寄存器。”View”下面可以打开,”Peripherals”下面也可以打开。后者有外设的分类,但显示得不够前者全。比如:”Peripherals-Timer”里面只有4个Timer,而实际上有14个。反正System Viewer的作用包括:
- 可以在程序执行过程中观察某些标志位的变化。
- 暂停程序的执行后可以手动修改某些标志位。
- 发现哪些寄存器是可写的、哪些是只读的。
- Serial(串口):其中有3个一般串口输出窗口,对应3个串口外设,相当于调试模式下的串口助手。只有串口设置正确并启动之后能正常显示字符串。此外,更重要的是——第四个不一般的串口输出——”Debug Viewer”。它是Cortex-M的ITM内部调试模块的输出口,硬件上并不占用GPIO,软件上也不占用CPU,它只在调试时通过SWO(烧录器接口之一)输出信息。这一功能是Trace功能的一部分,另外一部分是可以实时用LA(逻辑分析仪)查看数值变化。但是依赖SWO引脚来传送信号,普通的四线SWD用不了——因为比标准SWD少了SWD线(另外一条是RST,Debug设置为硬件复位时要用)。除了6针SWD,10针、20针接口都可以用。ITM调试的详细示例可以参考这个豆瓣博客
0 0
- Keil for ARM-MDK的使用
- KEIL uVision,KEIL MDK,KEIL For ARM,RealView MDK,KEIL C51,KEIL C166,KEIL C251
- KEIL uVision,KEIL MDK,KEIL For ARM,RealView MDK,KEIL C51,KEIL C166,KEIL C251
- 【开发工具】[keil]:概念科普:KEIL uVision,KEIL MDK,KEIL For ARM,RealView MDK,KEIL C51
- 【转载】keil(MDK-ARM)的调试使用
- ARM 7 用户模式下禁止/使能中断的一种方法--使用软中断 for Keil MDK
- ARM 7 用户模式下禁止/使能中断的一种方法--使用软中断 for Keil MDK
- ARM 7 用户模式下禁止/使能中断的一种方法--使用软中断 for Keil MDK
- ARM 7 用户模式下禁止/使能中断的一种方法--使用软中断 for Keil MDK
- 在IAR For ARM和Keil Realiew MDK中建立工程的步骤
- 【FRDM-K64F学习笔记】使用ARM mbed和Keil MDK下载你的第一个程序
- Keil(MDK-ARM)使用教程(二)_菜单
- Keil(MDK-ARM)使用教程(二)_菜单
- Keil MDK 中MicroLib库的使用
- Keil MDK从未有过的详细使用讲解
- Keil MDK从未有过的详细使用讲解
- Keil MDK从未有过的详细使用讲解
- Keil MDK从未有过的详细使用讲解
- 逻辑结构操作(表空间,数据文件,段,块,区)
- 如何区别fill_parent和wrap_content
- easyui-combobox实现级联查询
- 关于百度地图和Android的配置
- C#打印PDF
- Keil for ARM-MDK的使用
- linux中的解压命令
- 1017 Problem Q
- JNI中如何打印Call Stack
- isBalancedTree
- iOS Android音频格式的选择
- Android开发学习笔记:Intent的简介以及属性的详解
- 如何快速读懂别人的项目
- 大话数据结构读书笔记系列(三)线性表