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
 

介绍STM32CubeMX 5.0.0 STM32CubeMX是32位ARM®Cortex®STM32微控制器的图形工具。它是STMCube“计划的一部分,既可以作为独立应用程序使用,也可以作为集成开发环境(IDE)集成的Eclipse插件使用 .STM32CubeMX具有以下主要功能: 轻松的微控制器选择涵盖整个STM32产品组合 从STMicroelectronics板列表中选择电路板。 简单的微控制器配置(引脚,时钟树,外设,中间件)和相应的初始化C代码的生成。 通过将先前保存的配置导入新的MCU项目,可轻松切换到属于同一系列的另一个微控制器。 生成配置报告。 为选择的集成开发环境工具链生成IDE就绪项目。STM32CubeMX项目包括生成的初始化C代码,STM32 HAL驱动程序,用户配置所需的中间件堆栈以及在所选IDE中打开和构建项目所需的所有相关文件。 用户定义的应用程序序列的功耗计算。 自我更新允许用户使STM32CubeMX保持最新状态。 下载和更新用户应用程序开发所需的STM32Cube“嵌入式软件”(有关STM32Cube嵌入式软件产品的详细信息,请参阅附录E:STM32Cube嵌入式软件包)。 安装并运行STM32CubeMX 5.0.0 支持的操作系统和体系结构 Windows®7:32位(x86),64位(x64) Windows®8:32位(x86),64位(x64) Windows®10:32位(x86),64位(x64) Linux®:32位(x86)和64位(x64)(在RedHat,Ubuntu和Fedora上测试) 由于STM32CubeMX是32位应用程序,因此某些版本的Linux 64位 发行版需要安装32位兼容软件包,如作为ia32-libs。 MacOS:64位(x64)(在OS X Yosemite上测试) 软件要求 在Windows和Linux上:Java运行时环境(最低版本1.7.0_45) 在MacOS上:Java开发工具包(最低版本1.7.0_45) 安装STM32CubeMX 要安装STM32CubeMX,请执行以下步骤: 将最新的STM32CubeMX安装包的全部内容从http://www.st.com/stm32cubemx解压缩(解压缩)到同一目录中 在Windows上 确保您拥有管理员权限 双击SetupSTM32CubeMX-5.0.0.exe文件 在Linux上 确保您具有目标安装目录的访问权限,您可以以root(或sudo)身份运行安装,以在共享目录上安装STM32CubeMX 在SetupSTM32CubeMX-5.0.0.linux文件上双击(或从控制台窗口启动) 在MacOS上 确保您具有目标安装目录的访问权限,您可以以root(或sudo)身份运行安装,以在共享目录上安装STM32CubeMX 在SetupSTM32CubeMX-5.0.0应用程序上双击(或从控制台窗口启动) 安装后,您可以安全地从磁盘中删除zip的内容。 有关系统要求或其他可能安装的更多详细信息,请参阅STM32CubeMX用户手册。 运行STM32CubeMX 在Windows上 从Program Files> ST Microelectronics> STM32CubeMX中选择STM32CubeMX。 或者双击桌面上的STM32CubeMX图标。 在Linux上 从STM32CubeMX安装目录启动STM32CubeMX可执行文件 在MacOS上 从启动板启动STM32CubeMX应用程序 卸载STM32CubeMX 要卸载STM32CubeMX,请执行以下步骤: 在Windows上 打开Windows控制面板。 选择“程序和功能”以显示计算机上安装的程序列表。 右键单击STM32CubeMX并选择卸载功能。 在Linux上 使用文件资源管理器,进入STM32CubeMX安装的卸载程序目录,然后双击startuninstall桌面快捷方式 或使用java -jar /Uninstaller/uninstaller.jar手动启动卸载 在MacOS上 使用文件资源管理器,进入STM32CubeMX安装的Uninstaller目录,然后双击uninstaller.jar 或直接将STM32CubeMX应用程序移动到回收站中
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜流冰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值