IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> VSCODE CUEMX STM32开发环境 -> 正文阅读

[开发工具]VSCODE CUEMX STM32开发环境

所需软件

编号作用软件
1make工具make minigw-make
2编译工具arm-none-eabi-gcc
3调试工具OpenOCD
4STM32 配置工具STM32CUBEMX
5编辑工具vscode
6版本控制git
7调试工具Cortex-Debug

安装软件

  1. git 工具
    优先安装git管理工具。可以用于验证后面环境变量的配置是否成功。

  2. make 工具
    make可用于执行make命令
    minigwminigw内的make工具为minigw-make所以建议重命名为make。
    两个工具二选一,都是执行make命令的工具,需要添加环境变量。

    验证环境变量
    【右键】–>【git bash】

     make -v  //会显示工具版本信息
    
  3. 编译工具

    arm 编译工具
    双击安装后,添加环境变量
    验证环境变量
    【右键】–>【git bash】

     arm-none-eabi-gcc -v //会显示工具版本信息
    
  4. 调试工具
    openocd是压缩包,解压到安装位置后添加环境变量
    验证环境变量
    【右键】–>【git bash】

     openocd -v //会显示工具版本信息
    

测试编译工具链

  1. 使用stm32cubemx创建一个测试项目,项目类型为makefile类型
    注意,需要是能mcu的调试功能,否则无法二次链接mcu

  2. 打开测试项目文件夹

  3. 【右键】–>【git bash】

     make
     ----------------------------------------------------------------
     arm-none-eabi-size build/STM32F103_TEST.elf
        text    data     bss     dec     hex filename
        3776      20    1636    5432    1538 build/STM32F103_TEST.el
     arm-none-eabi-objcopy -O ihex build/STM32F103_TEST.elf build/ST
     arm-none-eabi-objcopy -O binary -S build/STM32F103_TEST.elf bui
    

配置vscode 进行编译

通过vscode 打开测试项目文件夹

编号文件名说明作用
1seting. json项目设置文件主要针对项目的vscode配置
2c_cpp_properties.jsonc语言项目配置文件包含头文件路径 和编译器信息等
3launch.json调试配置文件
4task.json任务配置文件可用于创建相关任务
  1. 替换项目默认终端

    seting.json

      "terminal.integrated.defaultProfile.windows": "D:/Program Files/Git/bin/bash.exe",
    
  2. 编辑c语言项目配置文件
    创建 c_cpp_properties.json
    【F1】–>【输入 “C++”】 -->【C/C++编辑配置(JSON)】

     {
     "configurations": [
         {
             "name": "Win32",
             "includePath": [
                 "${workspaceFolder}/**",
                 "${workspaceFolder}/stm32_cubemx/Drivers/STM32F7xx_HAL_Driver/Inc",
                 "${workspaceFolder}/stm32_cubemx/Drivers/CMSIS/Device/ST/STM32F7xx/Include",
                 "${workspaceFolder}/stm32_cubemx/Drivers/CMSIS/Include",
                 "D:/Program Files (x86)/GNU Tools ARM Embedded/5.4 2016q3/arm-none-eabi/include",
                 "D:/Program Files (x86)/GNU Tools ARM Embedded/5.4 2016q3/arm-none-eabi/include/c++/5.4.1",
                 //"D:/Program Files (x86)/GNU Tools ARM Embedded/5.4 2016q3/arm-none-eabi/include/c++/5.4.1/arm-none-eabi/thumb/v7-m",
                 "D:/Program Files (x86)/GNU Tools ARM Embedded/5.4 2016q3/arm-none-eabi/include/c++/5.4.1/backward",
                 "D:/Program Files (x86)/GNU Tools ARM Embedded/5.4 2016q3/arm-none-eabi/include/sys",
                 "D:/Program Files (x86)/GNU Tools ARM Embedded/5.4 2016q3/lib/gcc/arm-none-eabi/5.4.1/include",
                 "D:/Program Files (x86)/GNU Tools ARM Embedded/5.4 2016q3/lib/gcc/arm-none-eabi/5.4.1/include-fixed"
             ],
             "defines": [
                 "_DEBUG",
                 "UNICODE",
                 "_UNICODE"
             ],
             "compilerPath": "D:/Program Files (x86)/GNU Tools ARM Embedded/5.4 2016q3/bin/arm-none-eabi-gcc.exe",
             "cStandard": "gnu11",
             "cppStandard": "gnu++14",
             "intelliSenseMode": "windows-gcc-x86"
         }
     ],
     "version": 4
    

    }

  3. 任务配置文件
    创建 tasks.json
    【F1】–>【输入 “tasks”】 -->【任务:配置默认生成任务】

     {
     // See https://go.microsoft.com/fwlink/?LinkId=733558
     // for the documentation about the tasks.json format
     "version": "2.0.0",
     "tasks": [
     {
         "label": "build",
         "type": "shell",
         "command": "make",
         "args": [],
         "group": "build",
     },
     {
         "label": "clean",
         "type": "shell",
         "command": "make",
         "args": [
             "clean"
         ],
         "group": "build",
     }
     ]
     }
    
  4. 编译项目
    [CTRL + SHIF +B]

Cortex Debug

  1. 配置路径
    【文件】–>【首选项】–>【设置】–>【Cortex Debug】–>【arm toolchain patch】

     //gcc 路径
     "cortex-debug.armToolchainPath": "D:/Program Files (x86)/GNU Tools ARM Embedded/5.4 2016q3/bin",
     //JLINK路径
     "cortex-debug.JLinkGDBServerPath": "D:/Program Files (x86)/SEGGER/JLink_V632f/JLinkGDBServerCL.exe",
     //opeocd 路径
     "cortex-debug.openocdPath": "D:/Program Files/OpenOCD-20211118-0.11.0/bin/openocd.exe",
    
  2. 创建 launch.json
    点击【调试按钮】–>【创建 launch.json 文件】–>【 Cortex Debug】

     {
     "version": "0.2.0",
     "configurations": [
         {
             "cwd": "${workspaceRoot}",
             "executable": "./build/${workspaceRootFolderName}.elf",
             "name": "Debug stlink",
             "request": "launch",
             "type": "cortex-debug",
             "servertype": "openocd",
             "runToMain": true,
             "configFiles": [
                 "interface/stlink.cfg",
                 "target/stm32f1x.cfg",
             ]
         },
         {
             "cwd": "${workspaceRoot}",
             "executable": "./build/${workspaceRootFolderName}.elf",
             "name": "Debug Jink",
             "request": "launch",
             "type": "cortex-debug",
             "servertype": "jlink",
             "interface": "swd",
             "runToMain": true,
             "device": "STM32F103C8",
             "configFiles": [
                 "interface/jlink.cfg",
                 "target/stm32f1x.cfg",
             ]
         }
     ]
     }
    

由于 jlinkv8不支持stm32f7故只保留stlink配置
注意供电不足会造成能够连接mcu,但是无法正常仿真的情况

	{
	    "version": "0.2.0",
	    "configurations": [
	        {
	            "cwd": "${workspaceRoot}",
	            "executable": "./build/${workspaceRootFolderName}.elf",
	            "name": "Debug stlink",
	            "request": "launch",
	            "type": "cortex-debug",
	            "servertype": "openocd",
	            "runToEntryPoint": "main",
	            "runToMain": true,
	            "configFiles": [
	                "interface/stlink.cfg",
	                "target/stm32f7x.cfg",
	            ]
	        },
	    ]
	}
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-03-22 20:48:22  更:2022-03-22 20:48:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 4:22:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码