STM32Cube工具学习笔记(一)Cube配置

时间:2024-03-14 10:35:58

 

转载地址:https://blog.csdn.net/JiaLiang_825/article/details/78875328

前几周接触到了STM32CubeMX这个工具,以下简称Cube,先简单介绍一下这个工具吧。

STM32CubeMX是ST出的一款免费的开发工具,近几年ST也在一直大力推这个工具,也在推行新的HAL库(an STM32 abstraction layer embedded software ensuring maximized portability across the STM32 portfolio)硬件抽象层API。使用HAL库开发的好处是方便用户在不同的芯片平台上移植代码。

Cube的作用是通过图形化的配置生成基础的工程文件,生成的文件包含了芯片初始化代码,现支持IAR、MDK、TureSTUDIO等IDE, 对于用惯了使用标准库开发的我来说我觉得还是非常方便的。

先说一下用Cube配置STM32工程的过程:
我这边常用的IDE是KEIL 5 相信大部分人都用的是这个环境,我常用MCU是STM32F103这个系列,也是烂大街的ARM入门级的单片机。

首先打开软件:
STM32Cube工具学习笔记(一)Cube配置
界面看上去非常简洁,下面直接点击下面的蓝色字体 New Project就会弹出下面的界面:
STM32Cube工具学习笔记(一)Cube配置
可以看到这里有一个芯片的选型界面,可以针对不同的应用可以选择不同芯片进行开发,方便用户选型。
双击目标芯片后会弹出下面的界面:

STM32Cube工具学习笔记(一)Cube配置
这边就是Cube主要的配置界面,可以看到左边的可以对内部的一些外设资源进行配置,右边是目标芯片的pin mapping 看上去还是非常直观的,点击相应的引脚还能看到引脚的一些复用功能,非常有利于新手开发,不用一直查手册去找对应引脚的功能。

1.先配置一下一下芯片的外部时钟源、RCC时钟和单片机调试接口,先让单片机工作起来:
STM32F103有两个时钟源:HSE(高速时钟)和LSE(低速时钟)这 两个时钟信号分别由外部的晶体振荡器产生,先找到对应的引脚并将其设置为对应的功能
STM32Cube工具学习笔记(一)Cube配置
两个晶体振荡器一共是四个引脚,配置完后,对应的引脚显示绿色
在左边的功能配置中找到RCC,HSE和LSE都选择Crystal
STM32Cube工具学习笔记(一)Cube配置
配置完RCC后找到SYS,Debug调试模式选择Serial Wire(SW),时基源选择SysTick(系统时钟),PA13和PA14这两个引脚配置成SW模式的SWCLK和SWDIO这边引脚的配置就结束了。

2.点击第二个选项卡Clock Configuration进入时钟配置
进入之后直接可以看到芯片内部的时钟树
STM32Cube工具学习笔记(一)Cube配置
这边的配置比较简单根据实际的工作需求可以选择不同时钟频率。

3.进入下一个Configuration界面,这个配置可以理解为一个总体的配置
STM32Cube工具学习笔记(一)Cube配置
这里可以配置串口、中断、DMA等外设的具体参数,这边由于没用到任何其他外设这边就不需要对这边的配置进行修改,保持默认就可以了。

4.最后一个Power Consumption Calculator 功耗计算器,这边可以根据芯片频率和选择外设的数量和种类计算出一个大概的功耗。

现在一个简单的基本芯片工作配置就结束了,之后就是要生成对应的工程模板
点击Project -> Setting
STM32Cube工具学习笔记(一)Cube配置
进入配置页面:
STM32Cube工具学习笔记(一)Cube配置
填一个项目名称,把Toolchain/IDE 更改成MDK-ARM V5 其他选项保持默认

进入第二个选项卡:Code Generator代码生成 修改如下
STM32Cube工具学习笔记(一)Cube配置
为了减少编译文件,这里选择只拷贝必要的库文件到项目中,勾选为每个外设生成对应的 .c和.h文件,这样方便对每个外设的代码进行管理和修改。
到此所有配置结束 点击Project -> Generate Code 后,Cube会在之前设置的目录下生成工程文件:
STM32Cube工具学习笔记(一)Cube配置
项目文件在MKD-ARM文件夹下。
打开项目编译没有问题
STM32Cube工具学习笔记(一)Cube配置

这样Cube配置的部分就告一段了,使用还是非常方便的,避免以往繁琐的项目新建过程,往后的项目开发可能会经常用的这个工具。