完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
打开ST芯片的官网:https://www.st.com/。
在菜单栏里逐级找到:“Tools & Software” -> "Ecosystems" -> "STM32Cube Ecosystem",然后点开。 https://www.st.com/content/st_com/en/ecosystems/stm32cube-ecosystem.html 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 |
|
|
|
只有小组成员才能发言,加入小组>>
3278 浏览 9 评论
2956 浏览 16 评论
3458 浏览 1 评论
8996 浏览 16 评论
4051 浏览 18 评论
1108浏览 3评论
572浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
568浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2301浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1858浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 18:12 , Processed in 1.272043 second(s), Total 80, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号