调试原理
- STM32F-10X使用M3内核,该内核支持复杂的同i傲视操作,硬件调试模块允许在取指令(指令单步运行)或访问数据(数据断电时)使得内核停止。在内核停止时,内核状态都可被查询,完成查询后内核和外设被复原
- 支持两种操作接口: 串行接口 JTAG调试接口
进入debug窗口
需要注意**,一定先使用ST-Link连接好硬件,设置好配置**
实时调试过程中的按钮作用
在线调试按钮功能讲解
按钮名称 | 功能 |
---|---|
复位 | 程序重新开始执行 |
执行到断点 | 执行到程序添加断点的地方 |
停止运行 | 使得程序和硬件同步停止,可以进入一步一步调试, |
执行进去,执行过去,执行出去 | 三个都是针对函数执行来说的 |
执行到光标处 | 有点儿像断点,但光标只能有一个 |
汇编窗口 | 显示汇编窗口 |
堆栈局部变量窗口 | 查看局部变量变化,方便分析 |
观察窗口 | 可单独搜索自己想要查看的变量 |
内存查看窗口 | 可以用来查看内存中某个地址中数值变化,对状态控制时查看情况很好用 |
串口打印窗口 | 出现一个类似串口打印的窗口,显示从串口打印的东西 |
逻辑分析窗口 | 查看IO的电平变化 |
系统查看窗口 | 各种外设寄存器查看窗口 |
一个查看GPIOB_PE5的例子
首先,连接好硬件,keil5的电源debug打开,
按照上图步骤打开GPIOE的监视窗口
从表中可以看出PE5的输出模式是0011,也就是50MHZ的推挽输出模式,ODR寄存器的读取也是1高电平。