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 以上方法是我认为新手最快速的建立方式,所以进行记录。
 
posted @   湛蓝v天空  阅读(2011)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· 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工具
点击右上角即可分享
微信分享提示