STM32
直播中

李皓圳

7年用户 1068经验值
私信 关注
[问答]

如何利用Clion IDE搭建STM32开发环境?

如何利用Clion IDE搭建STM32开发环境?

回帖(1)

蔡维林

2021-11-26 11:52:46
概述

      由于本人之前开发过一段时间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 大同小异。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分