1、STM32CubeMX和STM32Cube库(HAL)详细介绍

这篇具有很好参考价值的文章主要介绍了1、STM32CubeMX和STM32Cube库(HAL)详细介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

前言

STM32Cube生态

STM32Cube 是什么?        

STM32Cube 软件工具套件

STM32Cube Embedded 软件

STM32CubeMX

​编辑


前言

        也许大家在学习正点原子或者其他32视频和代码的时候都听过HAL库,是的这是ST官方最新的函数库,而以前的标准库已不再更新与发展。而跟随而来的就是STM32CubeMX图形化编程方式的兴起,图形化编程方式除了编程简单,图形化编程配置好后能够转换成响应的代码,极大的方便了开发者的开发,而且其具有很好的移植性,图形化编程方式已经成为了单片机开发的主流。对于国内的一些教程对其介绍的比较少,因此本人来到了ST管网查看,也建议想了解的去ST官网看。当然也可以看本博客的介绍。

本人接下将整理ST官方上关于STM32CubeMX图形化编程软件和STM32Cube库里面的介绍。

ST官方开发者社区:

STM32 MCU Developer Zone - STMicroelectronicshttps://www.st.com/content/st_com/zh/stm32-mcu-developer-zone.html

STM32Cube生态

STM32Cube - Discover the STM32Cube Ecosystem - STMicroelectronicsSTM32Cube is a combination of software tools and embedded software libraries for STM32 microcontrollers and microprocessors. Get inside the STM32Cube ecosystem and explore our complete and free development environment for STM32 MCUs and MPUs.https://www.st.com/content/st_com/en/ecosystems/stm32cube-ecosystem.html

STM32Cube 是什么?        

STM32Cube是软件工具和嵌入式软件库的组合:

  • 一套完整的 PC 软件工具,可满足整个项目开发周期的所有需求
  • 在 STM32 微控制器和微处理器上运行的嵌入式软件块,将带来各种功能(从 MCU 组件驱动程序到更高级的面向应用的功能)

1、STM32CubeMX和STM32Cube库(HAL)详细介绍

STM32Cube 软件工具套件

  • STM32CubeMX,任何 STM32 设备的配置工具。这个易于使用的图形用户界面为 Cortex-M 内核生成初始化 C 代码,并为 Cortex-A 内核生成 Linux 设备树源。
  • STM32CubeIDE,集成开发环境。该 IDE 基于 Eclipse 或 GNU C/C++ 工具链等开源解决方案,包括编译报告功能和高级调试功能。它还集成了生态系统中其他工具中存在的其他功能,例如 STM32CubeMX 的硬件和软件初始化和代码生成。
  • STM32CubeProgrammer,一个编程工具。它通过各种可用的通信介质(JTAG、SWD、UART、USB DFU、I2C、SPI、CAN 等)为读取、写入和验证设备和外部存储器提供了一个易于使用且高效的环境。
  • STM32CubeMonitor系列工具。强大的监控工具,可帮助开发人员实时微调其应用程序的行为和性能。

1、STM32CubeMX和STM32Cube库(HAL)详细介绍

STM32Cube Embedded 软件

  • STM32Cube MCU 和 MPU 包,专用于每个 STM32 系列包提供所有必需的嵌入式软件块来操作可用的 STM32 外设集。它们包括驱动程序(HAL、LL低层等)、中间件和大量用于各种实际用例的示例代码。提供适用于特定 MCU 或 MPU 外设的附加中间件。
  • STM32Cube 扩展包,面向应用的解决方案。作为对 STM32Cube MCU 软件包产品的补充和扩展,STM32 扩展软件包来自意法半导体或经批准的合作伙伴,旨在围绕 STM32 创建广泛且可扩展的嵌入式软件产品。

1、STM32CubeMX和STM32Cube库(HAL)详细介绍

1、STM32CubeMX和STM32Cube库(HAL)详细介绍

STM32CubeMX

