第3章STM32系列微控制器存储器与外设
第3章 STM32系列微控制器存储器与外设
3.1 存储器和总线的结构 3.1.1 系统结构
系统的主要部分包括:
四个驱动单元:
- Cortex-M3内核指令总线 (I-bus),数据总线 (D-bus),以及系统总线 (S-bus) - GP-DMA(通用DMA) 三个被动单元:
- 内部SRAM - 内部闪存存储器
这些通过一个多级的AHB总线构架相互连接,如图3.1所示: 图3.1:系统结构
ICode总线
该总线将Cortex-M3内核的指令总线与闪存存储器指令接口相连接。指令预取操作在该总线上进行。 DCode总线
该总线将Cortex-M3内核的DCode总线与闪存存储器的数据接口相连接(常量加载和调试访问)。 系统总线
该总线将Cortex-M3内核的系统总线(外设总线)连接到一个总线矩阵,总线矩阵协调
着内核和DMA间的访问。 DMA总线
该总线将DMA的AHB主机接口连接到一个总线矩阵,总线矩阵协调着CPU的DCode和DMA到SRAM、闪存和外设的访问。 总线矩阵
此总线矩阵协调内核系统总线和DMA主控总线之间的访问仲裁。此仲裁利用轮换算法。此总线矩阵由三个驱动部件(CPU的DCode、系统总线和DMA总线)和三个被动部件(闪存存储器接口、SRAM和AHB2APB桥)构成。
为了允许DMA访问,AHB外设通过一个总线矩阵连接到系统总线。 AHB/APB 桥 (APB)
两个 AHB/APB 桥在AHB和两个APB总线之间提供完全同步的连接。APB1 被限制在36 MHz, APB2 工作在全速状态 (根据设备的不同可以达到72 MHz)。
- 请参照表3.1 以获取连接到每个桥的外设的地址映射。 AHB 到 APB 桥 (AHB2APBx)该桥用来连接所有的APB设备
3.1.2 存储器结构
程序存储器、数据存储器、寄存器和I/O端口被组织到一个4G字节的线性地址空间。 这些字节在存储器小端格式编码,在小端格式中,一个字中最低地址的字节为该字的最低位字节,最高地址的字节为最高位字节。
图3.2展示了STM32F10x 的内存映射,若需要更为详细的外设寄存器的映射,请参考相关的章节。
可寻址的存储器空间被分为8个512MB的主块。
所有未分配给片上存储器或外设的存储区域被视为是保留的(图3.2中灰色阴影部分)。
3.1.3 存储器映射
图3.2 存储器映射
3.1.3.1 外设存储器映射
表 3.1:寄存器边界地址 边界地址
0x4002 2400 - 0x4002 3FFF 0x4002 2000 - 0x4002 23FF 0x4002 1400 - 0x4002 1FFF 0x4002 1000 - 0x4002 13FF 0x4002 0400 - 0x4002 0FFF 0x4002 0000 - 0x4002 03FF 0x4001 3C00 - 0x4001 3FFF 0x4001 3800 - 0x4001 3BFF 0x4001 3400 - 0x4001 37FF 0x4001 3000 - 0x4001 33FF 0x4001 2C00 - 0x4001 2FFF 0x4001 2800 - 0x4001 2BFF 0x4001 2400 - 0x4001 27FF 0x4001 2000 - 0x4001 1FFF 0x4001 1800 - 0x4001 1BFF 0x4001 1400 - 0x4001 17FF 0x4001 1000 - 0x4001 13FF 0x4001 0C00 - 0x4001 0FFF 0x4001 0800 - 0x4001 0BFF 0x4001 0400 - 0x4001 07FF 0x4001 0000 - 0x4001 03FF 0x4000 8000 - 0x4000 77FF 0x4000 7000 - 0x4000 73FF 0x4000 6C00 - 0x4000 6FFF 0x4000 6800 - 0x4000 6BFF 0x4000 6400 - 0x4000 67FF 0x4000 6000 - 0x4000 63FF 0x4000 5C00 - 0x4000 5FFF 0x4000 5800 - 0x4000 5BFF 0x4000 5400 - 0x4000 57FF 0x4000 5000 - 0x4000 4FFF 0x4000 4800 - 0x4000 4BFF 0x4000 4400 - 0x4000 47FF 0x4000 4000 - 0x4000 3FFF 0x4000 3800 - 0x4000 3BFF 0x4000 3400 - 0x4000 37FF 0x4000 3000 - 0x4000 33FF 0x4000 2C00 - 0x4000 2FFF 0x4000 2800 - 0x4000 2BFF
外设 保留
闪存存储器接口 保留
复位和时钟控制RCC 保留 DMA 保留 USART1 保留 SPI 1
TIM1定时器 ADC2 ADC1 保留
GPIO 端口 E GPIO 端口 D GPIO 端口 C GPIO 端口 B GPIO 端口 A EXIT AFIO 保留
电源控制(PWR) 备份寄存器(BKP) 保留 bxCAN
共享的USB/CAN SRAM 512字节 USB 寄存器 I2C2 I2C1 保留 USART3 USART2 保留 SPI2 保留
独立的看门狗(IWDG) 窗口看门狗(WWDG) RTC
总线
AHB
APB2
APB1
0x4000 2400 - 0x4000 0FFF 0x4000 0800 - 0x4000 0BFF 0x4000 0400 - 0x4000 07FF 0x4000 0000 - 0x4000 03FF 保留
TIM4 定时器 TIM3 定时器 TIM2 定时器
3.1.3.2 嵌入式SRAM
STM32F10x内置20K字节的静态SRAM,可以以字节、半字(16位)、字(32位)的方式访问,SRAM的起始地址为0x2000 0000。
3.1.3.3 位段
Cortex-M3存储器映像包括两个位段(bit-band)区。这两个位段区将别名存储器区中的每个字映射到位段存储器区的一个位,在别名存储区写入一个字具有对位段区的目标位执行读-改-写操作的相同效果。
在STM32F10x里,外设寄存器和SRAM都被映射到一个位段区里,这允许执行单一的位段的写和读操作。
下面的映射公式给出了别名区中的每个字是如何对应位带区的相应位的:
bit_word_addr = bit_band_base + (byte_offset x 32) + (bit_number × 4)
其中:
bit_word_addr 是别名存储器区中字的地址,它映射到某个目标位。 bit_band_base 是别名区的起始地址。
byte_offset 是包含目标位的字节在位段里的序号 bit_number 是目标位所在位置(0-31)
下面的例子说明如何映射别名区中SRAM地址为0x20000300的字节中的位2: 0x22006008 = 0x22000000 + (0x300*32) + (2*4).
对0x22006008地址的写操作和对SRAM中地址0x20000300字节的位2执行读-改-写操作有着相同的效果。
读0x22006008地址返回SRAM中地址0x20000300字节的位2的值(0x01 or 0x00)。 请参考《Cortex-M3技术参考手册》以了解更多有关位段的信息。
模块 主存储器
表3.2:闪存模块的结构 名字 地址
0x0800 0000 - 0x0800 03FF 页 0
0x0800 0400 - 0x0800 07FF 页 1
0x0800 0800 - 0x0800 0BFF 页 2
0x0800 0C00 - 0x0800 0FFF 页 3
0x0800 1000 - 0x0800 13FF 页 4
… … … …
大小
1K字节
… …
0x0801 FC00 - 0x0801 FFFF 页 127 1K字节 0x1FFF F000 - 0x1FFF F7FF 信息块 系统存储器 2K字节 0x1FFF F800 - 0x1FFF F80F 16 用户可选的字节
0x4002 2000 - 0x4002 2003 4 闪存_ACR 0x4002 2004 - 0x4002 2007 4 闪存_KEYR 0x4002 2008 - 0x4002 200B 4 闪存_OPTKEYR 0x4002 200C - 0x4002 200F 4 闪存_SR
0x4002 2010 - 0x4002 2013 4 闪存存储器寄存闪存_CR
0x4002 2014 - 0x4002 2017 4 器 闪存_AR
0x4002 2018 - 0x4002 201B 4 保留
0x4002 201C - 0x4002 201F 4 闪存_OBR
0x4002 2020 - 0x4002 2023 4 闪存_WRPR
0x4002 2024 - 0x4002 2087 100 保留
注意:更多有关闪存存储器寄存器的信息,请查阅《STM32F10x 闪存 编程手册》。
闪存读取
闪存的指令和数据访问是通过AHB总线来执行的。预取模块被用于通过ICode总线取指令。仲裁在闪存中进行,并且DCode总线上的数据访问优先。 读访问可以有以下配置选项:
延时:动态设置的读操作等待状态数目
预取:可以动态打开/禁用,从而优化性能。 半周期: 用于功耗优化。 注意:
相关推荐:
- [行业资料]创设有效语境 改善英语教学
- [行业资料]微商推广引流的44种方法
- [行业资料]医疗机构输血科血库基本标准
- [行业资料]锂离子电池项目可行性研究报告(2015年
- [行业资料]申请执行人长沙市开福区人口和计划生育
- [行业资料]倾听草木的呼吸(初中阅读)
- [行业资料]长沙新环境厂房租赁合同书
- [行业资料]2022年经济师《金融专业知识与实务(中
- [行业资料]浦东新区2009学年度第二学期期末考试七
- [行业资料]企业劳动用工协议书
- [行业资料]最新苏科版七年级数学上册第二章有理数
- [行业资料]12星座与英语词汇学习
- [行业资料]2008年高考化学科经验
- [行业资料]镇政府2015年工作总结及2016年政府工作
- [行业资料]梧州市产业园区规划及招商引资报告
- [行业资料]大体积砼承台施工作业指导书
- [行业资料]学生干部在创建和谐校园中的作1
- [行业资料]小学语文教师实习个人总结
- [行业资料]2014完美最新奖金制度
- [行业资料]2016年一建建筑实务-重要知识点地质
- 【最新】人教版小学语文三年级上册:第
- 中国中小企业年鉴(地区数据)
- 动物与人类生活的关系 ppt
- 选修3 专题3 胚胎工程知识点
- 遥感技术基础复习题
- 公司员工职业生涯规划实施方案
- 辽宁省建筑施工企业安全生产许可证管理
- 15秋福师《中外幼儿教育史》在线作业二
- 2015-2020年中国网络视频行业深度调研
- 数学八年级下华东师大版21.1算术平均数
- 苏教版一年级语文下册《小松树和大松树
- 油画论文:摄影对当下油画艺术的影响
- 西方自由主义影响下的新闻自由——从17
- 基于支持向量机的商业银行信用风险评估
- 机械设计基础复习题答案(修改)(1)
- 语文:高考作文素材:材料引用及论点论
- 月份工程进度款结算单62+56
- 2018-2023年中国互联网基金行业现状研
- 人教版 PEP 五年级下册Unit1Lesson1 th
- 2014学年第二学期四年级数学期末教学质




