STM32微控制器存储器与外设详解

需积分: 10 1 下载量 53 浏览量 更新于2024-10-19 收藏 3.82MB PDF 举报
"本章详细介绍了STM32系列微控制器的存储器与外设结构,主要包括系统的四个驱动单元和三个被动单元,以及相关的总线架构。内容涵盖了Cortex-M3内核的I-bus、D-bus、S-bus,GP-DMA,内部SRAM,内部闪存,AHB到APB桥,以及总线矩阵的工作原理和连接方式。此外,还提到了DMA总线和AHB/APB桥的作用,以及它们如何与系统其他部分交互。最后,简述了存储器结构,包括程序存储器、数据存储器和寄存器等组件。" STM32系列微控制器基于ARM Cortex-M3内核,其存储器和外设结构是理解其工作原理的关键。系统主要由四个驱动单元和三个被动单元构成。驱动单元包括:Cortex-M3内核的指令总线(I-bus)、数据总线(D-bus)、系统总线(S-bus)以及通用DMA(GP-DMA)。被动单元则包括内部SRAM、内部闪存存储器和AHB到APB桥,这些单元通过多级AHB总线架构相互连接。 Cortex-M3内核的指令预取操作发生在ICode总线上,它连接了内核的I-bus和闪存存储器的指令接口。DCode总线则负责内核的DCode总线与闪存数据接口的连接,用于常量加载和调试访问。系统总线(S-bus)连接了Cortex-M3的系统总线到总线矩阵,而DMA总线将DMA的AHB主机接口与总线矩阵相连,处理CPU和DMA对SRAM、闪存和外设的访问。 总线矩阵是系统中的一个重要组成部分,它负责仲裁和协调各个驱动部件和被动部件之间的访问,采用轮换算法进行资源分配。这个矩阵由CPU的DCode、系统总线和DMA总线的驱动部件,以及闪存存储器接口、SRAM和AHB2APB桥的被动部件组成。AHB/APB桥使得外设能够通过总线矩阵连接到系统总线,允许DMA访问,并且APB1和APB2总线有不同的工作频率,以满足不同外设的需求。 存储器结构方面,STM32包含了程序存储器(如内部闪存)用于存储执行的代码,数据存储器(如内部SRAM)用于存放运行时的数据,还有各种寄存器用于控制和数据处理。每个外设的地址映射可以通过表格3.1来查询,以便于开发者理解和访问这些外设。 STM32系列微控制器的存储器和外设架构是其高效运行的基础,理解这一架构对于开发者来说至关重要,无论是编写代码还是进行硬件设计,都需要掌握这些基础知识。