neozng1@hnu.edu.cn
本教程的示例代码是笔者参加RoboMaster机甲大师赛为机器人编写的控制器框架,你可以直接克隆仓库,阅读仓库下的Markdown文档获得更好的体验,记得点一个小⭐: basic_framework: basic_framework (gitee.com)
所有安装包也可以在此百度网盘链接下获得:
链接: https://pan.baidu.com/s/1sO_EI4cToyIAcScOQx-JSg?pwd=6666
提取码:6666
环境配置
- 所有需要编辑的配置文件都已经在basic_framework的仓库中提供,如果不会写,照猫画虎。
- 安装STM32CubeMX,并安装F4支持包和DSP库支持包
- 安装VSCode,并安装以下插件:
- C/C++:提供C/C++的调试和代码高亮支持
- Better C++ Syntax:提供更丰富的代码高亮和智能提示
- C/C++ Snippets:提供代码块(关键字)补全
- Cortex-Debug和Cortex-Debug: Device Support Pack - STM32F4:提供调试支持
- IntelliCode和Makfile Tools:提供代码高亮支持

- 安装MinGW,等待界面如下:

安装好后,打开MinGW后将所有的支持包勾选,然后安装:


安装完以后,将MinGW的bin文件夹添加到环境变量中的path下,按下菜单键搜索编辑系统环境变量打开之后:

图片看不清请打开原图。验证安装:
打开命令行(win+R,cmd,回车),输入gcc -v,如果没有报错,并输出了一堆路径和参数说明安装成功。
- 配置gcc-arm-none-eabi环境变量,把压缩包解压以后放在某个地方,然后同上,将工具链的bin添加到PATH:
安装路径可能不一样,这里要使用你自己的路径而不是直接抄
验证安装:
打开命令行,输入arm-none-eabi-gcc -v,如果没有报错,并输出了一堆路径和参数说明安装成功。
添加到环境变量PATH的意思是,当一些程序需要某些依赖或者要打开某些程序时,系统会自动前往PATH下寻找对应项。 一般需要重启使环境变量生效。
- 将OpenOCD解压到一个文件夹里,稍后需要在VSCode的插件中设置这个路径。
- CubeMX生成代码的时候工具链选择makefile

生成的目录结构如下:

Makefile就是我们要使用的构建规则文件。
如果你使用basic_framework,不需要重新生成代码。
VSCode编译和调试配置
VSCode常用快捷键包括:
| 功能 | 快捷键 |
|---|---|
| 选中当前行 | Ctrl+L |
| 删除当前行 | Ctrl+Shift+K |
| 重命名变量 | F2 |
| 跳转到定义 | Ctrl+点击 |
| 在打开的文件页中切换 | Ctrl+Tab |
| 在当前文件查找 | Ctrl+F |
| 在整个项目文件夹中查找 | Ctrl+Shift+F |
| 查找所有引用 | Alt+Shift+F12 |
| 返回上一动作 | Alt+左 |
更多快捷键可以按ctrl+K再按ctrl+S显示,并且可以修改成你最习惯的方式。此外,使用Snippets可以大幅度提高重复性的代码编写速度,它可以直接帮你补全一个代码块(如for、while、switch);补全和snippet都使用Tab键接受代码提示的提议,通过↑和↓键切换提示。
编译
为了提供完整的代码高亮支持,需要配置Makefile tools插件的make程序路径,ctrl+,打开设置,搜索make path找到设置并填写:

mingw32-make就是下面介绍的make工具(配合makefile替代手动调用gcc)。这里之所以只要输入mingw32-make而不用完整路径,是因为我们将mingw的bin文件夹加入环境变量了,因此系统会在PATH下自动寻找对应项
用VSCode打开创建的项目文件夹,Makefile Tools插件会询问你是否帮助配置intellisense,选择是。
此时就可以享受intellicode带来的各种便利的功能了。我们的项目使用Makefile进行编译,在之前的编译介绍中,以GCC编译器为例,如果需要编译一个文件,要输入如下命令:
gcc your_source_code_name.c -o output
然而,你面对的是一个拥有几百个.c和.h文件以及大量

本教程详细介绍了如何使用VSCode和CubeMX搭建STM32F4开发环境,包括环境变量配置、Makefile使用及调试技巧等内容。
最低0.47元/天 解锁文章
956

被折叠的 条评论
为什么被折叠?



