新建你的第一个STM32工程?从STM32CubeMX到STM32CubeIDE完整流程
上一篇文章中,我们一起完成了 STM32CubeMX 的安装。
到这里,我们学习 STM32 开发需要的软件环境基本就搭建完成了。
回想一下,从最开始准备学习 STM32,到现在我们已经完成了几件事情:
- 选择第一块开发板;
- 安装 STM32CubeIDE;
- 安装 STM32CubeMX。
可能有些刚开始学习的小伙伴会有疑问:
我不是来学习写嵌入式程序的吗?怎么折腾这么久,一行代码还没写?
其实这正是嵌入式开发和普通软件开发不太一样的地方。
在真实的嵌入式开发中,我们使用的并不是某一个单独的软件,而是一整套工具链(Toolchain)。
在实际开发中,我们经常把完成软件开发过程中需要配合使用的一系列工具,统称为开发工具链。
比如:
STM32CubeMX 负责芯片配置和初始化代码生成;
STM32CubeIDE 负责代码编写、编译和调试;
ST-Link 负责程序下载和在线调试;
开发板负责运行我们的程序。
它们组合在一起,才构成了一套完整的嵌入式开发环境。
就像一个工匠开始工作之前,需要先准备好自己的工具箱一样。
嵌入式工程师开始开发之前,也需要先搭建好自己的工具链。
所以前面几篇文章,我们其实一直在做一件事情:
打造属于自己的第一套嵌入式开发工具链。
当这套工具链搭建完成以后,我们后面的重点才会逐渐转移到代码、外设和项目开发上。
那么从这篇文章开始,我们终于要让这套工具链真正运转起来。
今天我们要创建自己的第一个 STM32 工程。
一、新建工程
1、打开STM32CubeMX
首先打开STM32CubeMX,界面如下图,然后我们点击ACCESS TO MCU SELECTOR按钮,就是通过MCU型号来新建工程

有时候会弹出更新对话框,这个等待软件自己更新完成就可以,如下图

2、选择MCU
我们之前文章中选择的最小系统板的MCU型号为STM32F030F4P6,那么我们在左上角的Commercial Part Number中输入STM32F030F4P6即可,此时在界面的右下部分区域,MCUs/MPUs List中可以看到STM32F030F4P6,选择这个即可。
可能会看到带TR后缀和不带TR后缀的型号,TR表示芯片的包装方式(Tape & Reel,卷带包装),不会影响芯片功能,所以这里选择任意一个都可以。
选择完成过后点击右上角的Start Project按钮,如下图

3、Project Manager配置
点击Start Project后会弹出如下窗口,我们在界面的中间区域就可以看到这个MCU的示意图。然后选择上面的Project Manager选项卡

显示出如下的界面,在Project Name栏里输入工程名,Project Location栏里输入工程存储地址,接下来是最关键的一步:
Toolchain/IDE一定要选择STM32CubeIDE
因为我们这次整个开发都是在STM32CubeIDE中完成的。

之后点击右上角的GENERATE CODE按钮,工程就开始创建了

创建完成后弹出如下对话框

我们点击Open Project按钮就会自动跳转到STM32CubeIDE中去,STM32CubeIDE打开时会弹出如下图的对话框,直接点击Launch就可以

4、简单认识STM32CubeIDE界面
打开后界面如下图,在左侧的Project Explorer区域我们可以看到刚刚建立的工程

我们展开工程,可以看到里面的各种程序文件。

找到RGB_Led->Core->Src->main.c,双击打开,就可以在界面中部的代码编辑器中看到main.c的代码,如下图所示

5、编译工程
我们平时编写的程序通常是使用C语言或者汇编语言完成的,但是MCU内部的CPU并不能直接理解这些代码,它只能执行由0和1组成的机器指令。因此,我们需要通过编译器等工具,将我们编写的代码转换成MCU可以执行的机器码,最后下载到芯片内部运行。
在界面上边找到那个小锤子图标,即为编译(Build)按钮。如下图所示

STM32CubeIDE中的编译(Build)操作,会自动调用底层的编译工具完成代码编译和链接过程。点击编译按钮后,可以在界面下面的Console窗口中看到编译过程以及结果。如下图所示

我们可以看到编译结果会显示错误数(0 errors)和警告数(0 warnings)。
如果这里显示 0 errors,0 warnings,说明我们的第一个 STM32 工程已经成功编译通过。
相信所有写过程序的人,都喜欢看到这两个数字:
0 errors,0 warnings。
二、小结
到这里,我们终于完成了第一个 STM32 工程的创建。
虽然目前这个工程还没有实现任何具体功能,但是我们已经成功跑通了 STM32 工程从创建到编译的基本流程。
从 STM32CubeMX 配置芯片;
到生成 STM32CubeIDE 工程;
再到编译代码,生成 MCU 可以运行的程序文件。
我们前面搭建的这套 STM32 开发工具链(Toolchain),终于开始真正工作起来了。
下一篇文章,我们就正式开始控制 STM32 的 GPIO 外设,完成嵌入式开发中最经典的第一个实验:
点亮 LED。
更多推荐
所有评论(0)