第二章 旅程开始之前: 准备工作与相关注意事项
在本章中, 你将会完成嵌入式开发相关的准备工作 --- 包括相关软件和环境的安装.
开发环境配置
中文路径与用户名
在嵌入式开发的过程中, 一定要避免中文路径和Windows用户名 (C://Users 下的文件夹) 的使用!
否则你在本节的安装过程中就会遇到令人费解的问题. (e.g. can't initialize plugin directory...)
如果你的Windows的用户名已经设置成了中文, 请参考网上的资料对C://Users下的文件夹名称进行更改. (较为推荐这种治本的方式. 网上也有针对软件安装的修复方式, 不过并不保证你之后不会遇到相似的问题)
什么是开发环境?
开发环境是开发软件所需的一整套工具和资源的总称,包括用于编写代码的编辑器,将源代码转化为硬件可以执行的机器码的编译器, 帮助发现和修复错误的调试工具,以及嵌入式开发中特有的工具链.
Visual Studio 的本质:集成开发环境
在大一的C++课程中, 我们只需要安装好Visual Studio, 点两下鼠标,就可以创建工程, 编写代码, 构建项目, 运行程序. VisualStudio集成了所有必要的工具,可以让我们一站式完成代码编写、代码调试、程序运行等任务, 所以我们把它称为IDE, 即Integrated Development Environment,翻译为集成开发环境.
然而, 相较于 C++ 课程, 嵌入式开发需要面对不同的硬件环境:软件程序不再是直接在你的电脑上运行, 需要被下载到特定的单片机上. 这意味着在嵌入式开发中,代码不仅仅是在计算机的虚拟环境中执行,还需要与硬件紧密配合,因此,我们需要配置一套新的开发环境. 这种环境不仅仅依赖Visual Studio这样的通用IDE,还需要特定的工具链和硬件支持.
配置CubeIDE作为开发环境
关于Keil
如果你习惯于使用Keil, 那你可以忽略本节. 尽管Keil作为嵌入式开发IDE方面的权威备受工业界推崇, 但它无论是从界面还是代码编写体验上讲都实在不是一个合格的现代IDE.
这里我们推荐使用的是ST公司专为stm32开发定制的IDE, STM32CubeIDE.
请按照安装开发环境 STM32CubeIDE | keysking的stm32教程-哔哩哔哩视频中的指引安装好CubeIDE.
若安装过程中出现一系列问题请自行查阅CSDN、波特律动网站等资料
*配置CLion作为开发环境 (可选)
CLion是Jetbrains推出的C/C++ IDE, 以其友好的界面, 强大的代码提示, 高效的代码重构工具而闻名. 如果你愿意为更好的开发体验而折腾, 不妨尝试为CLion添加STM32开发支持. CLion在2019年起就开放了对STM32开发的官方支持.
配置的方法可以寻找稚晖君的知乎文章, 以及一些其他的博客文章.
CubeMX的版本
STM32CubeMX 在6.5版本之后无法生成CLion所需要的SW4STM32类型项目, 在安装时可以到官网选择旧版本, 或是参考本文章.
*配置VSCode作为开发环境
截止目前, 用VSCode配合MDK6的使用体验已经非常不错, 尤其是界面比起Keil美观了不是一星半点, 学起来都更有动力一些(尽管我觉得就是ARM懒得设计好看的IDE, 直接写了个VSCode插件摆烂). 关于在Windows和Ubuntu两种系统上的配置方法, 你都可以在这里找到.
熟悉全新的世界
在配置完开发环境后, 如果你还没觉得头昏眼花, 先试着熟悉一下环境吧.
- 生成一个新项目(选择什么型号/开发板?)
- 生成的项目十分庞大, 它的文件组织结构大致是什么样的?
- 之后需要在这里编写代码, 那么代码应该写在哪里? (程序设计课的时候代码是写在哪里的?) (aka. 一个程序的入口在哪里?)
- 激动人心的时刻: 点击构建(Build), 编译项目试试看吧!
开发板型号以及相关参考
在培训中,我们使用的开发板是ST官方基于STM32F413ZH设计的Nucleo开发板. 在这里提供之后会用到的一些参考手册和资料.
- STM32F4中文参考手册: ST官方的F4系列参考手册, 详细介绍了每一个外设的细节. 是嵌入式开发最权威的参考资料.
- STM32实验指导书: 学院大三电子系统设计课程的实验指导书, 供一些细节操作参考使用.
修改记录
本章修改记录
2024/2 完成编写 (顾雨杭)
2024/3 网页适配 (顾雨杭)
2025/1 内容修改 (王皓瑞)