首先基本的断点调试、WATCH窗口查看这些都是家常便饭我就不说了,可以参考链接
【工具使用】Keil5软件使用-进阶调试篇_keil5 软件使用 进阶调试篇-CSDN博客
下面主要介绍一下一些其他调试窗口:
“如下还没有补充完整,后续根据距离案例逐个添加,深入理解其使用”
目录
内存查看窗口
找到Memory1/2/3/4
在Memory窗口中输入想要查看内存的起始地址,另外右上角的锁可以把当前界面锁定下来
另外如果查看的是Ram的地址,那其中的数据也可以直接通过此窗口进行修改
系统视窗——System Viewer Windows
调度关系窗口——Call Stack Window
个窗口用于查看当前程序调度关系,当出现有进入硬件错误异常调试时可以快速定位到是哪里触发的异常。这个窗口是的调度关系是从当前程序堆栈里获取的数据并将其图形化,所以如果当前堆栈数据被破坏,则此窗口也将无法查看调度关系。
该窗口里显示的调度关系是从下至上调用的,最上面的表示当前程序所处的函数。展开对应的函数,可以查看各层调用函数跳转之前保存的一些临时变量等信息
寄存器窗口——Register Window
这个窗口用于查看当前内核的相关寄存器,如汇编里常说的15个通用寄存器。当然调试中比较常用的是其中的SP、LR、PC三个寄存器。SP为当前栈的地址位置,PC为当前程序地址,LR为函数跳转前的地址,即当前函数返回的地址
另外"Banked"中的MSP为当前程序系统主栈,PSP则为操作系统的任务栈,这两者的区别是,如果使用了操作系统,则当前任务中的所有调度关系使用的是任务栈,而类似中断这种内核的操作使用的是主栈;如果未使用操作系统,则只会使用主栈&#