VS Code开发STM32F4xx jlink接口swd模式(测试OK)


下面的代码(已验证),只作为参考,不同情况的更改参照文章末尾链接
c_cpp_properties.json代码
(其中include路径和宏定义可以参照makefile添加) :
{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE",
                "USE_HAL_DRIVER",
                "STM32F407xx"
            ],
            "windowsSdkVersion": "10.0.22621.0",
            "compilerPath": "D:/Program Files/STN32DevelopTools/bin/arm-none-eabi-gcc.exe",
            "cStandard": "c17",
            "cppStandard": "c++17",
            "intelliSenseMode": "windows-gcc-arm",
            "browse": {
                "path": [
                    "${workspaceFolder}/**",
                    "${workspaceFolder}/Core/Inc",
                    "${workspaceFolder}/LWIP/App",
                    "${workspaceFolder}/LWIP/Target",
                    "${workspaceFolder}/Middlewares/Third_Party/LwIP/src/include",
                    "${workspaceFolder}/Middlewares/Third_Party/LwIP/system",
                    "${workspaceFolder}/Drivers/STM32F4xx_HAL_Driver/Inc",
                    "${workspaceFolder}/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy",
                    "${workspaceFolder}/Middlewares/Third_Party/FreeRTOS/Source/include",
                    "${workspaceFolder}/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2",
                    "${workspaceFolder}/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F",
                    "${workspaceFolder}/Drivers/BSP/Components/lan8742",
                    "${workspaceFolder}/Middlewares/Third_Party/LwIP/src/include/netif/ppp",
                    "${workspaceFolder}/Drivers/CMSIS/Device/ST/STM32F4xx/Include",
                    "${workspaceFolder}/Middlewares/Third_Party/LwIP/src/include/lwip",
                    "${workspaceFolder}/Middlewares/Third_Party/LwIP/src/include/lwip/apps",
                    "${workspaceFolder}/Middlewares/Third_Party/LwIP/src/include/lwip/priv",
                    "${workspaceFolder}/Middlewares/Third_Party/LwIP/src/include/lwip/prot",
                    "${workspaceFolder}/Middlewares/Third_Party/LwIP/src/include/netif",
                    "${workspaceFolder}/Middlewares/Third_Party/LwIP/src/include/compat/posix",
                    "${workspaceFolder}/Middlewares/Third_Party/LwIP/src/include/compat/posix/arpa",
                    "${workspaceFolder}/Middlewares/Third_Party/LwIP/src/include/compat/posix/net",
                    "${workspaceFolder}/Middlewares/Third_Party/LwIP/src/include/compat/posix/sys",
                    "${workspaceFolder}/Middlewares/Third_Party/LwIP/src/include/compat/stdc",
                    "${workspaceFolder}/Middlewares/Third_Party/LwIP/system/arch",
                    "${workspaceFolder}/Drivers/CMSIS/Include",
                    "${workspaceFolder}/modbus/include",
                    "${workspaceFolder}/canfestival/inc",
                    "D:/Program Files/STN32DevelopTools/arm-none-eabi/include",
                    "D:/Program Files/STN32DevelopTools/arm-none-eabi/include/c++/10.3.1",
                    "D:/Program Files/STN32DevelopTools/arm-none-eabi/include/c++/10.3.1/arm-none-eabi/thumb/v7",
                    "D:/Program Files/STN32DevelopTools/arm-none-eabi/include/c++/10.3.1/backward",
                    "D:/Program Files/STN32DevelopTools/arm-none-eabi/include/sys",
                    "D:/Program Files/STN32DevelopTools/lib/gcc/arm-none-eabi/10.3.1/include",
                    "D:/Program Files/STN32DevelopTools/lib/gcc/arm-none-eabi/10.3.1/include-fixed"
                ],
                "limitSymbolsToIncludedHeaders": true,
                "databaseFilename": ""
            }
        }
    ],
    "version": 4
} 
launch.json 代码:
{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 启动",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/build/${workspaceFolderName}.elf",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "D:/Program Files/STN32DevelopTools/bin/arm-none-eabi-gdb.exe",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                
                {
                    "description": "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ]
        },
        
       
    ]
} 
settings.json代码:
{
    "files.associations": {
        "user_mb_app.h": "c",
        "main.h": "c",
        "motor.h": "c",
        "can.h": "c",
        "canopen_app.h": "c"
    }
} 
tasks.json 代码:
{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
   "version": "2.0.0",
    "tasks": [
        {
            "label": "编译项目",
            "type": "shell",
            "command": "make",
            "args": [
                "-j4"
            ],
            "problemMatcher": [
                "$armcc"
            ]
        },
        {
            "label": "启动调试下载器",
            "type": "shell",
            "command": "openocd -f interface/jlink.cfg  -c 'transport select swd' -f target/stm32f4x.cfg",
           
        },
        {
            "label": "Build&Update",
            "type": "shell",
            "command": "openocd",
            "args": [
                "-c",
            "adapter driver jlink",
            "-c",
            "transport select swd",
                "-f",
                "D:/Program Files/STN32DevelopTools/OpenOCD-20231002-0.12.0/share/openocd/scripts/interface/jlink.cfg",
                "-f",
                "D:/Program Files/STN32DevelopTools/OpenOCD-20231002-0.12.0/share/openocd/scripts/target/stm32f4x.cfg",
                "-c",
                //"D:/上海电气项目/contral_3.0_dmke_bms1.0-main/build/modbus_tcp_freertos.elf verify reset exit"
                "program build/modbus_tcp_freertos.elf verify reset exit"
            ],
            "problemMatcher": [
                "$gcc"
            ]
        }
    ]
} 
 任务使用效果:Ctrl+Shift+P----点击任务:运行任务----可以选择运行任务,分别是:调试,烧录,编译 

选择编译项目:

选择启动调试: (需要电脑jink连接STM32)
 选择Build&Update:

参考链接1 参考链接2 参考链接3 参考链接3的b站视频


![Oracle21C判断[点]是否在[多边形]内](https://img-blog.csdnimg.cn/direct/4cd96724f7e8455fad887dda5ae99acd.png#pic_center)
















