VSCode虽然只是一个代码编辑器,由于开源并提供了易用的插件接口,目前已拥有丰富的第三方插件,可以联合gcc构建一个类似于IDE的开发调试环境。
gcc编译套件
stm32使用了arm的Cortex-M内核,直接上arm官官网下载mcu编译套件:https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads,下载arm-none-eabi版本可以编译裸机程序或者RTOS的程序。下载成功后直接解压到本地目录,并添加其bin文件夹到环境变量。安装成功后可通过下面指令进行测试(目前gcc为12.2.1版本):

成功安装了这个gcc编译套件几乎还不能编译哪怕是一个led闪烁的工程,这是由于任何一个工程几乎不太可能只有一个源文件组成,在文件达到一定的规模直接使用gcc命令去编译是一件容易出错且效率极低的工作,这里我们就需要一套建构工具,比如常听说的GNU Make、qmake、namake、pmake、SCons等等。
构建工具
make
make几乎属于构建工具的第一代但是应用较为广泛,从头makefile文件编写对经常使用makefile的工程师也较为困难,但STM32CubeMX生成的工程也提供了较为完善的支持可自动生成基础的makefile文件。
在windows上下载make工具:https://github.com/skeeto/w64devkit/releases,下载成功后将其bin文件添加到环境变量,安装成功后可以通过以下指令进行测试,此时按理说应该能使用make进行编译了,但makefile中可能重新定义了某些绝对路径导致编译失败,这是需要重新定义Makefile中的相关变量,然后就能正常编译了。

安装成功后直接使用STM32CubeMX生成Makefile工具链工程即可,切换到源码目录直接编译:



STM32CubeMX生成了一个基础可直接使用makefile工程,后续仅需要把应用代码添加到其Makefile中即可。代码编写直接使用VSCode即可,编写完成后执行make指令进行编译。
##########################################################################################################################
# File automatically-generated by tool: [projectgenerator] version: [3.17.1] date: [Mon Jul 03 18:35:08 CST 2023]
##########################################################################################################################
# ------------------------------------------------
# Generic Makefile (based on gcc)
#
# ChangeLog :
# 2017-02-10 - Several enhancements + project update mode
# 2015-07-22 - first version
# ------------------------------------------------
######################################
# target
######################################
TARGET = GCC
######################################
# building variables
######################################
# debug build?
DEBUG = 1
# optimization
OPT = -Og
#######################################
# paths
#######################################
# Build path
BUILD_DIR = build
######################################
# source
######################################
# C sources
C_SOURCES = \
Core/Src/main.c \
Core/Src/stm32l4xx_it.c \
Core/Src/stm32l4xx_hal_msp.c \
Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.c \
Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.c \
Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c \
Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c \
Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c \
Drivers/STM32L4xx_HAL_Driver/Sr
VSCode与STM32开发环境构建:从插件到构建工具的整合

本文介绍了如何利用VSCode的插件生态构建一个基于gcc的开发环境,包括STM32的编译套件安装,如make和CMake的使用,以及如何配合EmbeddedIDE和CortexDebug插件进行代码编写、编译和调试的过程。
最低0.47元/天 解锁文章
6755

被折叠的 条评论
为什么被折叠?



