《STM32处理器总线结构和存储器课件》由会员分享,可在线阅读,更多相关《STM32处理器总线结构和存储器课件(16页珍藏版)》请在金锄头文库上搜索。
1、第三章第三章 STM32 处理器总线结构和存储器处理器总线结构和存储器STM32处理器总线结构和存储器l3.1 系统总线构架l3.2 存储器的组织与映射l3.3 位段l3.4 启动配置STM32处理器总线结构和存储器3.1 系统总线构架系统总线构架l四个主动单元:Cortex-M3 内核的 ICode 总线(I-bus)、DCode 总线(D-bus)、 System 总线(S-bus)和通用 DMA(GP-DMA)。l三个被动单元:内部SRAM、内部Flash 存储器、AHB 到 APB 的桥(AHB2APBx,连接 所有的 APB 设备)。STM32处理器总线结构和存储器 STM32F10
2、x 处理器总线结构处理器总线结构STM32处理器总线结构和存储器总线结构中各单元的功能总线结构中各单元的功能lICode 总线:将 Flash 存储器指令接口与 Cortex-M3 内核的指令总线相连接,用于指 令预取;lDCode 总线:将 Flash 存储器的数据接口与 Cortex-M3 内核的 DCode 总线相连接,用于常量加载和调试访问;lSystem 总线:将Cortex-M3 内核的 System 总线(外设总线)连接到总线矩阵;STM32处理器总线结构和存储器总线结构中各单元的功能总线结构中各单元的功能lDMA 总线:将DMA 的 AHB 主控接口与总线矩阵相连;l总线矩阵:
3、用于连接三个主动单元部件和三个被动单元,负责协调和仲裁Cortex-M3 内核和 DMA 对 SRAM 的访问,仲裁采用轮换算法。l AHB/APB 桥:两个 AHB/APB 桥在 AHB 和 2 个 APB 总线之间提供完全同步连接。STM32处理器总线结构和存储器3.2 存储器的组织与映射存储器的组织与映射STM32处理器总线结构和存储器3.2.1 存储组织存储组织lCortex-M3 处理器的存储系统采用统一编址方式;程序存储器、数据存储器、寄存器以及输入输出端口被组织在同一个 4GB 的线性地址空间内;l小端方式存放。STM32处理器总线结构和存储器3.2.2 STM32 处理器存储器
4、映射处理器存储器映射lSTM32 系列处理器将可访问的存储器空间被分成 8 个主块,每个块为 512MB。l处理器内部存储器、片上外围设备的地址映射以及分配给片上各个外围设备的地址空间请参照书籍。STM32处理器总线结构和存储器3.3 位段位段lCortex-M3 存储器空间中包括两个位段区:SRAM 区的最低 1MB空间和外设存储区的最低 1MB 空间。l这两个位段区分别与两个 32M 的位段别名区对应,位段区中的每一位映射到位段别名区中的一个字。l通过对别名区中某个字的读写操作可以实现对位段区中某一位的读写操作。STM32处理器总线结构和存储器STM32处理器总线结构和存储器位段别名区中的
5、字与位段区的位映射公式位段别名区中的字与位段区的位映射公式lbit_word_addr = bit_band_base + (byte_offset x 32) + bit_number 4l例如:SRAM 位段区中地址为 0x20000300 的字节中的位 2 被映射到别名区中的地址为:0x22006008(= 0x22000000 + (0x300*32) + (2*4))的字。STM32处理器总线结构和存储器3.3 位段位段l对别名区中某个字进行写操作,该字的第 0 位将影响位段区中对应的位。l对别名区中某个字进行读操作,若位段区中对应的位为 0 则读的结果为 0x00,若位段区中对应的
6、位为 1 则读的结果为0x01。l对别名区的读写可以实现对位段区中每一位的原子操作,而且仅只需要一条指令即可实现。STM32处理器总线结构和存储器3.4 启动配置启动配置l系 统 启 动之 后, CPU 从 位 于 0x0000 0000 地 址 处 的 启 动区开始执行代码。l对 于STM32F10x 系列处理器,可以通过配置 BOOT1:0引脚选择三种不同启动模式。STM32处理器总线结构和存储器 启动模式配置启动模式配置STM32处理器总线结构和存储器3.4 启动配置启动配置l通过设置 BOOT1:0引脚,各种不同启动模式对应的存储器物理地址将被映像到第 0 块(启动区)。l系统复位后,在 SYSCLK 引脚的第4 个上升沿,BOOT 引脚的值将被锁存。STM32处理器总线结构和存储器