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 + CubeMx开发STM32 -> 正文阅读

[开发工具]VSCode + CubeMx开发STM32

所需软件

1、STM32CubeMx

2、VSCode

3、gcc-arm-none-eabi

4、make

5、Openocd

一、环境配置

1、安装gcc-arm-none-eabi

进到官网选择Linux版本

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DNJwjwBH-1642022193112)(/home/hao/.config/Typora/typora-user-images/image-20220113033144352.png)]

等待下载~

接着直接解压,解压之后用 cd 进到解压的文件目录下,查看一下文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SYaOA4es-1642022193114)(/home/hao/.config/Typora/typora-user-images/image-20220113033454132.png)]

紧接着进到 bin 目录下,查看一下文件信息

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TvPULBiU-1642022193115)(/home/hao/.config/Typora/typora-user-images/image-20220113033610808.png)]

下面我们将此路径添加到环境变量中

打开终端,输入:vim ~/.bashrc 跳转到最后一行,将gcc-arm-none-eabi的bin目录添加进去,添加完成格式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CV0JQWRC-1642022193116)(/home/hao/.config/Typora/typora-user-images/image-20220113034042796.png)]

接着保存退出,并执行:source ~/.bashrc

重启终端,输入arm-none-按下两次Tab键,若出现以下情况,说明环境添加成功

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oTRYGZRB-1642022193117)(/home/hao/.config/Typora/typora-user-images/image-20220113034358423.png)]

2、安装make

命令:sudo pacman -S make

等待安装完成即可

3、安装Openocd

命令:sudo pacman -S openocd

等待安装完成即可

二、软件安装

1、安装STM32CubeMx

进到ST官网,找到Linux版,等待下载完成

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O9BLh4BG-1642022193118)(/home/hao/.config/Typora/typora-user-images/image-20220113035119843.png)]

下载完成后,解压、安装即可,不过多演示

2、安装VSCode

终端命令下载: yay -Sy visual-studio-code-bin

等待下载完成~

三、配置软件

1、CubeMx生成Makefile

我们要使用VSCode开发STM32,所以我们用CubeMx生成代码时,Toolchain/IDE选择Makefile

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5V36eoJa-1642022193119)(/home/hao/.config/Typora/typora-user-images/image-20220113035924880.png)]

其余CubeMx配置不变

2、配置VSCode

说了那么多,重头戏终于到来了

2.1 安装插件

2.1.1 Chinese

汉化VSCode

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8DS2btP0-1642022193120)(/home/hao/.config/Typora/typora-user-images/image-20220113040341762.png)]

2.1.2 vscode-icons

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zUCewzmw-1642022193121)(/home/hao/.config/Typora/typora-user-images/image-20220113041009186.png)]

可以用来更换VSCode文件管理的树目录显示图标,更换效果如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A90TXxLY-1642022193122)(/home/hao/.config/Typora/typora-user-images/image-20220113040938084.png)]

2.1.3 clangd

这个插件是用来代码提示、查看声明等等,非常之强大

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C7Ye12gh-1642022193123)(/home/hao/.config/Typora/typora-user-images/image-20220113041221443.png)]

2.2 代码编写

使用VSCode打开CubeMx生成的文件夹,新建终端,输出make验证工程以及环境配置是否成功

在这里插入图片描述

这种情况就代表编译成功

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lqgUsZsp-1642022193125)(/home/hao/.config/Typora/typora-user-images/image-20220113042012915.png)]

当我们打开main.c时会发现好多红角波浪线,下面我们配置一下文件,使波浪线去掉

在工程的根目录下创建一个文件:compile_flags.txt

在VSCode里面打开compile_flags.txt,然后开始编写,大概内容如下

-Wall
-Wextra
--target=arm-none-eabi
-x
c
-std=c11
-DUSE_HAL_DRIVER 
-DSTM32F429xx
-mcpu=cortex-m4
-mthumb
-I./Core/Inc 
-I./Drivers/STM32F4xx_HAL_Driver/Inc 
-I./Drivers/STM32F4xx_HAL_Driver/Inc/Legacy 
-I./Drivers/CMSIS/Device/ST/STM32F4xx/Include 
-I./Drivers/CMSIS/Include
-isystem
/home/hao/Documents/gcc-arm-none-eabi/lib/gcc/arm-none-eabi/10.3.1/include
-isystem
/home/hao/Documents/gcc-arm-none-eabi/lib/gcc/arm-none-eabi/10.3.1/include-fixed
-isystem
/home/hao/Documents/gcc-arm-none-eabi/arm-none-eabi/include/

下面说一下以上内容来自哪里,我们打开CubeMx生成的Makefile文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z0yIMoXA-1642022193126)(/home/hao/.config/Typora/typora-user-images/image-20220113043534681.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nzuhmiam-1642022193128)(/home/hao/.config/Typora/typora-user-images/image-20220113043626234.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rnKcv6Zs-1642022193130)(/home/hao/.config/Typora/typora-user-images/image-20220113044141415.png)]
在这里插入图片描述

其余照抄,保存之后,再次点开main.c会发现红色波浪线已经消失不见,现在我们就可以编写代码了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CK5aerra-1642022193131)(/home/hao/.config/Typora/typora-user-images/image-20220113044617700.png)]

2.3 编译

每次我们编写代码完成后,打开终端,输入make编译,过程有点繁琐,这个方法不太好

我们可以通过编写tasks.json来一键编译,先按下F1,输入tasks点击配置任务、使用模板创建、Other,此时工程中会出现.vscode文件夹,在他下面我们可以找到tasks.json,打开,更改成以下内容

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xZLCy6aX-1642022193132)(/home/hao/.config/Typora/typora-user-images/image-20220113050644856.png)]

此时按下Ctrl+Shift+b就可以编译了

2.4 下载程序

请参考这篇文章: 使用openocd下载程序(Manjaro系统)

2.5 字符编码

VSCode默认字符编码为UTF-8,一般我们写STM32时常用的是GB2312,我们可以通过书写settings.json来将字符编码默认设置为GB2312

在.vscode下创建文件settings.json,添加 “files.encoding”: “gb2312” 即可
在这里插入图片描述

2.6 其他配置

在我们查看函数声明时,文件会自动跳到函数定义所在文件内,我们可以在settings.json中添加:“explorer.autoReveal”: false 即可
在这里插入图片描述

  开发工具 最新文章
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-01-14 02:11:24  更:2022-01-14 02:11:52 
 
开发: 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年12日历 -2024/12/25 12:23:39-

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