本章对STM32CubeMX的安装和使用做简单介绍
STM32CubeMX是一种图形化工具,它允许非常简单地配置STM32微控制器和微处理器,并通过逐步过程为Arm®Cortex®-M内核生成相应的初始化C代码,或为Arm™Cortex®-a内核生成部分Linux®设备树。
STM32CubeMX 具有如下特性:
① 直观的选择 MCU 型号,可指定系列、封装、外设数量等条件;
② 微控制器图形化配置;
③ 自动处理引脚冲突;
④ 动态设置时钟树,生成系统时钟配置代码;
⑤ 可以动态设置外围和中间件模式和初始化;
⑥ 功耗预测;
⑦ C 代码工程生成器覆盖了 STM32 微控制器初始化编译软件,如 IAR, KEIL, GCC;
在网上有时候会发现有的人下载STM32Cube,这里解释下STM32CubeMX 和 STM32Cube 的关系, STM32Cube 包含 STM32CubeMX 图形工具和 STM32Cube 库两个部分,使用 STM32CubeMX 配置生成的代码,是基于 STM32Cube 库的。
STM32CubeMX软件获取方式很多,直接从 ST官方下载也是免费的,下载地址为: https://www.st.com/en/development-tools/stm32cubemx.html,安装过程也比较简单,我下载的版本为6.3.0,可以使用更高的版本,如6.6.0,会比较智能,直接双击 SetupSTM32CubeMX-xxxx.exe,安装步骤如下:
1.启动安装
2.接受许可协议
3.制定安装路径
4.选择创建图标和快捷方式
5.自动安装组件包。
6.软件安装完成
前面讲到了STM32CubeMX 和 STM32Cube 的关系,如果想查看当前已下载的STM32Cube可以在这里看到,现在STM32CubeMX已经很智能了,如果你选择的芯片没有STM32CubeMX包,软件会自动下载。这里不用单独去下载STM32Cube固件包。
下面我们来体验一下STM32CubeMX,新建项目,方法有两种如下图,这里
新建工程后,可能会弹出下载窗口,提示需要联网下载一些文件,可能等待时间比较长,可以直接选择取消即可。我们可以通过关闭自动更新设置来禁止弹出这个窗口。
可以通过输入芯片型号后缀快速搜索到对应芯片,右下角选择你的芯片对应的确切型号,然后点击Start Project
新建好项目,接下来我们进行配置,配置的一般步骤如下:
RCC(Reset and Clock Control):复位和时钟控制
HSE:外部高速时钟
LSE:外部低速时钟
CrystakCeramic Resonator :外部晶振时钟源
BYPASS Clock Source :旁路时钟源。所谓旁路模式,是指无需上面提到的使用外部晶体时所需的芯片内部时钟驱动组件,直接从外界导入时钟信号。犹如芯片内部的驱动组件被旁路了。
有源晶振一般是四脚封装,电源、地线、振荡输出和一个控制端【或者悬空端】。相比无源晶体,有源晶振本身就是个完整的振荡器件,只需要供给适当的电源就能输出时钟,无须额外的振荡驱动匹配电路。其时钟输出不依赖于外部器件振荡电路,相对更不容易受外部线路不稳定性的影响。自然其价格往往要高于无源晶体,不过其输出电平幅度往往不能像无源晶体那样随着应用电路的变化而变化。
不难看出,如果使用有源晶振作为外部时钟源的话,我们应该配置为HSE旁路模式,而不是HSE晶体模式。将有源晶振的输出脚接到MCU的OSC_IN脚。
进入 Clock Configuration 配置栏之后可以看到,界面展现一个完整的 STM32F1 时钟系统框图。从这个时钟树配置图可以看出,配置的主要是外部晶振大小,分频系数,倍频系数以及选择器。在我们配置的工程中,时钟值会动态更新,如果某个时钟值在配置过程中超过允许值,
那么相应的选项框会红色提示。
CubeMX 默认把 Debug 选项关闭了,这里需要打开Debug 选项,否则可能会导致错误。具体debug选项很多,根据你的开发板情况进行选择。
输入项目名称,项目存放路径,选择IDE和对应的版本,以及固件包
打开 Project Manager-> Code Generator 选项, Generated files 生成文件选项:
建议勾选 Generate peripheral initialization as a pair of ‘.c/.h’files per peripheral,勾选这个选项的话将会将每个外设单独分开成一组.c、 .h 文件,使得代码结构更加的清晰,增强代码的可读性。
建议勾选生成工程时仅仅复制用到的库,从而达到减小工程大小的目的。 CubeMX 默认勾选了复制所有的库,即工程中不使用到的代码也会复制进来。
最后点击GENERATE CODE,生成代码
点击Open Project即会通过keil5 IDE打开代码
本章简单介绍了STM32CubeMX的软件安装和配置的大致流程,后续会对重要的部分重点逐一展开介绍。