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

需积分: 10 0 下载量 182 浏览量 更新于2024-10-18 收藏 3.82MB PDF 举报
"STM32系列ARM Cortex-M3微控制器原理与实践第三章,主要讨论了STM32系列微控制器的存储器结构和外设接口。本章详细介绍了系统的存储器和总线架构,包括I-bus、D-bus、S-bus、GP-DMA、内部SRAM、内部闪存、AHB到APB桥等关键组件,并阐述了它们如何通过多级AHB总线架构相互连接。此外,还提到了DMA总线、总线矩阵以及AHB/APB桥的功能和工作原理,强调了总线矩阵的仲裁机制和地址映射的重要性。" STM32系列微控制器基于ARM Cortex-M3内核,其存储器和外设结构是理解其工作原理的关键。系统由驱动单元和被动单元组成,其中驱动单元包括内核的指令和数据总线,以及GP-DMA;被动单元则涉及内部SRAM、闪存和AHB到APB桥。这些组件通过一个复杂的AHB总线架构相互交互,确保了数据和指令的有效传输。 I-code总线负责将内核的指令总线与闪存存储器的指令接口相连,用于执行预取操作。D-code总线则连接内核的D-code总线和闪存存储器的数据接口,处理常量加载和调试访问。系统总线则将内核的外设总线连接到总线矩阵,以协调内核和DMA的访问。 DMA总线将DMA的AHB主机接口连接到总线矩阵,该矩阵负责管理CPU的DCode、系统总线和DMA到SRAM、闪存及外设的访问。总线矩阵采用轮换仲裁算法,确保多个部件公平地访问资源。 AHB/APB桥是连接高速AHB总线和低速APB总线的关键,APB1和APB2具有不同的工作频率,分别支持不同速度的外设。所有连接到AHB的外设都通过总线矩阵与系统总线相连,以便于DMA访问。 本章内容还涉及到存储器结构,包括程序存储器、数据存储器和寄存器,这些构成了微控制器的基础运行环境。表3.1详细列出了连接到每个桥的外设的地址映射,这对于理解和配置STM32的外设功能至关重要。 STM32系列微控制器的存储器和外设架构是其高效运行的核心,理解这一架构对于开发者来说至关重要,无论是编写代码还是优化性能,都需要深入掌握这部分知识。
2009-12-25 上传
第1章ARM及Cortex-M3处理器概述 1.1ARM处理器系列 1.1.1命名规则 1.1.2ARM处理器系列 1.2ARMCortex-M3处理器 1.2.1处理器组件 1.2.2Cortex-M3的层次和实现选项 1.2.3处理器内核 1.2.4嵌套向量中断控制器(NVIC) 1.2.5总线矩阵 1.2.6集成调试 1.2.7可选组件 1.2.8Cortex-M3处理器应用 1.3ARMCortex-M3指令集 1.4ARMCortex-M3的优势 第2章STM32系列微控制器 2.1STM32系列微控制器简介 2.1.1STM32微控制器的主要优点 2.1.2STM32微控制器的应用 2.2STM32F101xx系列微控制器 2.2.1特点 2.2.2总体结构 2.3STM32F103xx系列微控制器 2.3.1特点 2.3.2总体结构 第3章STM32系列微控制器存储器与外设 3.1存储器和总线的结构 3.1.1系统结构 3.1.2存储器结构 3.1.3存储器映射 3.1.4启动配置 3.2电源控制 3.2.1电源供应 3.2.2电源供应管理 3.2.3低功耗模式 3.2.4电源控制寄存器 3.3复位和时钟控制 3.3.1复位 3.3.2时钟 3.3.3RCC寄存器描述 3.4通用I/O和复用I/O(GPIO和AFIO) 3.4.1GPIO功能描述 3.4.2GPIO寄存器描述 3.4.3复用功能I/O和调试配置(AFIO) 3.4.4AFIO寄存器描述 3.5中断和事件 3.5.1嵌套向量中断控制器(NVIC) 3.5.2外部中断/事件控制器(EXTI) 3.5.3EXTI寄存器 3.6DMA控制器 3.6.1简介 3.6.2主要特性 3.6.3功能描述 3.6.4DMA寄存器 3.7实时时钟(RTC) 3.7.1简介 3.7.2主要特性 3.7.3功能描述 3.7.4RTC寄存器描述 3.8备份寄存器(BKP) 3.8.1简介 3.8.2主要特性 3.8.3干扰检测 3.8.4RTC校验 3.8.5BKP寄存器描述 3.9独立的看门狗 3.9.1简介 3.9.2IWDG寄存器描述 3.10窗口看门狗(WWDG) 3.10.1简介 3.10.2主要特性 3.10.3功能描述 3.10.4如何编程看门狗的超时时间 3.10.5调试模式 3.10.6寄存器描述 3.11高级控制定时器 3.11.1简介 3.11.2主要特性 3.11.3框图 3.11.4功能描述 3.11.5TIMI寄存器描述 3.12通用定时器(TIMx) 3.12.1简介 3.12.2主要特性 3.12.3框图 3.12.4功能描述 3.12.5TIMx寄存器描述 3.13控制器局域网(bxCAN) 3.13.1简介 3.13.2主要特性 3.13.3总体描述 3.13.4运行模式 3.13.5功能描述 3.13.6中断 3.13.7寄存器访问保护 3.13.8CAN寄存器描述 3.14内部集成电路(I2C)接口 3.14.1简介 3.14.2主要特性 3.14.3总体描述 3.14.4功能描述 3.14.5中断请求 3.14.6I2C调试模式 3.14.7I2C寄存器描述 3.15串行外设接FI(SPI) 3.15.1简介 3.15.2主要特性 3.15.3功能描述 3.15.4SPI寄存器描述 3.16通用同步异步收发机(USART) 3.16.1简介 3.16.2主要特性 3.16.3总体描述 3.16.4中断请求 3.16.5USART寄存器描述 3.17USB全速设备接口 3.17.1概述 3.17.2主要特性 3.17.3结构框图 3.17.4功能描述 3.17.5编程中需要考虑的问题 3.17.6USB寄存器描述 3.18模/数转换器(ADC) 3.18.1概述 3.18.2主要特性 3.18.3引脚描述 3.18.4功能描述 3.18.5校准 3.18.6数据对齐 3.18.7基于通道的可编程的采样时间 3.18.8外部触发转换 3.18.9DMA请求 3.18.10双ADC模式 3.18.11温度传感器 3.18.12中断 3.18.13ADC寄存器描述 3.19调试支持(DBG) 3.19.1概述 3.19.2相关的ARM文档 3.19.3SWJ调试端口(串行线和JTAG) 3.19.4引脚分布和调试端口引脚 3.19.5STM32F10xJTAGTAP连接 3.19.6ID编码和锁定机制 3.19.7JTAG调试端口 3.19.8SW调试端口 第4章STM32固件库 4.1STM32固件库的定义规则 4.1.1固件库命名规则 4.1.2代码标准 4.2STM32库的层次结构 4.2.1固件包描述 4.2.2固件库文件描述 4.3STM32库的使用 第5章STM32系列微控制器开发工具与应用 5.1KeilMDK介绍 5.1.1开发过程及集成开发环境简介 5.1.2工程管理 5.1.3编写源程序 5.1.4编译程序 5.1.5调试程序 5.2IAREWARM介绍 5.2.1EWARM集成开发环境及配套仿真器 5.2.2在EWARM中生成一个新项目 5.2.3编译和链接应用程序 5.2.4用J-LINK调试应用程序 5.3STM32-SK仿真评估板 5.3.1评估板规格说明 5.3.2测试程序 5.3.3关于仿真评估板的几个问题 5.4STM32-DK开发板 5.4.1开发板规格说明 5.4.2开发板实例程序 5.4.3关于STARM的常见问题 5.5mx-Pro量产编程器使用简介 5.5.1编程文件管理 5.5.2芯片烧写 5.6应用实例:基于STM32的数据采集器 5.6.1硬件设计 5.6.2软件设计 参考文献