Ⅰ、写在前面
相信很多人都知道STM32CubeMX这个工具,也是近年来开发STM32比较流行的一个工具。这个工具从两年前第一版到现在已经有多个版本了,功能也从简单越来越强大了。
STM32CubeMX是一个配置STM32代码的工具,它把很多东西封装的比较好,硬件抽象层、中间层、示例代码等。
现在ST公司主要升级和维护的库主要就是“Cube库”和“标准外设库”,使用这两种库开发各有各的好处,这里详细描述。
如果你是一名刚学STM32的初学者,想要把硬件底层搞的很明白,不建议使用STM32CubeMX这个工具,建议使用之前经典的标准外设库来开发(先学习标准外设库,但有毕竟要抽时间了解STM32CubeMX)。标准外设库可以很简单直接跟踪到底层寄存器,而Cube库里面的代码想要跟踪并理解底层很难。
如果你是一名熟练了标准外设库的人,有必要学习并使用STM32CubeMX来开发程序。
Ⅱ、STM32CubeMX的介绍
STM32CubeMX是一个图形化的工具,也是配置和初始化C代码生成器(STM32 configuration and initialization C code generation),也就是自动生成开发初期关于芯片相关的一些初始化代码。
从上图可以看得出,它包含了STM32所有系列的芯片,包含示例和样本(Examples and demos)、中间组件(Middleware Components)、硬件抽象层(Hardwaree abstraction layer)。
STM32CubeMX的特性如下:
1.直观的选择 STM32 微控制器。
2.微控制器图形化配置:
-自动处理引脚冲突
-动态设置确定的时钟树
-可以动态确定参数设置的外围和中间件模式和初始化
-功耗预测
3.C 代码工程生成器覆盖了STM32 微控制器初始化编译软件,如IAR,KEIL,GCC。
4.可独立使用或作为 Eclipse 插件使用。
STM32CubeMX是意法半导体 STMCube的主动原创,可以减轻开发工作,时间和费用。STM32Cube 覆盖了 STM32 系列。
STM32Cube 包括 STM32CubeMX,STM32CubeMX 是一款图形化软件设置工具,允许使用图形化向导来生成 C 初始化代码。
它也集成了一个全面的软件平台,支持每一个系列(例如STM32F4系列的STM32CubeF4)。这个平台包括 STM32Cube HAL(一个 STM32 的抽象层集成软件,确保STM32 系列最大的移植性。)再加上兼容的一套中间件(RTOS,USB,TCP/IP 和图形) ,所有内嵌软件组件附带了全套例程。