概述 

        STM32CubeMX 是一个图形工具,可以非常轻松地配置 STM32 微控制器和微处理器,以及为 Arm ® Cortex ® -M 内核或用于 Arm ® Cortex ®的部分 Linux ®设备树生成相应的初始化 C 代码-一个核心,通过一个循序渐进的过程。

        第一步包括选择与所需外设集匹配的 STMicrolectronics STM32 微控制器、微处理器或开发平台,或在特定开发平台上运行的示例。对于微处理器,第二步允许为整个系统配置 GPIO 和时钟设置,并以交互方式将外设分配给 Arm ® Cortex ® -M 或 Cortex ® -A 世界。特定的实用程序,例如 DDR 配置和调整,可以让您轻松开始使用 STM32 微处理器。对于 Cortex ® -M 内核,配置包括与为微控制器描述的步骤完全相同的额外步骤。
        对于微控制器和微处理器 Arm ® Cortex ® -M,第二步是配置每个所需的嵌入式软件,这要归功于引脚冲突解决程序、时钟树设置帮助程序、功耗计算器和配置外设的实用程序(例如 GPIO 或 USART)和中间件堆栈(例如 USB 或 TCP/IP)。借助增强的 STM32Cube 扩展包,可以扩展默认软件和中间件堆栈。STMicrolectronics 或 STMicrolectronics 的合作伙伴包可以直接从 STM32CubeMX 中提供的专用包管理器下载,而其他包可以从本地驱动器安装。

功能

  • 直观的 STM32 微控制器和微处理器选择
  • 丰富易用的图形用户界面允许配置:
    • 具有自动冲突解决的引脚分配
    • 外设和中间件功能模式,可动态验证 Arm ® Cortex ® -M 内核的参数约束
    • 具有配置动态验证的时钟树
    • 具有估计消耗结果的电源序列
  • 生成初始化 C 代码项目,符合用于 Arm ® Cortex ® -M 内核的 IAR Embedded Workbench ®、MDK-ARM 和 STM32CubeIDE(GCC 编译器)
  • 为 Arm ® Cortex ® -A 内核(STM32 微处理器)生成部分 Linux ®设备树
  • 借助 STM32PackCreator 开发增强型 STM32Cube 扩展包
  • 将 STM32Cube 扩展包集成到项目中
  • 作为在Windows®、Linux®和 macOS® ( macOS®是Apple Inc. 在美国和其他国家注册的商标。)操作系统和 64 位 Java Runtime 环境上运行的独立软件的可用性

软件获取

https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-configurators-and-code-generators/stm32cubemx.html?dl=fm37Hrej2ueFHuPZi%2FFxLA%3D%3D%2CK1PkeEd5kdJI0liSHjkg%2F2%2FyXR3XxkyTHRRMXoxMUpvu7QC61iHrdbcjwYM5BVEYFhNbiqBlYVM%2FBNUQUFtDuM13e0gDgRL%2BBU3x%2F7hiAYLxTeIRfMBi7scEgOk0NgV3D17oXU8RUCZyXDHeTgXj%2F6n2xtdEbH%2Fc9VQpteC7cdmb0oVSE3pxJIV8f27i3kCQekOyneJfLf1Zh5LEcb8GPmQH%2BWvzsmkOSKtlBtLDp4iRpRxTbZcbwOj2qT6c72wyWBXJ8atEFypY56GyEl8DmSaK9v1WQY4CwE6K1%2BJL9ZjsvNX75MOrXq1Cy2A5cCKvsb4TPLaOp1S%2B5femnupfaE5396SWoKib0vbq4L52YDLJuYJ61CUvOmkZIDCvUILo#st_circuit-diagram_sec-nav-tabhttps://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-configurators-and-code-generators/stm32cubemx.html?dl=fm37Hrej2ueFHuPZi%2FFxLA%3D%3D%2CK1PkeEd5kdJI0liSHjkg%2F2%2FyXR3XxkyTHRRMXoxMUpvu7QC61iHrdbcjwYM5BVEYFhNbiqBlYVM%2FBNUQUFtDuM13e0gDgRL%2BBU3x%2F7hiAYLxTeIRfMBi7scEgOk0NgV3D17oXU8RUCZyXDHeTgXj%2F6n2xtdEbH%2Fc9VQpteC7cdmb0oVSE3pxJIV8f27i3kCQekOyneJfLf1Zh5LEcb8GPmQH%2BWvzsmkOSKtlBtLDp4iRpRxTbZcbwOj2qT6c72wyWBXJ8atEFypY56GyEl8DmSaK9v1WQY4CwE6K1%2BJL9ZjsvNX75MOrXq1Cy2A5cCKvsb4TPLaOp1S%2B5femnupfaE5396SWoKib0vbq4L52YDLJuYJ61CUvOmkZIDCvUILo#st_circuit-diagram_sec-nav-tab

