【STM32】配置vscode+C工具链+Cortex-Debug开发环境,IC:STM32F411CEU6

总览

1.C工具链:Arm GNU Toolchain + Ninja + CMake + OpenOCD

2.Vscode 插件:C/C++ Extension Pack + Cortex-Debug + STM32CubeIDE for Visual Studio Code

3.官方工具:STM32CubeMX + STM32CubeProgrammer

一、Arm GNU Toolchain + Ninja + CMake + OpenOCD

1.下载并安装 编译器 (Arm GNU Toolchain)

下载地址:

https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads

选择版本 13.2,新版本有问题。

下载第4个。

安装最后一步,记得让它自己配上环境变量:
Add path to environment variable" (添加到环境变量)。勾选它。

2.下载并安装 执行工具 (Ninja)

下载地址:https://github.com/ninja-build/ninja/releases

选择 ninja-win.zip

这是个压缩包,解压后就有一个 ninja.exe 文件。

把它放在哪儿都行,然后把它在的目录添加进环境变量 PATH。

cmd运行 ninja --version 确定安装好了。

3.下载并安装 构建工具 (CMake)

下载地址:https://cmake.org/download/

选择这个:版本 4.3.3

正常安装即可。

我也忘了有没有能够选择的 Add CMake to the system PATH for all users。

应该有,自动添加环境变量。

验证:

4.下载并安装 烧录调试工具 (OpenOCD)

下载地址:https://github.com/xpack-dev-tools/openocd-xpack/releases

选择这个就行:

xpack-openocd-0.12.0-7-win32-x64.zip

下载好之后,要手动配置环境变量。
将 bin 文件夹路径添加到系统环境变量 Path 中。

总验证:

bash 复制代码
arm-none-eabi-gcc --version
cmake --version
ninja --version
openocd --version

二、Vscode 插件安装

1.C/C++ Extension Pack

包含了4个包在里面。

2.Cortex-Debug 烧录 & 断点调试工具

它包含了4个依赖:

3.STM32CubeIDE for Visual Studio Code,STM32官方插件

包含了15个包:

三、官方工具

1.STM32CubeMX(项目创建工具)

下载地址:https://www.st.com/en/development-tools/stm32cubemx.html#section-get-software-table

功能说明:图形化 配置工具。用来配置引脚、时钟树、SPI 速率、DMA 通道。它会自动生成底层初始化代码(HAL 库)

往下滑,选择第一个下载:

2.STM32CubeProgrammer(烧录工具)

下载地址:https://www.st.com/en/development-tools/stm32cubeprog.html#section-get-software-table

提供了底层的驱动(ST-Link 驱动),让 VS Code 能够把代码写进芯片。

下载最后一个:

四、后续

如果想看项目配置:

相关推荐
oshan20122 天前
零基础STM32入门教程--10-PWM 呼吸灯
stm32·单片机·嵌入式硬件
Brilliantwxx2 天前
【C语言】 初入嵌入式C语言复习(基础+进阶面试题)
c语言·开发语言
wuminyu2 天前
深入剖析 Panama Off-heap 的性能损耗与开销
java·linux·c语言·jvm·c++
rhythm-ring2 天前
宏定义续行符 \ 的使用与踩坑
c语言·c++
Messy create2 天前
【BMS-AFE-温度检测】
stm32·单片机·能源
老当益壮梁奶奶2 天前
Linux软件编程学习笔记(八):进程间通信详解(1)
linux·c语言·笔记·学习·算法
「QT(C++)开发工程师」2 天前
C++11 std::unique_ptr — 独占所有权的智能指针
c语言·开发语言·c++·qt
不正经学生2 天前
C语言动态内存管理(上):堆上的自由与责任
c语言·开发语言·c++·算法·面试
桃蹊、2 天前
串口/网络透传实战:FreeRTOS 多任务架构与连接池设计
stm32·物联网·wifi·freertos
新晨单片机设计2 天前
S001A-基于STM32单片机超声波视力保护仪【Proteus仿真+Keil程序+原理图】
stm32·单片机·proteus