03-第三章 STM32处理器总线结构与存储器.ppt

03-第三章 STM32处理器总线结构与存储器.ppt

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 STM32 处理器总线结构和存储器 3.1 系统总线构架 3.2 存储器的组织与映射 3.3 位段 3.4 启动配置 3.1 系统总线构架 四个主动单元:Cortex-M3 内核的 ICode 总线(I-bus)、DCode 总线(D-bus)、 System 总线(S-bus)和通用 DMA(GP-DMA)。 三个被动单元:内部SRAM、内部Flash 存储器、AHB 到 APB 的桥(AHB2APBx,连接 所有的 APB 设备)。 STM32F10x 处理器总线结构 总线结构中各单元的功能 ICode 总线:将 Flash 存储器指令接口与 Cortex-M3 内核的指令总线相连接,用于指 令预取; DCode 总线:将 Flash 存储器的数据接口与 Cortex-M3 内核的 DCode 总线相连接,用于常量加载和调试访问; System 总线:将Cortex-M3 内核的 System 总线(外设总线)连接到总线矩阵; 总线结构中各单元的功能 DMA 总线:将DMA 的 AHB 主控接口与总线矩阵相连; 总线矩阵:用于连接三个主动单元部件和三个被动单元,负责协调和仲裁Cortex-M3 内核和 DMA 对 SRAM 的访问,仲裁采用轮换算法。 AHB/APB 桥:两个 AHB/APB 桥在 AHB 和 2 个 APB 总线之间提供完全同步连接。 3.2 存储器的组织与映射 3.2.1 存储组织 Cortex-M3 处理器的存储系统采用统一编址方式;程序存储器、数据存储器、寄存器以及输入输出端口被组织在同一个 4GB 的线性地址空间内; 小端方式存放。 3.2.2 STM32 处理器存储器映射 STM32 系列处理器将可访问的存储器空间被分成 8 个主块,每个块为 512MB。 处理器内部存储器、片上外围设备的地址映射以及分配给片上各个外围设备的地址空间请参照书籍。 3.3 位段 Cortex-M3 存储器空间中包括两个位段区:SRAM 区的最低 1MB空间和外设存储区的最低 1MB 空间。 这两个位段区分别与两个 32M 的位段别名区对应,位段区中的每一位映射到位段别名区中的一个字。 通过对别名区中某个字的读写操作可以实现对位段区中某一位的读写操作。 位段别名区中的字与位段区的位映射公式 bit_word_addr = bit_band_base + (byte_offset x 32) + bit_number × 4 例如:SRAM 位段区中地址为 0的字节中的位 2 被映射到别名区中的地址为:0= 0+ (0x300*32) + (2*4))的字。 3.3 位段 对别名区中某个字进行写操作,该字的第 0 位将影响位段区中对应的位。 对别名区中某个字进行读操作,若位段区中对应的位为 0 则读的结果为 0x00,若位段区中对应的位为 1 则读的结果为0x01。 对别名区的读写可以实现对位段区中每一位的原子操作,而且仅只需要一条指令即可实现。 3.4 启动配置 系 统 启 动之 后, CPU 从 位 于 0x0000 0000 地 址 处 的 启 动区开始执行代码。 对 于STM32F10x 系列处理器,可以通过配置 BOOT[1:0]引脚选择三种不同启动模式。 启动模式配置 3.4 启动配置 通过设置 BOOT[1:0]引脚,各种不同启动模式对应的存储器物理地址将被映像到第 0 块(启动区)。 系统复位后,在 SYSCLK 引脚的第4 个上升沿,BOOT 引脚的值将被锁存。 * * 三个主动单元部件(Cortex-M3 内核的 DCode 总线、System 总线、和 DMA 总线) 和三个被动单元(Flash 存储器、SRAM 和 AHB2APB 桥), AHB 外设通过总线矩阵与系统总线相连,允许 DMA 访问。 APB1 操作速度限于 36MHz,而 APB2 则可操作于全速(最高 72MHz)。 其中片内Flash 的起始地址为 0x0000 0000,片内SRAM 的起始地址是0x2000 0000。 如果某款处理器不带有某个片上外围,则该地址范围保留。 个位段(bit-band) 位段别名(bit-band alias) bit_word_addr 是别名区中字的地址,它映射到位段区的某个目标位; bit_band_base 是别名区的起始地址; byte_offset 是包含目标位的字节在位段里的序号; bit_number 是目标位所在位置(0-31)。

文档评论(0)

xuefei111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档