0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32Cube是什么?

STM32单片机 来源:STM32单片机 作者:STM32单片机 2022-05-12 10:42 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在学习 STM32 的时候,你学的是标准外设库还是HAL库?

过去大家都使用标准外设库进行开发,因为它是对STM32芯片的完整封装,包括所有标准器件外设的器件驱动器。但随着STM32的发展,目前标准外设库已停止更新,未来会逐渐被淘汰,由HAL库取而代之。

HAL是 ST 公司主推的 STM32Cube 生态系统的器件驱动库,STM32Cube 生态系统是个高效的生产力工具,包含丰富的工具软件和器件驱动库。

目前,HAL 库已经支持STM32 全线产品。

所以,现在学习 STM32 开发,应该学习基于STM32Cube 生态系统的开发方式。

01

STM32Cube是什么?

在 ST 公司的发展过程中,STM 系列嵌入式单片机也得到了飞速发展,目前 STM32 系列单片机(MCU)是国内市场占有率最高的32位单片机。从诞生至今,STM32 的开发方式已经发生了很大的变化。

2014年,ST公司推出了HAL库和MCU图形化配置软件STM32CubeMX;

2019年4月,ST公司正式推出了IDE工具软件STM32CubeIDE 1.0.0;

2020年2月,ST公司正式推出了STM32CubeMonitor 1.0.0。

至此,一个完整的 STM32Cube 生态系统诞生了。

26bdeb2a-d19b-11ec-bce3-dac502259ad0.png

▲STM32Cube生态系统

02

为什么要选择STM32Cube?

STM32Cube 生态系统包括嵌入式软件和软件工具两大部分。

嵌入式软件

包括各个 STM32 系列 MCU 的固件库和一些扩展库,固件库包含 STM32 MCU 的 HAL 驱动库和移植好的各种中间件,例如嵌入式操作系统 FreeRTOS、文件系统FatFS等。

26ce2800-d19b-11ec-bce3-dac502259ad0.png

▲STM32Cube生态系统的工具软件及其作用

软件工具

STM32Cube 生态系统的软件工具支持配置、开发、烧录和监测的整个流程。其中,STM32CubeMX和STM32CubeIDE是STM32Cube 生态系统的两个核心软件。

·STM32CubeMX用于MCU片上资源和外设的图形化配置,可以生成多种IDE软件的项目框架和外设初始化C语言代码,可大大提高开发效率。

·STM32CubeIDE是一个STM32编程IDE软件,使用STM32CubeIDE可以编程、编译、下载和调试。STM32CubeIDE完全可以替代Keil或IAR的商业软件的功能。

03

STM32Cube开发方式有什么优势?

我们称使用 STM32CubeMX 和 STM32CubeIDE 的开发方式为 STM32Cube 开发方式,这种开发方式有如下的优点:

·使用的软件都是ST公司提供的免费软件,避免了使用盗版软件可能出现的风险。

·使用STM32CubeMX进行MCU可视化配置并生成初始化代码可大大提高工作效率,并且生成的代码准确性高,结构性好,降低了STM32开发的学习难度。

·STM32Cube生态系统具有丰富的嵌入式软件库资源,除了ST官方的MCU固件库和扩展库,还有很多第三方的中间件和扩展库,可缩短项目开发时间。

现在,ST公司已经淘汰了标准外设库,全力推进 STM32Cube 生态系统的应用。所以,学习 STM32 开发应该学习 STM32Cube 开发方式。

04

如何学习STM32Cube开发?

市面上介绍 STM32 开发的书比较多,但是很多书是基于标准外设库编程的,内容早已过时。介绍HAL库编程的书比较少,有的书在介绍HAL库编程时还带有标准库的印记,并没有完全发挥STM32CubeMX的作用,且这些介绍HAL库编程的书都采用MDK作为开发软件。

STM32CubeIDE 1.0.0 是在2019年4月推出的,推出的时间比较晚,所以一直没有介绍使用 STM32CubeMX 和 STM32CubeIDE 进行 STM32 开发的书,直到《STM32Cube高效开发教程》的出现。

