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

相关推荐
博客胡6 分钟前
Python-fastAPI的学习与使用
学习·fastapi·ai编程
HyperAI超神经14 分钟前
【Triton 教程】triton_language.load
人工智能·学习·大语言模型·cpu·gpu·编程语言·triton
知识分享小能手29 分钟前
Ubuntu入门学习教程,从入门到精通,Linux操作系统概述(1)
linux·学习·ubuntu
单片机系统设计1 小时前
基于STM32的智能台灯系统/智能书桌
stm32·单片机·嵌入式硬件·毕业设计·智能家居
F133168929571 小时前
5030A 芯片 24V 转 5V 15A 大电流快充选型
网络·单片机·嵌入式硬件·物联网·汽车
恒锐丰小吕1 小时前
无锡黑锋 HF4004 低噪声电荷泵DC-DC转换器技术解析
嵌入式硬件·硬件工程
星一工作室1 小时前
STM32项目分享:基于单片机的智能宠物玩具的设计
stm32·单片机·嵌入式硬件
yuhaiqun19891 小时前
Typora 技能进阶:从会写 Markdown 到玩转配置 + 插件高效学习笔记
经验分享·笔记·python·学习·学习方法·ai编程·markdown
up向上up2 小时前
基于51单片机数字频率计仿真设计
单片机·嵌入式硬件·51单片机
我命由我123452 小时前
Python Flask 开发问题:ImportError: cannot import name ‘Markup‘ from ‘flask‘
开发语言·后端·python·学习·flask·学习方法·python3.11