VS Code开发STM32F4xx jlink接口swd模式

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站视频

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
STM32F4是一款由STMicroelectronics推出的32位ARM Cortex-M系列微控制器。J-Link是一种常用的调试和编程接口,可用于与STM32F4之类的微控制器进行通信和调试。 STM32F4微控制器具有强大的处理能力和丰富的外设选项,适用于各种应用领域。与其他微控制器一样,STM32F4需要正确的驱动程序来实现与计算机的通信。 J-Link驱动程序是由SEGGER公司开发的用于支持J-Link调试接口的软件组件。它允许计算机通过USB或其他接口连接到J-Link调试器,并与STM32F4之类的微控制器进行通信。 要使用STM32F4和J-Link,首先需要安装J-Link驱动程序。可以从SEGGER公司的官方网站上下载最新版本的驱动程序。 安装驱动程序后,将J-Link调试器连接到计算机,并将其与STM32F4微控制器相连。然后,可以使用调试工具(如SEGGER的J-Link软件)或其他支持J-Link接口开发环境来编写和调试STM32F4应用程序。 通过使用J-Link驱动程序,可以实现在计算机和STM32F4之间快速、可靠的数据传输。驱动程序还提供了一些额外的功能,如断点调试、寄存器查看等,有助于开发者进行更加高效和方便的调试工作。 总之,STM32F4和J-Link驱动程序的结合,提供了一种可靠、灵活的方式来开发和调试STM32F4应用程序。它为开发者提供了强大的工具和功能,帮助他们更轻松地实现创新和高性能的嵌入式系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值