基于STM32从零写操作系统系列---用GDB调试LED程序
2019-09-10 来源:eefocus
目的
通过调试程序,观察程序的运行情况。主要是简单介绍程序的调试方法,当然相对于一些集成开发环境,这种调试方法就显得有点落后了。由于我坚持不使用集成开发环境,所以只能这样了。
要求
安装TrueSTUDIO for STM32,这是STM32官方免费的集成开发环境。安装这个IDE的目的只有一个,就是使用它的GDBServer。
实验步骤
1.使用《基于STM32从零写操作系统系列---点亮LED灯》这篇文章的源代码。
2.下载TrueSTUDIO for STM32。
3.安装TrueSTUDIO for STM32软件。正常安装就可以,没有特别的设置。
4. 在命令行中,进入led_proj文件夹,输入make,编译项目,获得boot.out和boot.bin文件。注意,Makefile中编译代码是要添加选项-g,表示生成调试信息。如图:
5. 使用ST-Link Utility软件将boot.bin文件下载到芯片
6.退出ST-Link Utility软件。打开GDBServer软件,(如果是默认安装)路径为C:Program Files (x86)AtollicTrueSTUDIO for STM32 9.2.0ServersST-LINK_gdbserver,双击文件夹中的ST-LINK_gdbserver。注意,开发板必须上电。如图:
7.在命令行中输入如图指令,使GDB连接到目标调试设备。红色圈着的是要输入的命令,划红线的表示已经连接上了。
8.设置断点,如图,具体的GDB命令在这里不详细叙述。
9.开始调试。如图输入的命令。注意观察开发板上的led灯变化。
小结
通过调试程序,我们可以验证程序的运行逻辑是否与自己设计的一样;同时,我们还可以通过查看寄存器和内存中的数据,了解程序的运行情况和状态。建议简单学习一下GDB调试的命令。关于TrueSTUDIO for STM32这个软件,可以自己了解一下。本系列文章,不关心如何熟练使用工具。只要简单了解一些工具的操作就可以了。