|
本本将主要介绍如何使用Visual Studio创建一个基于STM32F4-Discovery探索板的简单工程。
本文使用以下硬件和软件: ● Microsoft Visual Studio ● VisualGDB ● STM32F4-Discovery探索板
我们将创建一个简单的“LED闪烁”的工程,然后进行构建,并使用调试器进行单步调试。 1. 启动Visual Studio。选择File-> New-> Project。
2. 选择VisualGDB - >Embedded Project Wizard。选择一个目录和项目名称:
3. 由于我们创建的是一个没有任何静态库的固件文件,因此使用“embedded binary选项。我们建议选择“MSBuild”作为构建子系统:
4. 我们正在创建包含基于ARM的STM32F407VG微控制器的STM32F4-Discovery探索板的固件,因此请在工具链选择页面上选择“ARM”。如果还没有安装ARM工具链,请选择“(download toolchain for arm-eabi)”,VisualGDB将自动安装:
5. 选择工具链后,您将看到受支持器件的列表。从列表中选择STM32F407VG:
6. STM32F4-Discovery探索板包含4个LED,分别连接到PD12-PD15引脚(详细信息请参阅电路板的原理图):
要创建一个使连接到PD12的绿色LED闪烁的项目,需要选择“GPIOD”和“12”作为端口组和编号:
7. STM32F4-Discovery探索板包含板载ST-Link编程器。只需将其插入USB端口,VisualGDB即可自动检测。从列表中选择并单击“Test”以自动安装所需的驱动程序,并验证调试连接是否正常工作:
8. VisualGDB将尝试运行OpenOCD并连接到它,以验证调试是否可行:
9. 在向导中按“Finish”完成。创建项目后,按Ctrl-Shift-B构建它:
10. 按F5开始调试。注意LED如何打开和关闭。现在在第一个GPIO_WriteBit()行上放置一个断点。断点将立即触发,LED将熄灭:
11. 按Ctrl-Alt-G或选择Debug-> Windows-> Registers打开Registers窗口。右键单击其中,并确保启用“‘All Registers”:
12. 注意PC寄存器的值。 0x80xxxxxx范围内的一个值表示程序正在从FLASH存储器运行。稍后我们会把它改成SRAM。按F10键可以跳过一行代码。注意LED如何打开:
13. 按Shift-F5退出调试。右键单击解决方案资源管理器中的项目节点,然后选择“VisualGDB Project Properties”:
14. 点击“Change settings”,选择SRAM而不是FLASH:
15. 以前编译的用于FLASH模式的二进制文件不会从SRAM运行。重建项目来解决这个问题:
16. 开始调试,等待断点被触发。请注意,pc寄存器现在包含一个位于0x20xxxxxx范围的值,表示程序从SRAM运行:
从SRAM运行您的程序时不会在下载程序或设置断点时消耗FLASH重写周期。但是,相对于FLASH模式,它具有某些缺点:包括所有代码和常量的整个程序都应该可以位于SRAM中,因此它可能不适用于大型程序。
17. 您可以使用View-> Embedded Memory Explorer查看具体函数的内存使用情况:
|