【STM32】

STM32

  • [1 CMSIS](#1 CMSIS)
    • [1.1 概述](#1.1 概述)
    • [1.2 CMSIS 应用程序文件描述](#1.2 CMSIS 应用程序文件描述)
  • [2 库](#2 库)
    • [2.1 简介](#2.1 简介)
    • [2.2 标准外设库(standrd Peripheral Libraries)](#2.2 标准外设库(standrd Peripheral Libraries))
    • [2.3 HAL 库](#2.3 HAL 库)
      • [2.3.1 目录结构](#2.3.1 目录结构)
      • [2.3.2 HAL库API函数和变量的命名规则](#2.3.2 HAL库API函数和变量的命名规则)
      • [2.3.3 HAL库对寄存器位操作的相关宏定义](#2.3.3 HAL库对寄存器位操作的相关宏定义)
      • [2.3.4 HAL库回调函数](#2.3.4 HAL库回调函数)
      • [2.3.5 HAL使用注意事项](#2.3.5 HAL使用注意事项)
    • [2.3 LL 库](#2.3 LL 库)
  • [3 STM32Cube](#3 STM32Cube)
    • [3.1 概述](#3.1 概述)
    • [3.2 固件包文件夹简介](#3.2 固件包文件夹简介)
    • [3.3 STM32CubeMX](#3.3 STM32CubeMX)
      • [3.3.1 概述](#3.3.1 概述)
  • [4 STM32CubeIDE](#4 STM32CubeIDE)
  • 5

1 CMSIS

1.1 概述

ARM Cortex™ 微控制器软件接口标准(CMSIS:Cortex Microcontroller Software Interface Standard) 是 Cortex-M 处理器系列的与供应商无关的硬件抽象层(英文原文为:a vendor-independent hardware abstraction layer for the Cortex-M processor series and defines generic tool interfaces--来自ARM官方定义)。 使用CMSIS,可以为处理器和外设实现一致且简单的软件接口,从而简化软件的重用、缩短微控制器新开发人员的学习过程,并缩短新设备的上市时间

1.2 CMSIS 应用程序文件描述

2 库

2.1 简介

st为方便用户开发stm32芯片提供三种库:

1.标准外设库(standrd Peripheral Libraries)

2.HAL库(硬件抽象层)

3.LL库 Low Layer 基本上就是寄存操作的方式实现的库。

2.2 标准外设库(standrd Peripheral Libraries)

2.3 HAL 库

2.3.1 目录结构



2.3.2 HAL库API函数和变量的命名规则

2.3.3 HAL库对寄存器位操作的相关宏定义

2.3.4 HAL库回调函数

2.3.5 HAL使用注意事项

2.3 LL 库

3 STM32Cube

3.1 概述

STM32Cube是ST公司开发的一套生态系统,致力于使STM32的开发变的更简单,并且100%开源免费。

STM32Cube生态系统包括两大部分:

  • PC软件工具:STM32CubeMX、STM32CubeIDE、STM32CubeProgrammer、STM32CubeMnitor等
  • 软件库:STM32 Embedded Software bricks

st官方下载

方式一:st官方下载地址: https://www.st.com/zh/embedded-software/stm32cubef2.html

方式二:st官方搜索STM32Cube

3.2 固件包文件夹简介





3.3 STM32CubeMX

下载地址: https://www.st.com/en/development-tools/stm32cubemx.html

3.3.1 概述

STM32CubeMX 是用于 32 位 ARM Cortex STM32 微控制器的图形工具。它允许对 STM32 微控制器和微处理器进行非常简单的配置,生成初始化 C 代码,还可以通过一步一步的操作为 Arm Cortex-M 内核或 Arm Cortex-A core 生成部分 Linux 设备树。它是 STMCube 生态系统的一部分,且可以作为独立应用程序或作为 Eclipse 插件集成在开发环境(STM32CubeIDE)中。

STM32CubeMX 适用于任何STM32设备的配置工具 该工具用Java编写,所以可以在Windows、Linux、Mac上运行,它可以使用户通过图形用户界面对微控制器进行配置,然后为Cortex-M内核生成初始化C代码,或者为Cortex-A内核生成Linux设备树源(下面两张图对STM32CubeMX的作用作以诠释):

4 STM32CubeIDE

STM32CubeIDE 集成开发环境 该工具是基于Eclipse+GNU C/C++工具链的,除了基本的编辑和编译功能,还包括代码编译报告功能和高级调试功能,另外,该IDE还集成了CubeMX。

5

相关推荐
210Brian9 小时前
STM32学习笔记(五)EXTI外部中断(上)
笔记·stm32·学习
崇山峻岭之间10 小时前
STM32F407的FOC驱动01
stm32·单片机·嵌入式硬件
Lzh编程小栈15 小时前
【嵌入式硬核精讲】I2C通信协议万字详解(时序帧格式、同步半双工、重复起始、一对多挂载、寄存器、面试必考)
stm32·单片机·嵌入式硬件·面试
十月的皮皮15 小时前
STM32从零到量产开发:四路继电器工业控制模块开发 -上位机 Program.cs 应用程序入口设计说明
c语言·stm32·单片机·stm32cubemx·hal库
LCG元15 小时前
STM32F103+MPU6050互补滤波姿态解算与OLED实时显示实战(附完整工程代码)
stm32·单片机·嵌入式硬件
小帽子_12316 小时前
STM32+BMS 嵌入式开发:ADC 电压温度采集与总线通信落地教程
stm32·单片机·嵌入式硬件
Lumos6fly1 天前
《嵌入式通讯协议栈实战》 5 AT24C02与OLED
stm32·单片机
平凡的小蚂蚁1 天前
Exynos4412-POP-7inLCD裸机开发完整教程(STM32 库风格)
驱动开发·stm32·单片机·嵌入式硬件·嵌入式·硬件工程
破晓单片机1 天前
096、STM32项目分享开源:蓝牙智能手环
stm32·单片机·嵌入式硬件·开源
振南的单片机世界2 天前
1MΩ内阻+10pF寄生电容=信号“低通谋杀”
arm开发·stm32·单片机·嵌入式硬件