基于Visual Studio Code + STM32CubeMX搭建STM32开发环境(详细介绍搭建过程)

概述 

      由于本人之前开发过一段时间Android,一直想使用一款高效率开发工具来开发STM32,是否能像开发Android、Java、前端他们那样,达到敏捷开发效果呢?当然是有的了。该款IDE那就是Visual Studio Code,很好用,说到这,当然网上也有一款Code IDE同样也很受欢迎,它就是Clion IDE,网上也有教大家搭建开发STM32或者其它的ARM系列的开发环境,本篇文章只讲解基于Visual Studio Code搭建STM32开发环境,如果你不喜欢这个IDE,也可以阅读我之前写的一篇基于Clion IDE开发STM32开发环境,文章:链接。好了,废话有点多,进入正题。^_^

一、环境搭建: 

      1、下载Visual Studio Code : 点击下载

       2、GnuWin32:点击下载,最新版本有问题,下面有低版本下载链接

   

    3、下载交叉编译环境gcc-arm-none-eabi。点击下载

               下载最新的版本(注:下载时要根据自己PC端,下载对应的gcc即可)

               如我的PC环境是win10系统,选择第一个即可。

    4、调试工具OpenOCD(用来调试JLINK 或者STLINK 或者其他)点击下载

              下载最新版本

    5、下载STM32CubeMX驱动代码生成工具。点击下载

              下载时,官网会提示你要注册一个账号,才可下载。该工具是基于JAVA语言开发的,所以还要下载

              JRE,安装JAVA开发环境。 点击下载,下载较新即可,从目前来看安装java8相对比较稳定,新版本有些问题。

来个全家福,如下所示:

整个软件安装包链接

二、软件安装与环境变量配置

1、解压openocd-20201228.7z

       我这是解压放在D盘,如下:

2、安装gcc-arm-none-eabi

3、安装sed-4.2.1-setup.exe

4、安装VSCodeUserSetup-x64-1.53.2.exe

默认即可,傻瓜式安装,下一步下一步。

5、环境变量配置

点击 “确定” 按键完成环境变量配置。

6、检测环境变量配置是否正确

在键盘上,按住 win + R键,如下所示:

分别输入:以下命令,测试

1)openocd -v

证明配置成功

2)make -v

3)arm-none-eabi-gcc -v

4)VSCode 配置

 

分别安装以下插件

1)C/C++(编码语言)

2)Chinese (Simplified) Language Pack for Visual Studio Code (汉化)

3)Comment Translate(注释翻译)

4)GBKtoUTF8(C/C++文件的编码格式转换)

安装好后,如下所示:

(注:需要重新启动VSCode,以上安装的插件才能生效)

Jlink的驱动以及各种相关软件 下载包

安装以上步骤操作即可。

三、开发步骤

1、STM32CubeMX配置基础工程代码

  (注:这里是基于STM32F103C8T6这款芯片生成代码,其它款芯片看官根据自己的需要选型即可。)

 

2、工程生成后,使用VSCode 打开STM32CubeMx生成的工程

3、新建c_cpp_properties.json的配置文件

1)使用Ctrl+Shift+P打开命令行,输入edit configurations(json)它会在工程文件夹下生成一个.vscode文件夹并在其中创建一个c_cpp_properties.json的配置文件。其中的参数修改可以参考Makefile文件。

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**",
                "D:/Program Files (x86)/GNU Arm Embedded Toolchain/10 2020-q4-major/arm-none-eabi/include",
                "D:/Program Files (x86)/GNU Arm Embedded Toolchain/10 2020-q4-major/arm-none-eabi/include/c++/10.2.1",
                "D:/Program Files (x86)/GNU Arm Embedded Toolchain/10 2020-q4-major/arm-none-eabi/include/c++/10.2.1/backward",
                "D:/Program Files (x86)/GNU Arm Embedded Toolchain/10 2020-q4-major/lib/gcc/arm-none-eabi/10.2.1/include",
                "D:/Program Files (x86)/GNU Arm Embedded Toolchain/10 2020-q4-major/lib/gcc/arm-none-eabi/10.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",
                "Core/Inc",
                "Core/Src"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE",
                "USE_HAL_DRIVER",
                "STM32F1xx"
            ],
            "windowsSdkVersion": "10.0.18362.0",
            "compilerPath": "C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.27.29110/bin/Hostx64/x64/cl.exe",
            "cStandard": "c99",
            "cppStandard": "c++17",
            "intelliSenseMode": "windows-msvc-x64"
        }
    ],
    "version": 4
}

当这一步配置好之后代码中的错误就会消失了。

2)同理,使用Ctrl+Shift+P打开命令行,输入tasks它会在工程文件夹下生成一个.vscode文件夹并在其中创建一个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": "openocd -f interface/stlink-v2.cfg -c 'transport select swd' -f target/stm32f1x.cfg"
        }
    ]
}

接下使用VScode的终端,输入《make》,编译工程文件

(注,如果此时,编译不了,重启VScode软件试试)

以上,表示编译完成。

接下来要将VScode的终端换成GitBash,打开VScode设置搜索shell,找个下面这一项,点击在settings.json中编辑。

{
    "terminal.integrated.automationShell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",
    
    /* 放大缩小配置 */
    "files.associations":{
        "main.h":"c",
        "usart.h":"c"
    }
}

键盘按F5,创建 lauch.json文件

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        
        {
            "name": "(gdb) 启动",
            "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": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {"text": "cd ${workspaceFolder}/build"},
                {"text": "file ${workspaceRootFolderName}.elf"},
                {"text": "target remote localhose:3333"},
                {"text": "monitor reset"},
                {"text": "monitor halt"},
                {"text": "load"}
            ]
        }
    ]
}

 

参考文章:https://www.cnblogs.com/silencehuan/p/11815263.html

总结:IDE/编码工具与其它IDE 大同小异。

 

  • 1
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ch_champion

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值