第2章存储器与总线架构课件.ppt
《第2章存储器与总线架构课件.ppt》由会员分享,可在线阅读,更多相关《第2章存储器与总线架构课件.ppt(37页珍藏版)》请在三一办公上搜索。
1、第2章 存储器与总线构架,一、系统构架,1、STM32系统包含的基本单元四个驱动单元:Cortex-M3内核ICode总线(I-bus)、DCode 总线(D-bus)和系统总线(S-bus),GP-DMA(通用DMA) 三个被动单元:内部SRAM,内部闪存FLASH存储器,AHB到APB的桥(AHB2APBx),它连接所有的APB设备,2、系统结构如下图所示,ICode总线:该总线将Cortex-M3内核的指令总线与Flash指令接口相连接,指令预取在此总线上完成。DCode总线:该总线将Cortex-M3内核的DCode总线与闪存存储器的数据接口相连接(常量加载和调试访问)。系统总线:此总
2、线连接Cortex-M3内核的系统总线(外设总线)到总线矩阵,总线矩阵协调着内核和DMA间的访问。DMA总线:此总线将DMA的AHB主控接口与总线矩阵相联,总线矩阵协调着CPU的DCode和DMA到SRAM、闪存和外设的访问。,总线矩阵:此总线矩阵协调内核系统总线和DMA主控总线之间的访问仲裁。此总线矩阵由3个驱动部件(CPU的DCode、系统总线和DMA总线)和3个被动部件(闪存存储器接口、SRAM和AHB2APB桥)构成。AHB外设通过总线矩阵与系统总线相连,允许DMA访问。AHB/APB桥(APB):两个AHB/APB 桥在AHB和2个APB总线间提供同步连接。APB1操作速度限于36M
3、Hz,APB2工作在全速状态(最高72MHz)。,二、存储器组织,1、存储器的组织方法程序存储器、数据存储器、寄存器和输入输出端口被组织在同一个4GB的线性地址空间内。数据字节以小端格式存放在存储器中。一个字中最低地址字节被认为是该字的最低位字节,而最高地址字节是最高位字节。可访问的存储器空间被分成8个512MB的主要块,其他所有没有分配给片上存储器和外设的存储器空间都是保留的地址空间,2、存储器映像,(续图),3、外设存储器映像,4、STM32F10X中各接口部件中的寄存器 STM32F103系列微控制器嵌入的各种接口部件都有三大类寄存器:控制寄存器、数据寄存器和状态寄存器,每一类寄存器都包
4、含了多个寄存器,它们在相同的基地址下具有不同的偏移地址。例:TIM2定时器的基地址是:0 x4000 0000 控制寄存器1的偏移地址是:00H 控制寄存器2的偏移地址是:04H 从模式控制寄存器的偏移地址是:08H DMA/中断使能寄存器的偏移地址是:0CH等,由上表述可得到它们的物理地址是: 控制寄存器1的物理地址是: 0 x4000 0000 控制寄存器2的物理地址是: 0 x4000 0004 从模式控制寄存器的物理地址是: 0 x4000 0008 DMA/中断使能寄存器的物理地址是: 0 x4000 000C等因此对这些寄存器的操作实际上就是对其物理地址中内容的操作,5、嵌入式SR
5、AM STM32F10 x内置20K字节的静态SRAM,它可以以字节、半字(16位)或全字(32位)访问,SRAM的起始地址是0 x2000 0000,6、嵌入式闪存高性能的闪存模块有以下的主要特性:128K字节闪存擦写次数:100万次存储器结构:闪存存储器有主存储块和信息块组成(1)主存储块为16Kx64位,每个主存储块又划分为128个1K字节的页。(2)信息块为320 x64位,每个信息块又划分为一个2K字节和一个0.5K字节的页,三、启动配置,在STM32F10 x里,可以通过BOOT1:0引脚选择三种不同启动模式,四、STM32F10X提供的固件库,固件库包括了程序、数据结构和覆盖所有
6、外部特性的宏单元,还包括设备驱动的描述以及每个外围模块的实例。 为了方便用户的编程,STM32F10X对接口部件中寄存器的操作转变成了对固件库的操作。即只要调用固件库中的相关函数,就可以完成对接口寄存器的操作。 STM32F10X中固件库中的函数是以接口部件来分类的。,1、STM32固件库的定义规则STM32固件库中使用的缩写词:,(1)固件库的命名规则 PPP表示外围模块的缩写 系统文件名和源/头文件名以“stm32f10 x_”的形式表示,例如stm32f10 x_conf.h。 在单一文件中使用的常量在该文件中定义,在多个文件中使用的常量定义在头文件中,所有的常量以大写字母表示。 寄存器
7、当作常量看待。同样以大写字母表示。,外围模块功能函数的名字需要有相应的外围模块缩写加下划线这样的前缀。每个单词的首写字符需要大写。例SPI_SendData 使用PPP_InitTypeDef中指定的参数初始化PPP外围模块的函数,被命名为PPP_Init。 复位PPP外围模块寄存器为默认值的函数,命名为PPP_DeInit。 将PPP_InitTypeDef结构体中的每个成员设置为复位值的函数,命名为PPP_StructInit。,用来使能或禁止指定的PPP外围模块的函数,命名为PPP_Cmd 用来使能或禁止指定的PPP外围模块的某个中断资源的函数,命名为PPP_ITConfig 用来使能或
8、禁止指定的PPP外围模块的DMA接口的函数,被命名为PPP_DMAConfig。 用来设置某个外围模块的函数,总是以“Config”结尾。,用来检测指定PPP的标志是否被置位或清0的函数,命名为PPP_GetFlagStatus。 用来清除某个PPP的标志的函数,命名为PPP_ClearFlag 用来检验指定PPP的中断是否发生的函数,命名为PPP_GetITPendingBit 用来清除某个PPP中断挂起位的函数,命名为PPP_ClearITPendingBit,(2)代码标准 变量定义了18个变量类型,在头文件stm32f10 x_type.h中Typedef signed long s3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 存储器 总线 架构 课件

链接地址:https://www.31ppt.com/p-1488148.html