加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • 1. 软件工具安装
    • 2. 创建新工程
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

如何使用VSCode+GCC+Cortex Debug创建STM32交叉开发环境

09/20 09:20
2.3万
阅读需 8 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

使用VSCode + arm-none-eabi-gcc + Cortex Debug创建STM32交叉开发环境

Author:Edward

Data: 2022-03-27

Version: 1.0

1. 软件工具安装

1.1 VSCode

VSCode下载链接:Download Visual Studio Code - Mac, Linux, Windows

1.2 arm-none-eabi-gcc

下载连接:Arm GNU Toolchain | GNU Arm Embedded Toolchain Downloads – Arm Developer

•Tip: eabi - 嵌入式应用二进制接口(Embedded Application Binary Interface)

•各个不同的arm编译器区别:

 Figure 1:

基于上表对比,选用arm-none-eabi-gcc来开发ARM裸机程序(包括Linux系统的引导程序或者单片机程序)。

arm-none-eabi-gcc下载地址:Arm GNU Toolchain | GNU Arm Embedded Toolchain Downloads – Arm Developer(一定要下载高版本的程序,测试过 10.3.1版本可以稳定开发STM32)。

文件下载完成之后,直接双击进行安装,这个软件的安装过程其实只是一个解压的过程。

安装完成之后,需要将安装目录(GNU Arm Embedded Toolchain10 2021.10bin)添加到环境变量中。

Figure 2:

一切完成之后,在终端或者命令行中输入arm-none-eabi-gcc -v 即可显示当前arm-none-eabi-gcc的版本。

Figure 3:

1.3 make工具的安装

arm-none-eabi-gcc虽然提供了为ARM设计的汇编器(arm-none-eabi-as.exe),C编译器(arm-none-eabi-gcc.exe),C++编译器(arm-none-eabi-g++.exe),链接器(arm-none-eabi-ld.exe),调试器(arm-none-eabi-gdb.exe)等和独立的C库,但是美中不足的是不提供make工具。

因此,可以从MinGW中分离出mingw32-make.exe,将其作为一个独立的软件,放置在arm-none-eabi-gcc的bin目录中。

make的下载地址: 公盘位置 Z(172.19.100.68):公用cortex gcc toolsmake.exe。

将放置在arm-none-eabi-gcc的bin目录中之后,在终端中输入make,make工具就能正常运行,不会抛出软件未找到的错误,如下图。

Figure 4:

1.4 Cortex-Debug工具安装

完成上述步骤之后,STM32的工程已经可以正常编译并输出elf文件了。

• ELF文件 :Executable and Linkable Format. 在计算机科学中,是一种用于二进制文件、可执行文件、目标代码、共享库和核心转储格式文件。是UNIX系统实验室(USL)作为应用程序二进制接口(Application Binary Interface,ABI)而开发和发布的,也是Linux的主要可执行文件格式。

但是,还缺少一个集成的调试工具,这里推荐的调试工具有三个:

•Ozone: Ozone is a cross-platform debugger and performance analyzer for J-Link and J-Trace.这是个Segger官方推出的免费工具,基于Jlink调试工具。

•OpenOCD: Top (OpenOCD User’s Guide). OpenOCD是一个运行于PC上的开源调试软件,它可以控制包括Wiggler之内的很多JTAG硬件;我们可以将它理解为一种GDB服务程序。

•Cortex-Debug: Cortex-Debug是一个基于VSCode插件形式的调试工具。

为了使用一个集成度比较高一点的开发环境,Cortex-Debug工具是个比较明智的选择。下图介绍了 gdb 调试的组成和它们之间的关系,在开始之前有必要理解清楚它们的关系。

Figure 5:

Cortex-Debug的安装方式非常简单,只要在VSCode的扩展栏输入“Cortex-Debug”即可搜索到这个工具,接着,点击安装即可完成。

Figure 6:

2. 创建新工程

2.1 利用STM32CubeMx软件创建工程。

按照之前创建STM32工程一样,使用STM32CubeMx软件配置适合自己硬件的工程,并且输出代码。需要注意的是,在输出代码的时候,需要选择输出为Makefile形式。

Figure 7:

代码成功输出之后,就可以看到输出目录里面有如下的文件和文件夹。

Figure 8:

上图中,使用颜色框框出的文件是在后续移植代码中需要用到,其余文件都是STM32CubeMx软件自动生成的项目文件,无需理会,可以将其删除。

2.2 创建VSCode相关配置文件

直接用VSCode打开这个文件夹,在“运行和调试”中,点击“创建launch.json文件”,并在弹出的下拉菜单中,选择“Cortex-Debug”,即可创建一个项目运行的配置文件。

相关推荐

电子产业图谱