26fab5f0-d19b-11ec-bce3-dac502259ad0.png

270bb120-d19b-11ec-bce3-dac502259ad0.png

《STM32Cube高效开发教程》以STM32CubeMX和 STM32CubeIDE 为开发软件,以 STM32F407为例,全面而系统地介绍 STM32 的开发,包括相关工具软件的使用、STM32 片上资源和外设的 HAL 编程方法、FreeRTOS 等中间件的编程开发方法。

《STM32Cube高效开发教程》内容很多,所以分为基础篇和高级篇两本。基础篇介绍 STM32Cube 开发方式所用的工具软件,以及 STM32F407 系统功能和常用外设的使用。

基础篇共 22 章,分为两大部分。

●第一部分是软硬件基础,介绍STM32Cube生态系统的组成,介绍STM32CubeMX、STM32CubeIDE、STM32CubeMonitor软件的使用,介绍STM32F407的基本架构和最小系统电路原理

●第二部分介绍STM32F407系统功能和常用外设的原理和编程方法,包括中断系统原理和使用、DMA原理和使用、低功耗原理和使用,以及定时器、RTC、ADC、USART、SPI、I2C等常用外设的编程方法。

高级篇介绍固件库中一些中间件的使用,还介绍一些高级接口的使用。高级篇共 22 章,内容分为三大部分。

●第一部分是嵌入式操作系统FreeRTOS的使用,包含11章内容,全面介绍了FreeRTOS各种功能的使用,包括任务管理、中断管理、进程间通信技术等,其中进程间通信技术包括队列、信号量、互斥量、事件组、任务通知、流缓冲区和消息缓冲区。

●第二部分是使用FatFS管理文件系统,包含6章内容。这一部分介绍了在SPI接口Flash芯片上移植FatFS的过程,在SD卡、U盘上使用FatFS管理文件系统的方法。

●第三部分是图片的获取与显示,包含5章内容。这一部分介绍了BMP和JPG图片文件的读写和显示,电阻式触摸屏和电容式触摸屏的使用,以及简单的GUI程序设计方法。

05

选择这套书学习

STM32Cube开发有哪些好处?

STM32 是软硬件结合的编程,程序需要在开发板上运行,才能看到效果。为了让读者更好地理解书中介绍的原理,以及看到示例运行的效果,本书提供了多种配套资源。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6074

    文章

    45340

    浏览量

    663459
  • 嵌入式
    +关注

    关注

    5186

    文章

    20145

    浏览量

    328764
  • STM32
    +关注

    关注

    2305

    文章

    11120

    浏览量

    371129

原文标题:玩单片机的你,了解STM32Cube开发吗?

