STM32 - Cube介绍
打开ST芯片的官网:Home - STMicroelectronics。
在菜单栏里逐级找到:“Tools & Software” -> "Ecosystems" -> "STM32Cube Ecosystem",然后点开。
STM32Cube - Discover the STM32Cube Ecosystem - STMicroelectronics
STM32Cube系统是一个用于STM32的控制器和处理器芯片的完整的软件解决方案。目的是为用户使用STM32芯片找到完整的和免费的开发环境,同时也使用其他IDE的用户,比如Keil或iAR,也能方便的和这个系统里的组件集成到一起。
简单的说STM32Cube是一个软件工具和嵌入式软件库的组合。
- 一整套PC软件工具,来解决完整的项目开发周期中的各种需求。
- 一些嵌入式软件库,用来在STM32芯片上实现各种功能,从MCU外设驱动到面向应用的高级特性。
Cube的寓意是魔方,有很多个小方块组成。如下图:
Inside the STM32Cube ecosystem
右边的Azure RTOS,是不是没听过,我之前也只知道用的最多是免费的FreeRTOS。
那这个Azure RTOS,就是之前的ThreadX,被微软收购并开源了。ThreadX是收费的RTOS系统,性能上更强大。我也是才上网查了下才知道,2019年就收购拉。
如此一来,这个优秀的RTOS就代替FreeRTOS,集成进了STM32Cube系统中。
A. STM32Cube软件工具套件可以在各个开发阶段助力开发者:
- STM32CubeMX, STM32设备配置工具. 用图形化的界面工具,为Cortex-M芯片生成初始化代码,为Cortex-A芯片生成Linux Device Tree。
- STM32CubeIDE, 一个集成开发环境,基于开源的Eclipse工具和GNU C/C++ toolchain。 并能更好的和其他Cube工具配合,比如方便集成CubeMX自动生成的初始化代码。不过大家可能用的比较多还是IAR和Keil。
- STM32CubeProgrammer, 一个烧写工具。它提供了一个简单有效的环境,来读、写和验证片内存储和片外存储,支持广泛的通讯方式:JTAG, SWD, UART, USB DFU, I2C, SPI, CAN, etc.
- STM32CubeMonitor系列工具。强大的监视哦工具,用来帮助开发者功耗的优化有实时性要求的应用的行为和性能。
B. STM32Cube嵌入式软件库帮助开发者加快开发:
- STM32Cube MCU and MPU 芯片支持包, 各个STM32系列芯片专用的
这些包提供了STM32片上外设的操作实现和接口。包括HAL层的驱动,中间件软件框架和大量的示例,很多真实案例的项目可供参考。
- STM32Cube扩展包, 在一些应用方案中使用。
从ST自有或经过许可的第三方合作伙伴,提供可扩展包,增强STM32 Cube工具软件的功能。
通过A+B,STM32Cube, 为开发者提供了一个综合的节省时间的方案,包含的工具和软件库,简单好用易集成,更利于商用。
- 使用free and open-source software (FOSS),No copyleft licenses terms。
- 这些工具和软件由ST开发,都是免费的。各种扩展包也可在官网直接下载,免费共享。
这些软件库,在发布之前都经过测试,并遵循良好的代码规范,比如MISRA, code checkers和validation reports等。
A. Software Development Tools
相关的STM32Cube的强大工具,在各个开发阶段都能堪以大用,并可以单独使用。
B. Embedded Software
B.1 STM32Cube MCU Packages
包括片上外设驱动,还有第三方软件框架。
芯片支持包里包含的驱动分两种,一种使Low-Layer API,是性能优化版本。一种是可移植的Hardware Abstract Layer (HAL)API。
可以在Github上查看STM32Cube嵌入式软件支持包:
https://github.com/STMicroelectronics/STM32Cube_MCU_Overall_Offer
注意,这表里现在还都用的是原来的FreeRTOS。
B.2 STM32Cube MCU Packages embedding the Azure RTOS middleware suite:
下面是应用了Azure RTOS的STM32芯片:
B.3 STM32Cube Expansion Packages
还有一些扩展包,作为STM32Cube MCU包的补充,在某些应用领域比如传感器、电源管理、音频和NFC等,提供一些特殊的应用案例。
得益于STM32的良好生态,有ST和认证伙伴所提供的扩展包持续增长,在集成的开发环境中包含了丰富的参考项目案例。
这些扩展包增强了STM32CubeMX和STM32CubeIDE的功能,使开发者能更好的进行软件设计。
===========================================================
STM32CubeMX
STM32CubeMX - STM32Cube initialization code generator - STMicroelectronics
方便我们配置芯片,使用图形化的方式,很多工作大大简化。
比如,之前配个GPIO要查芯片手册,看寄存器怎么操作,而现在只要在界面上选中这个端子,然后选择相应的配置模式即可,然后就自动生成硬件初始化设置代码。
如果是Linux系统,就是生成Device Tree。
所以,这个工具就是一个硬件配置工具,简化了我们初始化硬件的软件设计和编码工作。
操作方法如下:
第一步,选择相应的芯片或开发平台。
第二步,对MCU,要配置GPIO(Pinout with automatic conflict resolution)、时钟和其他外设,这里每一部分都有相应的标签对应不同功能操作。
第三步,处理一些middleware stacks (such as USB or TCP/IP)。
第四步,点击代码生成,自动生成硬件初始化代码或Device Tree内容。
注:
STM32CubeMX里不同标签的功能,包含但不限于:
- Clock tree with dynamic validation of the configuration
- Power sequence with estimated consumption results
STM32 - Cube介绍相关推荐
- stm32.cube介绍
stm32.cube(一)--系统架构及目录结构 stm32.cube(二)--HAL结构及初始化 stm32.cube(三)--HAL.GPIO stm32.cube(四)--HAL.ADC stm ...
- STM32学习笔记 第二章 STM32资源介绍
第二章 STM32资源介绍 2.1 芯片选型 STM32-F1系列(如图2-1): 基础型,主频为72M(内核为cortex-M3),CPU位数=32. 我们所用的芯片是STM32F103vet6 S ...
- STM32 Cube MX学习笔记——TOF 高速单线激光雷达 L10(usart)
STM32 Cube MX学习笔记--TOF 高速单线激光雷达 L10_串口中断通信 1. TOF 高速单线激光雷达 L10 2. STM32 Cube MX配置 3.代码配置 4.编译 烧录 显示 ...
- 使用STM32 CUBE IDE配置STM32F7 用DMA传输多通道ADC数据
我的使用环境: 硬件:STM32F767ZGT6.串口1.ADC1.16MHz晶振.216MHz主频 软件:STM32 CUBE IDE 优点:不用定时触发采样,ADC数据是不停的实时更新,ADC数据 ...
- STM32 Cube IDE HAL库驱动 W25Q128 进行读、写、擦除操作
一.W25Q128相关理论 W25Q128存储大小为128M-bit=16MB,可编程位(地址)为Flash_Size=16*1024*1024=16777216 B. W25Q128包含256个块. ...
- har文件解析工具_嵌入式MCU也能跑AI?STM32 Cube.AI工具包使用初探
STM32近日推出了Cube.AI人工智能神经网络开发工具包,目标是将AI引入微控制器供电的智能设备,位于节点边缘,以及物联网,智能建筑,工业和医疗应用中的深度嵌入式设备. 简而言之,以后就可以在嵌入 ...
- STM32的介绍及MDK
文章目录 STM32介绍 STM32命名 armV7的三个系列 STM32F103 STM32F103资源 STM32F103总线架构 STM32F103引脚 STM32F407 芯片 STM32F4 ...
- STM32 Cube MX以及STM32 H750 XBH6新建工程,HAL库,LL库
最近因为需要学习研究一下FDCANFD\quad CANFDCAN模块,所以买了一块野火的STM32H750XBH6STM32H750XBH6STM32H750XBH6的开发板.拿到开发板之后准备像S ...
- STM32+Cube MX使用MPU6050 DMP时,在外部中断中调用read_dmp函数发生系统卡死问题的根本原因分析
系统环境 硬件: MCU:STM32F405RGT6 IMU:MPU6050 软件: 开发环境:KEIL MDK-ARM uVision5 MPU6050使用DMP 复现步骤 程序中MPU6050 D ...
- STM32家族介绍,覆盖STM32F、STM32H、STM32L全系列
STM32是ARM Cortex-M内核单片机.目前提供10大产品线(F0, F1, F2, F3, F4, F7, H7, L0, L1,L4),超过700个型号.STM32产品广泛应用于工业控制. ...
最新文章
- php的匿名函数和闭包函数
- mysql 查询任务_mysql中怎样显示服务器正在执行的sql任务
- nginx学习笔记(8)虚拟主机名---转载
- 正式版Android P,喜大普奔!一加6正式推送Android P正式版
- Effective_STL 学习笔记(三) 使容器里对象的拷贝操作轻量而正确
- React antD-Pro 添加函数防抖
- c语言程序设计黄迎久,C语言程序设计教程_黄迎久、庞润芳主编 赵军富、徐扬、胡晓燕、贾茹副主编_9787302418528_...
- 第一至第七次人口普查县级人口普查GIS数据集(1953-2010)
- thinkpadt410接口介绍_ThinkPadT410全程拆解
- 【Python】PDF转WORD
- 计数器java代码_计数器的java代码
- 单片机实验报告太原理工大学_太原理工大学单片机实验报告
- ubuntu使用Firefox无法播放视频
- 用python判断素数_python判断素数
- 分散性与变异性的度量——全距、四分位距、标准差、标准分
- wx小程序笔记(2)
- 刷程序对车危害_ECU到底能刷吗?刷了后对车有啥影响?
- 内核参数强制显示器显示
- 计算机英语 crash,英语笑话 - 技术类:455 Computer Crash 电脑崩溃
- 内存管理---内存释放