VSCODE+CORTEX-DEGBU+JLINK~~~STM32开发模板建立记录!!
1 需要工具:VSCODE STM32CUBEMX ,gcc-arm-none-eabi 插件:cortex-debug , jlink 驱动, C/C++ VS makertplace.(工具安装及插件安装百度即可)
2 首先先用STM32CUBEMX生成 STM32F103RCT6的makefile工程。
3 makefile 工程导入到VSCODE中,点击新终端,进行MAKE。
4 make 成功完成后,自动生成BUILD文件。
5 点击调试,VSCODE 自动建立.VSCODE 目录及LAUNCH.JSON,(我们只需配置这个文件,就可以实现调试功能)。
6 配置LAUNCH.JSON:
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Debug (J-Link)",
"type": "cortex-debug",
"request": "launch",
"servertype": "jlink",
"cwd": "${workspaceFolder}",//work directory
"executable": "build/stm32f103rct6-test.elf",
"device": "STM32F103RC",
"interface": "swd",
"preLaunchTask": "Build",//先运行Build任务
}
]
}
(按照自己需求,进行修改后使用)
7 点击调试,提示需要BUILD任务,点击任务模本进行生成,TASKS.JSON,后写入BUILD任务:
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "echo",
"type": "shell",
"command": "echo Hello"
},
{
"label": "Build",
"type": "shell",
"options": {
"cwd": "${workspaceRoot}"
},
"command": "mingw32-make",
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": [
"$gcc"
]
},
{
"label": "Clean",
"type": "shell",
"options": {
"cwd": "${workspaceRoot}"
},
"command": "mingw32-make -f makefile clean",
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": []
}
]
}
8 这时应该可以进行调试,如果不行,请进入文件-首选项-设置-CORTEX-DEBUG插件, 设置:
GDBServer Path的自己电脑上的地址:
"cortex-debug.JLinkGDBServerPath": "C:/Program Files (x86)/SEGGER/JLink_V490/JLinkGDBServer.exe",
以上为我的电脑地址。
9以上设置完成后,应该可以正常编写程序了。
10 添加c_cpp_properties,主要为宏定义及包含路径:
{
"configurations": [
{
"name": "ARM",
"intelliSenseMode": "gcc-x64",
// 注意下面这个指定好 gcc-arm 编译器后,c/c++ 插件会智能分析,不会按照桌面平台进行语义分析,一定要指明
// 后面的编译参数可以从 makefile 里抄
"compilerPath": "arm-none-eabi-gcc.exe",
"defines": [
"STM32F103xB",
"USE_HAL_DRIVER"
],
"includePath": [
// 工程代码的头文件路径
"Core/Inc",
"Drivers/STM32F1xx_HAL_Driver/Inc",
"Drivers/STM32F1xx_HAL_Driver/Inc/Legacy",
"Drivers/CMSIS/Device/ST/STM32F1xx/Include",
"Drivers/CMSIS/Include",
"Drivers/CMSIS/Include",
// gcc 自己 std_lib 的路径
"D:/Program Files (x86)/GNU Tools ARM Embedded/5.4 2016q3/lib/gcc/arm-none-eabi/5.4.1/include",
"D:/Program Files (x86)/GNU Tools ARM Embedded/5.4 2016q3/lib/gcc/arm-none-eabi/5.4.1/include-fixed",
"D:/Program Files (x86)/GNU Tools ARM Embedded/5.4 2016q3/arm-none-eabi/include"
],
"cStandard": "c11",
"cppStandard": "c++14",
"forcedInclude": [
// 不同系列的芯片选择不同的
"./Drivers/STM32F1XX_HAL_Driver/Inc/stm32f1xx_hal.h"
]
}
],
"version": 4
}
11 以上方法是我认为新手最快速的建立方式,所以进行记录。
分类:
单片机编程相关
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具