stm32week11

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文件夹的关键文件介绍:

相关推荐
_Kayo_1 小时前
node.js 学习笔记3 HTTP
笔记·学习
CCCC13101634 小时前
嵌入式学习(day 28)线程
jvm·学习
星星火柴9365 小时前
关于“双指针法“的总结
数据结构·c++·笔记·学习·算法
小狗爱吃黄桃罐头5 小时前
正点原子【第四期】Linux之驱动开发篇学习笔记-1.1 Linux驱动开发与裸机开发的区别
linux·驱动开发·学习
fengfuyao9855 小时前
STM32如何定位HardFault错误,一种实用方法
stm32·单片机·嵌入式硬件
爱学习的颖颖6 小时前
EXTI外部中断的执行逻辑|以对射式红外传感器计次为例
单片机·嵌入式硬件·exti中断
艾莉丝努力练剑6 小时前
【洛谷刷题】用C语言和C++做一些入门题,练习洛谷IDE模式:分支机构(一)
c语言·开发语言·数据结构·c++·学习·算法
keer_zu6 小时前
STM32L051 RTC闹钟配置详解
stm32·嵌入式硬件
武昌库里写JAVA7 小时前
JAVA面试汇总(四)JVM(一)
java·vue.js·spring boot·sql·学习
AI精钢7 小时前
H20芯片与中国的科技自立:一场隐形的博弈
人工智能·科技·stm32·单片机·物联网