STM32Cube MCU & MPU 封装

概述

        STM32Cube 是 STMicroelectronics 的一项原创计划,旨在通过减少开发工作量、时间和成本来显着提高开发人员的生产力。STM32Cube 涵盖了整个 STM32 产品组合。
STM32Cube 包括 STM32CubeMX,这是一个图形软件配置工具,允许使用图形向导生成 C 初始化代码。
        它还包含由 STM32Cube 硬件抽象层 (HAL) 和低层 (LL) API 组成的 STM32CubeF4 MCU 包,以及一组一致的中间件组件(RTOS、USB、FAT 文件系统、图形和 TCP/IP)。TouchGFX 图形软件堆栈也包含在 STM32CubeF4 MCU 包中,作为 STM32Cube 生态系统的一部分。它可免费用于 STM32 微控制器的生产和再分发。所有嵌入式软件实用程序都随附在 STMicroelectronics 板上运行的全套示例。
        STM32Cube HAL 是一个 STM32 嵌入式软件层,可确保在 STM32 产品组合中实现最大的可移植性,而 LL API 构成了一个快速、轻量级、面向专家的层,它比 HAL 更接近硬件。HAL 和 LL API 可以同时使用,但有一些限制。
HAL 和 LL API 均已投入生产,并且是根据 MISRA-C ® :2004 指南开发的,但有一些记录的例外情况(可按需提供报告)和 ISO/TS 16949。此外,ST 特定的验证过程增加了更深层次的级资格。
        STM32CubeF4 将在 STM32F4 微控制器上开发应用程序所需的所有通用嵌入式软件组件集中在一个包中。遵循 STM32Cube 倡议,这套组件具有高度的可移植性,不仅在 STM32F4 系列中,而且在其他 STM32 系列中也是如此。此外,低层 API 以便携性和简单性为代价,为 STM32CubeF4 HAL 提供了一种替代的、高性能、低占用空间的解决方案。
为方便用户,HAL 和 LL API 以开源 BSD 许可证提供。

功能

  • 一致且完整的嵌入式软件产品,使用户摆脱依赖问题
  • STM32Cube 支持的所有 STM32 系列之间的最大可移植性
  • 数百个示例,便于理解
  • 使用 CodeSonar ®静态分析工具的高质量 HAL 和低层 API 驱动程序
  • TouchGFX 图形软件堆栈
  • STM32F4 专用中间件,包括 USB 主机和设备,以及 TCP/IP
  • 免费用户友好的许可条款
  • 用户可以启用的更新机制,以便收到新版本的通知

软件获取

STM32CubeF4 - STM32Cube MCU Package for STM32F4 series (HAL, Low-Layer APIs and CMSIS, USB, TCP/IP, File system, RTOS, Graphic - and examples running on ST boards) - STMicroelectronics STM32CubeF4 - STM32Cube MCU Package for STM32F4 series (HAL, Low-Layer APIs and CMSIS, USB, TCP/IP, File system, RTOS, Graphic - and examples running on ST boards), STM32CubeF4, Patch-CubeF4, STMicroelectronicshttps://www.st.com/en/embedded-software/stm32cubef4.html

1、STM32CubeMX和STM32Cube库(HAL)详细介绍

CubeF4 MCU包的结构

1、STM32CubeMX和STM32Cube库(HAL)详细介绍文章来源地址https://www.toymoban.com/news/detail-435103.html

