关注 +点赞 不错过精彩内容
大家好,我是硬核王同学,最近在做免费的嵌入式知识分享,帮助对嵌入式感兴趣的同学学习嵌入式、做项目、找工作!
本小结学习一下如何使用OLED显示屏的函数驱动模块
三、keil的调试模式
keil的调试模式,可以帮助开发人员解决嵌入式应用程序的问题和错误,并提高开发效率。当遇到一些复杂的问题时,可以使用这个模式来进行调试。
打开3-1 LED闪烁工程文件,将这个工程作为例子
(1)选择仿真模式
点击魔术棒,在Debug这里可以对调试选项进行配置
此时按钮选择在右边一栏中的Use:ST-Link Debugger Settings这一项,这个是在硬件上在线仿真,需要我们把STLINK和stm32都连接好,才可以使用。
如果不想连接硬件,也可以按钮选择在左边这一栏使用仿真器这个选项,这里就是电脑模拟STM32运行了
我们这里就用硬件仿真的方式来试一下,按钮就选择右边这一项,点击ok
(2)调试模式介绍
首先,在进入调试模式之前需要先连接好stm32,之后编译一下,确保工程没有问题 然后点击这里放大镜里面带d的图标,进入调试模式
-
调试模式窗口
这个界面里,主窗口就是我们的C语言主程序
上面的Disassembly这个窗口就是C语言翻译成的汇编程序,可以对照这里看下每句C语言实际都执行了哪些操作
左边的这个窗口就是寄存器组和状态标志位等信息,如果使用汇编编程的话,这些东西必须非常清楚,这个是单片机硬件底层很重要的东西,如果只用c语言程序,这部分不需要管的。
-
2.常用功能图标及使用
然后是这7个功能图标的含义,第一栏是复位,第二栏是全速运行、停止全速运行,第三栏是单步运行、跳过当前行单步运行、跳出当前函数单步运行、跳到光标指定行单步运行
这个黄色箭头指示的就是下一句将要执行的代码,我们当前的程序就是从main函数开始的
我们可以点一下单步运行的图标,那它就执行到了下一行
然后再单步,它就进到了RCC这个函数里面来了
点击这个跳出函数图标,它就可以跳到函数外面来了
指定这一行,然后点击运行到光标指定行
那程序就运行到这个位置了
可以点击程序左边这里深灰色区域,设置断点
点全速运行图标,程序就会一直运行,直到断点停下
如果没有断点,再全速运行,程序就不会自动停下来,那我们就需要点击这里的停止全速运行按钮,这样程序就会停下来了
然后点击RST复位,程序就会回到最开始的地方,这里我们可以看到,现在程序是在启动文件的复位中断函数里,说明复位后,程序是从这里开始执行的
直接运行到指定的main函数行,继续运行,就会执行main函数,这就是调试模式下控制程序运行的方法,这个方法可以精确追踪我们的程序是如何运行的,如果你不清楚程序是如何一步步运行的,那在这个调试模式里单步运行探索一下,相信你对程序的运行逻辑就会有更深的理解
-
3其他功能图标
以上只是调试模式下的一小部分功能,调试模式还有更强大的功能,再看一下剩下的这些功能图标
第一个是命令窗口,点击它可以打开或者关闭命令窗口
第二个是反汇编窗口,也是可以打开和关闭的
第三个是符号窗口,在这里可以实时查看程序中所有变量的值
剩下的还有串口显示、逻辑分析仪等等,这些工具的功能也都是非常强大的,大家可以自行了解一下,这里就不再演示了
另外可以点击外设菜单栏、系统资源查看,这里可以看到所有的外设寄存器,比如选择GPIOA,右边这里就会显示GPIOA外设的所有寄存器
这个在线调试的功能还非常强大的,STM32实时执行程序,keil软件实时显示外设寄存器状态,还能随时控制程序的开始、停止、单步运行,以后遇到一个比较难调的程序,比如不清楚程序是如何执行的,或者想看一大堆变量不方便显示,或者想看一下寄存器是不是配置正确了,都可以考虑使用下这个Keil自带的调试模式,需要注意的一点是,要修改程序不能直接在这个调试模式下修改,要先退出调试模式,重新编译,再进入调试模式 那以上这些就是对Keil调试模式的简单介绍,这个软件更多的功能还得需要大家自己慢慢探索了,可以点击这些按钮、菜单看看有啥功能,或百度搜索一下,各个功能咋用的
或者点击这里的帮助,第一项,这里可以打开keil软件的官方帮助文档,这个给帮助文档里有对这个,软件最权威最细致的介绍,对某个功能不熟悉的话,可以在这里找一找
作 者 :硬核王同学
------- END ------
关注公众号回复“加群”按规则加入技术交流群 回复“1024”查看更多内容