Debug介绍
在Keil工具中有许多常用的小工具,下面将会依次为大家介绍每个工具的用途。
命令行窗口
![](https://img-blog.csdnimg.cn/direct/069465a4683945abb5465b3fe440cfc4.png)
![](https://img-blog.csdnimg.cn/direct/65895baaaa0b49feafb72afe953803e0.png)
反汇编窗口
![](https://img-blog.csdnimg.cn/direct/d414985970a14125be9f75467bca2ac8.png)
![](https://img-blog.csdnimg.cn/direct/697b5e9a61b24e3d87eb405ba5bad60e.png)
可以查看当前C代码的汇编指令
标志窗口
![](https://img-blog.csdnimg.cn/direct/0feb5f5ac0de4bc49db24afff29edde9.png)
![](https://img-blog.csdnimg.cn/direct/a8ae1843cc1740ccb98ecc36c0400cf5.png)
寄存器窗口
![](https://img-blog.csdnimg.cn/direct/8bb83729536d4521aecb9391642f2364.png)
![](https://img-blog.csdnimg.cn/direct/794ee5f5c50e446babad893675234312.png)
可以用来查看CPU内部寄存器的使用状态
栈窗口
![](https://img-blog.csdnimg.cn/direct/b4f3e4ff745a457f8730442a3fa410fb.png)
![](https://img-blog.csdnimg.cn/direct/aae653d381d84ca5a4949c8dcbccfccf.png)
可以用来查看当前栈内函数调用的使用情况,从图中可以看出在main函数中调用了SystemClock_Config这个函数,紧接着又在SystemClock_Config又调用了HAL_RCC_OscConfig这个函数,可以很清晰的看出函数之间调用的层次关系。
监控窗口
![](https://img-blog.csdnimg.cn/direct/311abe410ac34a92b8d60d80acc028a9.png)
![](https://img-blog.csdnimg.cn/direct/566865cd75fa40d78fd7cecb7bb695fd.png)
可以将需要观察的变量添加到窗口中去,观察变量值的变化。
内存窗口
![](https://img-blog.csdnimg.cn/direct/21973a44fc844df09113d555ed357d83.png)
![](https://img-blog.csdnimg.cn/direct/8619aea5527640ba96399429575445e1.png)
将需要观察的变量拖动到内存窗口中,即可显示当前变量的值。例如 int i =0;将i拖动到内存窗口即可显示当前变量的值,如果在 i 前面加上取地址符 & 即可显示当前变量的地址。地址后,则显示当前地址的值。
外设寄存器窗口【最常使用】
![](https://img-blog.csdnimg.cn/direct/ee97de0c095e404498564587da4c511e.png)
可以通过这个窗口看到内核外设的寄存器的状态,以及片上外设寄存器的值,非常实用。