到了这里,关于1、STM32CubeMX和STM32Cube库(HAL)详细介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32超声波避障小车(舵机云台+超声波/stm32f103/HAL/Cube)

    一、小车1.0——基本蓝牙小车(仅蓝牙遥控小车运动方向,本篇) 二、小车2.0——蓝牙小车PLUS(可以蓝牙控制方向+蓝牙直接调节车速) 三、小车3.0——避障小车(超声波+舵机云台) 四、小车4.0——无线手柄方向感知操控小车(mpu6050+双蓝牙透传) 五、双轮自平衡小车(HAL库版

    2024年02月05日
    浏览(67)
  • STM32 Cube MX 之hal库软件模拟IIC 可直接移植使用

    此为软件模拟IIC,可以直接移植到HAL库使用。.h文件需要自己做函数声明这里就不再放出,如有问题大家可以讨论。 使用的时候只需要更改SDA 和SCL引脚的宏定义就可以移植使用,当然IIC协议其实就是根据IIC的时序图编写代码,主要内容就是包括开始信号,停止信号以及发送数

    2024年02月15日
    浏览(50)
  • 【07】STM32·HAL库开发-新建寄存器版本MDK工程 |下载STM32Cube固件包 | 新建MDK工程步骤

    获取方式一 :ST官网搜索STM32Cube+回车   这里以F1系列为例,点击【STM32CubeF1】   点击【Get Software】即可进行下载,首次下载需要注册邮箱, 是免费的 。    这里下载最新的1.8.5版本为例进行后期章节编写。 获取方式二 :正点原子开发板A盘资料:A 盘→8,STM32 参考资料

    2024年02月11日
    浏览(47)
  • STM32 HAL库 通用定时器介绍及相关应用例程 定时器中断 输出PWM (点亮LED呼吸灯、输出PWM、输入捕获) CubeMX

    (部分图引自于ATK) 前情提要(基本定时器) 点此进入 通用定时器类别 通用定时器和基本定时器相比大致的工作方式是相似的,不过通用定时器比基本定时器多了一些很好用的功能,比如: 外部输入捕获 输出比较 输出PWM 时钟源 CubeMX为我们提供了配置时钟的非常方便的工

    2024年04月15日
    浏览(74)
  • 【11】STM32·HAL库开发-STM32CubeMX简介、安装 | 新建STM32CubeMX工程步骤

      STM32CubeMX是ST开发的一款图形配置工具,可通过配置自动生成 初始化代码 (并不包括逻辑代码)。以下是STM32CubeMX官方宣传图片,适用于Windows和macOS系统,用于生成初始化代码,一个图形配置工具,搭配不同系列的STM32Cube固件包,即可支持不同系列的STM32芯片,初始化代码

    2024年02月17日
    浏览(53)
  • 【STM32】驱动库的选择:CMSIS Driver、SPL、HAL、LL | 在ARM MDK、STM32Cube中如何选择?

    阅读本专栏其他文章,有助于理解本文。👆 STM32开发相关的库有很多,它们都是为了方便开发者使用STM32微控制器而提供的软件工具。根据不同的功能和层次,可以将它们分为以下几类: CMSIS库(准确来说是CMSIS pack) ( Cortex Microcontroller Software Interface Standard )是 ARM公司 推

    2024年02月11日
    浏览(33)
  • STM32 HAL库 STM32CubeMX -- SPI

    SPI (Serial Peripheral Interface)协议,即串行外围设备接口,是一种高速全双工的通信总线。 它被广泛地使用在ADC、LCD 等设备与MCU 间,要求通讯速率较高的场合。 SPI 通讯使用3 条总线及片选线, 3 条总线分别为SCK、MOSI、MISO,片选线为SS(CS) ,它们的作用介绍如下: (1) SS( Slav

    2024年02月13日
    浏览(44)
  • STM32 HAL库 STM32CubeMx -- 外部中断

    中断,是指处理机处理程序运行中出现的紧急事件的整个过程。程序运行过程中,系统外部、系统内部或者现行程序本身若出现紧急事件,处理机立即中止现行程序的运行,自动转入相应的处理程序(中断服务程序),待处理完后,再返回原来的程序运行,这整个过程称为程序

    2024年02月08日
    浏览(37)
  • STM32 HAL库 STM32CubeMX -- ADC

    ADC(Analog-to-Digital Converter)指模/数转换器或者模拟/数字转换器。 是指将连续变量的模拟信号转换为离散的数字信号的器件。 也就是将 模拟信号 转化为 数字信号 。 STM32f103 系列有3 个ADC,精度为12 位,每个ADC 最多有16 个外部通道和2个内部信号源。其中ADC1 和ADC2 都有16 个外部

    2024年02月15日
    浏览(34)
  • 【HAL库】HAL库STM32cubemx快速使用

    软件:keil5、STM32Cubemx 硬件:淘宝的STM32F103C8T6最小系统 1 新建工程 2 配置RCC 选择外部时钟源。 设置外部晶振输入值,我这块板子是8M。 然后手动输入最大时钟频率,然后回车让他自动配置时钟树。我这块板子是72M。 3 配置SYS 我的下载器是SWD两根线的,所以我选这个。(一定

    2023年04月20日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包