STM32实战 1 | STM32Cube生态系统认识与介绍
首先介绍一下STMCube生态系统:
一、STM32Cube Ecosystem STM生态系统
-
STM32Cube是ST公司开发的一套生态系统,致力于使STM32的开发变的更简单,并且100%开源免费。
-
STM32Cube是软件工具和嵌入式软件库的组合:
全套 PC 软件工具可满足完整项目开发周期的所有需求
为在 STM32 微控制器和微处理器上运行而制作的嵌入式软件砖,将带来各种功能(从 MCU 组件驱动程序到更高级的面向应用程序的功能)
它包括两大部分:
- PC软件工具套:
STM32CubeMX、STM32CubeIDE、STM32CubeProgrammer、STM32CubeMnitor等 - 软件库:STM32 Embedded Software bricks
二、PC软件工具套
-
STM32CubeMX:适用于任何 STM32 设备的配置工具
由Java
语言编写的工具,可以在Windows、Mac、Linux平台下运行,用户可以通过图形用户界面对微处理器进行配置,然后为Cortex-M 内核
生成初始化 C 代码
,或者为Cortex-A 内核
生成Linux 设备树源
。
(STM32CubeMX的作用)
(STM32支持系列)
-
STM32CubeIDE:集成开发环境
该工具基于 Eclipse 或 GNU C/C++ 工具链等开源解决方案,此IDE
除了基本的编辑和编译功能,还包括代码编译报告功能和高级调试功能。另外,该IDE
也集成了CubeMX
。
STM32CubeProgrammer:程序下载工具(将程序编译后烧录至单片机内)
该工具可通过各种可用的通信方式(JTAG、SWD、UART、USB DFU、I2C、SPI、CAN
等)为读取、写入和验证设备和外部存储器提供了一个易于使用且高效的环境。
- STM32CubeMonitor:强大的监控工具
可帮助开发人员实时微调其应用程序的行为和性能。
这四个工具伴随整个STM32的开发流程:
三、STM32Cube MCU Packages(STM32外设控制Packages)
STM32Cube MCU Packages
是STM32Cube
提供的对于每个MCU产品的软件包(操作可用外设集所需的所有嵌入式软件块),其中包括:
底层库代码:
- 硬件抽象层 (
HAL
) :通过标准化 API 调用实现不同 STM32 设备之间的可移植性 - 低层 (
LL
) :API,轻量级、优化、面向专家的 API 集,旨在提高性能和运行时效率
中间件代码:
中间件组件的集合,非常丰富
包括RTOS、USB 库、文件系统、TCP/IP 堆栈、触摸感应库或图形库(取决于 STM32 系列)RF叠加诸如蓝牙® LE 5.2,的OpenThread,紫蜂3.0,LoRaWAN ®和Sigfox
,具体到每一个无线STM32系列
用户代码:
STM32Cube
提供初步写好的用户代码,开发者可以在此基础上开发各种应用
截至2021.9,STM32Cube软件包
对STM32全系列产品的支持情况如下表:
STM32Cube Expansion
STM32Cube扩展包补充了STM32Cube MCU Packages
的功能,支持在传感、电源管理、连接或音频
等领域实现特定的应用用例。目前已有的软件扩展包有:
- 用于云连接的即用型扩展包(Amazon AWS,Microsoft Azure,IBW Watson等)
- LoRa
- 蜂窝连接
- NFC
- 工业通信协议
- 加密库
- 传感器驱动程序
- 电机控制算法
- 安全自测库
至此,对STM32Cube生态系统
的介绍完毕。
- 点赞
- 收藏
- 关注作者
评论(0)