文章出处:【微信号:STM32_STM8_MCU,微信公众号:STM32单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    国产MCU开始卷开发工具了?McuStudio是对STM32Cube的拙劣模仿还是真香逆袭?

    看到坛子里老生常谈国产MCU模仿STM32,现在战火已经烧到工具链了。STM32Cube确实香,但现在国产阵营里像McuStudio这类图形化工具也冒了头。 先说说直观感受 ? 路子很熟 一打
    发表于 10-31 10:18

    芯片界惊现“复刻版”STM32Cube:完全免费,还是原厂“福利站”?

    近日,嵌入式工具市场出现了一款支持所有内核所有型号芯片的新平台“McuStudio”,其开发体验、工具链与生态理念与意法半导体的STM32Cube高度兼容,但平台完全免费开放,并整合了原厂最新芯片支持与深度资源。这一发现由资深开发者社区曝光后,迅速在工程师群体中引发了热烈讨论。
    的头像 发表于 10-29 17:03 849次阅读
    芯片界惊现“复刻版”<b class='flag-5'>STM32Cube</b>:完全免费,还是原厂“福利站”?

    STM32 Nucleo-64开发板技术解析与应用指南

    ARDUINO^®^ Uno V3连接和ST morpho接头,可轻松扩展STM32 Nucleo开放式开发平台的功能。该板设有板载ST-LINK调试器/编程器,具有USB重新枚举功能。STM32 nucleo-64开发板随附STM32
    的头像 发表于 10-22 14:26 404次阅读
    <b class='flag-5'>STM32</b> Nucleo-64开发板技术解析与应用指南

    立即在GitHub上抢先体验面向STM32U5的最新STM32Cube HAL更新

    其满足您的需求。 如何获取预览版本 面向STM32U5系列的STM32Cube HAL2预览版已在GitHub代码库STM32CubeU5-V2-Preview中开放。 更新后的HAL2有哪些新功能? HAL2在原有HAL的基础
    的头像 发表于 10-20 17:12 636次阅读

    VScode使用STM32CUBE CLT如何添加静态库.a文件到工程中?

    我使用VScode搭配ST的插件基于Cmake来编译和调试程序,我感觉非常方便。但是遇到一个问题,我不知道如何把.a后缀的静态库文件添加到工程中。有没有大佬可以帮忙解决一下。
    发表于 08-12 07:36

    STM32CUBE MX无法安装,每次总是卡在最后一步,为什么?

    每次只要到了这个copy_jre.bat就卡住,一直安装不了。如果我强行关闭掉,然后自己安装最新的JAVA环境,能打开cube MX,但是无法正常生成MDK工程,也无法连接到服务器,获取对应的MCU扩展包。
    发表于 07-24 07:59

    SPI+DMA一直发会进入HAL_BUSY无法跳出是怎么回事?

    为HAL_SPI_STATE_BUSY_TX_RX状态,导致HAL_SPI_TransmitReceive_DMA无法正常运行,我不知道是不是哪里设置不对还是其他问题导致的。 这是STM32Cube的中断设置
    发表于 07-18 06:38

    意法半导体根据特定负载需求量身定制解决方案

    现代工业自动化系统对控制、可靠性和能效的要求日益严苛。管理具有复杂开关需求的大功率负载面临重大挑战。我们的集成生态系统可提供超坚固、紧凑型四路高边开关、各功率开关配套的专用评估板、全面参考设计和基本STM32Cube软件支持,从而有效化解难题,实现工业大功率负载管理的精简性和高效性。
    的头像 发表于 06-09 09:52 762次阅读

    STM32Cube IDE1.18.0里 写ODR编译不成,咋办?

    STM32Cube IDE1.18.0里写ODR 编译不成,咋办?
    发表于 06-09 07:36

    STM32Cube学习笔记 (十六篇全)

    资料介绍: STM32Cube学习笔记,一步一步手把手带你进入STM32Cube的世界,包括点灯,按键,串口,ADC,DAC等等一共16篇。 纯分享贴,有需要可以直接下载附件获取完整资料! (如果内容有帮助可以关注、点赞、评论支持一下哦~)
    发表于 03-22 17:02

    STM32CUBE programmer软件为什么打不开?

    有人遇见过这种情况吗? 我的cubeMX正常能打开,这个软甲一直打不开,什么也不显示,一直卡在白色的页面,尝试了很久也不行
    发表于 03-12 06:06

    win7 64位系统STM32CubeMX安装完成后数据包无法升级到最新版本,怎么解决?

    win7 64位系统 STM32CubeMX安装完成后数据包无法安装,安装较低版本后又无法升级到最新版本,这个界面出现闪退,无法输入用户名和密码,导致无法升级。也试过下载STM32Cube FW
    发表于 03-10 07:04

    STM32G474利用高精度HRTIM怎么捕获外部波形计算波形频率?

    STM32G474 利用高精度HRTIM怎么捕获外部波形计算波形频率,想用STM32Cube配置工程代码,网上查了很多资料,没有看到这个用法。希望大神指导一下。
    发表于 03-10 06:29

    STM32Cube配置RTOS时定时器如何选择?

    STM32Cube配置RTOS时定时器如何选择
    发表于 03-07 08:47

    如何在STM32CubeMX中集成Flexible Safety RTOS

    使用STM32处理器的用户,可以通过STM32Cube工具生成基础工程,免费评估功能安全操作系统Flexible Safety RTOS二进制库了。
    的头像 发表于 01-17 11:31 2256次阅读
    如何在<b class='flag-5'>STM32</b>CubeMX中集成Flexible Safety RTOS