VScode开发stm32,并支持C++

实现过程:STM32CubeMX生成工程模板,VSCode编辑和调试程序,Make启动编译,ARM GCC编译程序,OpenOCD连接调试器

工具

主要工具

1、VScode
下载地址 https://code.visualstudio.com/
在这里插入图片描述
2、STM32CubeMX
在这之前要先安装java https://www.java.com/zh_CN/download/windows-64bit.jsp
再安装STM32CubeMX https://www.st.com/zh/development-tools/stm32cubemx.html

3、ARM GCC
下载地址:https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads
在这里插入图片描述
下载第一个就可以
安装好后文件夹为
在这里插入图片描述
把bin文件夹路径加到环境变量。在这里插入图片描述
复制路径,打开此电脑右键属性,点击高级系统设置,点击环境变量,在这里插入图片描述双击Path,在这里插入图片描述新建将路径复制进去(这是最终结果,有三个新添路径从上到下依次为ARMGCC、make、OpenOCD)在这里插入图片描述

辅助工具

1、Make
下载地址http://gnuwin32.sourceforge.net/packages/make.htm
下载文件选择Complete package, except sources。
将bin目录加到环境变量。
2、OpenOCD
下载地址:https://gnutoolchains.com/arm-eabi/openocd/
在这里插入图片描述
同样下载第一个就可以;

3、vscode的C/C++插件
在这里插入图片描述
在这里插入图片描述

环境变量添加完后测试环境变量

打开CMD命令提示符
运行arm-none-eabi-gcc -v
出现标记处信息(版本信息)表示armgcc安装完成
在这里插入图片描述
运行openocd -v
出现版本信息表示OpenOCD安装完成
运行make -v
出现版本信息表示Make安装完成

工程的建立和调试:

1、stm32CubeMX建立工程模板
创建一个c8t6的工程(小知识,c8t6和cbt6两个之间没有什么区别,但c8t6的128k flash有64k是没有验证的,可能有问题,一般用c8t6的时候直接创cbt6的工程就可以了)
在这里插入图片描述
配置好后选择Makefile输出
在这里插入图片描述
2、VScode配置关键词查找、编译、调试文件
vscode打开文件夹,开始配置配置文件
命令界面输入tasks,点击点击第四个配置默认生成任务
在这里插入图片描述
创建tasks.json文件在这里插入图片描述

{
    "version": "2.0.0",
    "tasks": [
    {
    "label": "Compile",
    "type": "shell",
    "command": "make -j4"
    }
    ]
    }

再在调试界面创建launch.json文件在这里插入图片描述
这个基本不需要修改,复制下面的就可以

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "ARM",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/build/${workspaceRootFolderName}.elf",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "arm-none-eabi-gdb.exe",
            "setupCommands": [
                {"text": "cd ${workspaceFolder}/build"},
                {"text": "file ${workspaceRootFolderName}.elf"},
                {"text": "target remote localhost:3333"},
                {"text": "monitor reset"},
                {"text": "monitor halt"},
                {"text": "load"},
            ],
            "preLaunchTask": "start",
            "postDebugTask": "stop"
        }
    ]
}

在这里插入图片描述
意思是会自动生成build文件夹存放编译生成的文件

再在命令窗口下选择第一个创建c_cpp_properties.json在这里插入图片描述
修改如下

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**",
                "D:/vscode for stm32/9 2019-q4-major/arm-none-eabi/include",
                "D:/vscode for stm32/9 2019-q4-major/arm-none-eabi/include/c++/9.2.1",
                "D:/vscode for stm32/9 2019-q4-major/arm-none-eabi/include/c++/9.2.1/backward",
                "D:/vscode for stm32/9 2019-q4-major/lib/gcc/arm-none-eabi/9.2.1/include",
                "D:/vscode for stm32/9 2019-q4-major/lib/gcc/arm-none-eabi/9.2.1/include-fixed",
                "Drivers/CMSIS/Include",
                "Drivers/CMSIS/Device/ST/STM32F1xx/Include",
                "Drivers/STM32F1xx_HAL_Driver/Inc",
                "Drivers/STM32F1xx_HAL_Driver/Inc/Legacy",
                "Drivers/STM32F1xx_HAL_Driver/Src",
                "Inc",
                "Src",
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE",
                "STM32F103xB"
            ],
            "intelliSenseMode": "msvc-x64"
        }
    ],
    "version": 4
}

在这里插入图片描述
这几个是你安装的arm-gcc安装目录自带的标准文件(自行修改为自己安装目录)为绝对地址
在这里插入图片描述
全部都是你工程里的文件,为相对地址,这里我们需要将搜有文件路径定义到.c和.h文件的最终目录下,这样编译器才能找到。

在这里插入图片描述
在这里我们需要在这定义芯片型号,在下图找到芯片型号在这里插入图片描述
打开控制台输入make -j4(四核编译)在这里插入图片描述
编译完成生成hex文件在这里插入图片描述

3、启动OpenOCD调试器服务

在控制台下输入 openocd -f interface/jlink.cfg -c "transport select swd" -c "adapter_khz 10000" -f target/stm32f1x.cfg
jlink.cfg 调试器名字在这里插入图片描述
“transport select swd” 选择swd接口
“adapter_khz 10000” 1M的下载速度
target/stm32f1x.cfg F1系列的配置文件在这里插入图片描述

4、一键启动编译和调试

扩展:
一、为工程添加自己的文件
1、建立自己的文件夹和文件
2、修改关键字查找和Makefile文件

二、支持C++

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值