stm32学习
八.stm32基础
2.stm32内核和芯片

F1系统架构:4个主动单元和4个被动单元

AHB是内核高性能总线,APB是外围总线
总线矩阵将总线和各个主动被动单元连到一起
ICode总线直接连接Flash接口,不需要经过总线矩阵
AHB:72MHz,APB1:36MHz,APB2:72MHz
F4系统架构:8个主动单元和7个被动单元

架构图(F407为例)

F7系统架构:12个总线主控器+8个总线从控制器

结构图:

DTCM RAM:即可存放数据,也可存放指令
ITCM RAM:支持CPU时钟速度访问,0个等待周期
AHB1/2:216MHz
APB1:54MHz
APB2:108MHz
H7系统架构图:

有3个总线矩阵,矩阵之间有独立的通信通道,信号只能从主接口发送到从接口
ITCM:存放程序
DTCM:存放数据
AHB1/2/3/4:240MHz
APB1/2/3/4:120MHz
3.存储器映射
ST将4GB(2^32)地址空间分成8个块:

Block0(FLASH)功能划分:

Block1(SRAM)功能划分:

Block2(外设)功能划分:

4.寄存器映射
寄存器映射小技巧:

因为结构体内的变量的地址是连续的,所以可以快速的定义变量的地址
文件stm32f103xe.h是用来宏定义各种变量的,主要包括中断编号、外设寄存器结构体类型、寄存器映射、寄存器位定义、外设判定
九.HAL库
1.介绍
官网可下载各种型号的cube文件(HAL库)
CMSIS:微控制器软件接口标准,由ARM和芯片厂商等共同制定
Cube固件包文件夹简介:

重要的只有Drivers、Middlewares和Projects
Drivers、Middlewares文件夹介绍:

Drivers文件夹中的CMSIS文件夹中的关键文件:

Drivers文件夹中的CMSIS文件夹中的所有文件:

Device和Include文件夹的关键文件介绍:
