当前位置: 首页 > news >正文

【【萌新的STM32学习-4】】

萌新的STM32学习-4

STM32系统框架
1.1 Cortex M 内核& 芯片
在这里插入图片描述
在这里插入图片描述
F1有四个驱动单元 四个被动单元
在这里插入图片描述
AHB 高级高性能总线
APB 高级外围总线
在这里插入图片描述
部分系统结构
最上面的ICode 总线直接连接到了内部Flash 不需要通过总线矩阵
. D Code 总线(D - Bus)
这是Cortex M3内核的数据总线,连接闪存存储器数据接口(如:SRAM、FLASH等),用
于各种数据访问,如常量、变量等。
3. 系统总线(S - Bus)
这是Cortex M3内核的系统总线,连接所有外设(如:GPIO、SPI、IIC、TIM等),用于控
制各种外设工作,如配置各种外设相关寄存器等。
4. DMA 总线
DMA是直接存储访问控制器,可以实现数据的自动搬运,整个过程不需要CPU处理。如可
以实现DMA传输内存数据到DAC,输出任意波形,传输过程不需要CPU参与,可以大大节省CPU
支,从而更高效的处理事务。STM32F103ZET6内部有2个DMA控制器,可以实现内存到外设、
外设到内存、内存到内存的数据传输。
5. 内部 FLASH
内部FLASH即单片机的硬盘,用于代码/数据存储,CPU通过ICode总线经FLASH接口访问
内部FLASH,FLASH最高访问速度是24Mhz,因此以72M速度访问时,需要插入2个时钟周期延
迟。
6. 内部 SRAM
内部SRAM即单片机的内存,用于数据存储,直接挂载在总线矩阵上面,CPU通过DCode总
线实现0等待延时访问SRAM,最快总线频率可达72Mhz,从而保证高效高速的访问内存。
7. FSMC
FSMC即灵活的静态存储控制器,实际上就是一个外部总线接口,可以用来访问外部SRAM、
NAND/NOR FLASH、LCD等。它也是直接挂在总线矩阵上面的,以方便CPU快速访问外挂器件。
8. AHB/APB 桥
AHB总线连接总线矩阵,同时通过2个APB桥连接APB1和APB2,AHB总线速度最大为
72Mhz,APB2总线速度最大也是72Mhz,但是APB1总线速度最大只能是36Mhz。这三个总线上
面挂载了STM32内部绝大部分外设。
9. 总线矩阵
总线矩阵协调内核系统总线和DMA主控总线之间的访问仲裁,仲裁利用轮换算法,保证各
个总线之间的有序访问,从而确保工作正常。

我们现在举例 一个SRAM存储器
假设其中是有19根地址线A0-A18
16根数据线:D0-D15
那么地址就是2的19次方=512K
然后16根地址线就是2个字节 每8位
总的大小是512K乘2
映射范围是0-512K
也就是所说的 0x80000
因为十六进制 1位代表了4个2进制比特位
那么0x80000 其中的一个0 就含有了4位二进制
而8是 111 1111 1111 1111 1111 可能再进一步 就是1000 这么来的吧
ST将4GB空间分成8个块,每个块512MB,如上图所示,从图中我们可以看出有很多保留区域(Reserved),这是因为一般的芯片制造厂家是不可能把4GB空间用完的,同时,为了方便后续型号升级,会将一些空间预留(Reserved)。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
寄存器是单片机内部一种特殊的内存,可以实现对单片机各个功能的控制
简单来说: 寄存器是单片机内部的控制机构

简单的来说我们学习单片机就是学习用寄存器控制各种功能的产品

给存储器分配地址的过程叫存储器映射,寄存器是一类特殊的存储器,它的每个位都有特
定的功能,可以实现对外设/功能的控制,给寄存器的地址命名的过程就叫寄存器映射。
在这里插入图片描述

http://www.lryc.cn/news/107897.html

相关文章:

  • C++ Primer Plus第五章 习题
  • 软考A计划-系统集成项目管理工程师-信息文档和配置管理-上
  • Vue 路由 路由守卫
  • 基于springboot的课程作业管理系统【附开题|ppt|万字文档(LW)和搭建文档】
  • 关于个人微信API接口的开发
  • 华为PMS API client token auth failed
  • 【Java面试丨消息中间件】Kafka
  • 7.数组(一维数组、二维数组、C99中的变长数组、二分查找法)
  • ubuntu服务器配置ftp服务
  • IDA+Frida分析CTF样本和Frid源码和objection模块
  • ConCurrentHashMap常见面试题
  • mysql数据备份并重置
  • I- yh的线段(2023河南萌新联赛第(四)场:河南大学)
  • python与深度学习(十四):CNN和IKUN模型二
  • chrome扩展在popup、background、content之间通信解决传输文件问题
  • Oracle获取创建对象的DDL脚本
  • 《算法竞赛·快冲300题》每日一题:“01树”
  • Mac提示文件:已损坏,无法打开。你应该把它移到废纸篓
  • 探索嵌入式系统:从入门到实践
  • 网络安全知识点整理(作业2)
  • idea数据库快速上手-库操作与表结构和数据操作
  • 当“国潮”遇见“双语” 以传承之心种下一颗文化的种子
  • 计划管理与项目管理:有何区别?
  • 个人信息保护合规审计如何做?
  • HTTP杂谈之Referer和Origin请求头再探
  • 数学建模-爬虫入门
  • HSRM各表
  • Ansible自动化运维工具 —— Playbook 剧本
  • 第二章:多态
  • C++面向对象设计基础