第5章_mpc8347的系统配置_mpc83xx中文手册

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1第五章系统配置5.1绪论本章介绍多个控制本地访问窗口、系统配置、保护和通用实用程序的功能。主要特性如下:本地访问窗口系统配置软件看门狗实时时钟周期时间间隔定时器通用定时器电源管理控制5.2本地内存映射概述和举例MPC8349E提供灵活的本地内存映射。本地内存映射指的是处理器在访问内存和I/O时所看到的32位地址空间。内部DMA引擎也看到该本地内存映射。DDRSDRAM控制器和本地总线存贮器控制器访问的所有存贮器都在该内存映射之内,所有内存映射的配置、控制和状态寄存器也在该存映像之内。本地内存映射由九个本地访问窗口的集合定义。每个窗口将一块存贮器区域映射到一个具体的目标接口,例如DDRSDRAM控制器或PCI控制器。注意,本地访问窗口不执行任何地址变换。可以把每个窗口的大小配置为4K字节到2G字节。可以把每个访问窗口分配给表5-1定义的特定目标接口。表5-1本地访问窗口目标接口窗口号目标接口注释0配置寄存器(IMMR)固定的1M字节窗口1本地总线-2本地总线-3本地总线-4本地总线-5PCIPCI1和PCI26PCIPCI1和PCI27DDRSDRAM-8DDRSDRAM-图5-1给出了一个内存映射的例子。2图5-1本地内存映射举例表5-2给出了一个本地访问窗口设置的例子。表5-2本地访问窗口举例窗口基址大小目标接口70x0000_00002G字节DDRSDRAM20x8000_00001M字节本地总线50xA000_0000256M字节PCI160xB000_0000256M字节PCI230xC000_0000256M字节本地总线00xFF40_00001M字节配置寄存器(IMMR)10xFF80_00008M字节本地总线引导ROM闪存4,8未使用在该例中,在复位序列期间由复位配置字高端设置,将引导ROM的本地访问窗口定义为1号,在本地总线设备上,为最高的8M字节内存(见4.4.2.15节“引导ROM定位”和5.2.4.3.1节“LBLAWBAR0[BASE_ADDR]复位值”)。本地访问窗口还指定用于内存映射寄存器(IMMR)的内存的范围为固定的1M字节空间,使用缺省值(0xFF40_0000)的IMMRBAR寄存器指向该空间。参见5.2.4.1节“内部内存映射寄存器基址寄存器(IMMRBAR)”。5.2.1地址变换和映射除了e300c1核MMU执行的地址变换之外,在集成设备级对事务还执行另外三种不同类型的变换和映射操作。这些操作如下:将本地地址映射到目标接口将本地32位地址变换到外部地址空间将外部地址变换到本地32位地址空间3本地访问窗口为本地地址空间内的事务执行目标映射。本地访问窗口不执行任何地址变换。外向窗口(outboundwindow)执行本地32位地址空间到PCI1或PCI2地址空间的映射,PCI1或PCI2地址空间可能比本地空间大很多。内向窗口(inboundwindow)执行PCI1或PCI2外部地址空间到本地地址空间的映射。由内向窗口建立的目标映射必须与本地访问窗口一致,即如果内向窗口将事务映射到一个给定的本地地址,则必须为该地址独立设置正确的本地访问窗口。定义本地访问窗口映射的所有配置寄存器都遵循相同的格式。表5-3汇总了这些窗口定义的通用格式。表5-3窗口定义格式寄存器功能基址高地址位,定义初始地址空间中的窗口位置窗口大小/属性窗口允许,窗口大小11IMMR窗口除外。始终允许IMMR窗口,其大小固定为1M字节。窗口大小必须为2的幂。为执行映射功能,将事务的地址与每个窗口的基址寄存器进行比较。用于比较的位数由每个窗口大小的属性指示。当地址命中窗口时,就将事务导向到适合的目标。5.2.2到配置空间的窗口内部存贮器映射寄存器的基址寄存器(IMMRBAR)定义用于访问所有内存映射的配置、控制和状态寄存器的窗口,称之为内部存贮器映射寄存器或IMMR。始终允许该窗口,其大小固定为1M字节,没有其他属性,因此没有相关的大小/属性寄存器。该窗口始终优先于所有其他本地访问窗口。IMMRBAR在每次复位后被置为缺省基址值0xFF40_0000。写入该寄存器可以修改该基址。更多信息参见5.2.4.1节“内部存贮器映射寄存器基址寄存器(IMMRBAR)”。注意建议不要使用IMMR1M字节之后的3M字节空间。例如,如果将IMMRBAR置为0xFF40_0000,IMMR之后的3M字节地址空间为0xFF50_0000-0xFF7F_FFFF。虽然使用该地址空间是合法的,但该空间可能在今后MPC8349E的派生控制器中使用,它们需要更大的内存空间。5.2.3本地访问窗口如5.2节“本地内存映射概述和举例”中地址映射概述中所阐明的,本地访问窗口将一块32位的本地地址空间与一个具体的目标接口关联起来。它允许设备的内部互连,将事务从源发送到正确的目标。不执行地址变换。基址定义高地址位,它给出了窗口在本地访问空间中的位置。窗口属性启用窗口,并定义窗口大小,而窗口号则指定目标接口。除配置空间之外(由IMMRBAR映射),系统使用的所有地址都必须由本地访问窗口映射,包括由PCI内向窗口映射的地址。本地访问窗口寄存器是系统配置寄存器中本地访问部件的一部分。参见5.3.2节“系统配置寄存器”。下面几节详细说明本地访问窗口寄存器。注意,窗口的最小尺寸位4K字节,所以不能规定基址的低12位。5.2.3.1本地访问寄存器内存映射表5-4显示了本地访问寄存器的内存映射。4表5-4本地访问寄存器内存映射本地内存偏移(十六进制)寄存器访问复位节/页0x0_0000内部存贮器映射基址寄存器(IMMRBAR)R/W0xFF40_00005.2.4.1/xx0x0_0004保留---0x0_0008备用配置基址寄存器(ALTCBAR)R/W0x0000_00005.2.4.2/xx0x0_000C-0x0_001C保留---0x0_0020LBC本地访问窗口0基址寄存器(LBLAWBAR0)R/W0x0000_000015.2.4.3/x-x0x0_0024LBC本地访问窗口0属性寄存器(LBLAWAR0)R/W0x0000_000025.2.4.4/x-x0x0_0028LBC本地访问窗口1基址寄存器(LBLAWBAR1)R/W0x0000_00005.2.4.3/x-x0x0_002CLBC本地访问窗口1属性寄存器(LBLAWAR1)R/W0x0000_00005.2.4.4/x-x0x0_0030LBC本地访问窗口2基址寄存器(LBLAWBAR2)R/W0x0000_00005.2.4.3/x-x0x0_0034LBC本地访问窗口2属性寄存器(LBLAWAR2)R/W0x0000_00005.2.4.4/x-x0x0_0038LBC本地访问窗口3基址寄存器(LBLAWBAR3)R/W0x0000_00005.2.4.3/x-x0x0_003CLBC本地访问窗口3属性寄存器(LBLAWAR3)R/W0x0000_00005.2.4.4/x-x0x0_0040-0x0_005C保留---0x0_0060PCI本地访问窗口0基址寄存器(PCILAWBAR0)R/W0x0000_000035.2.4.5/x-x0x0_0064PCI本地访问窗口0属性寄存器(PCILAWAR0)R/W0x0000_000045.2.4.6/x-x0x0_0068PCI本地访问窗口1基址寄存器(PCILAWBAR1)R/W0x0000_00005.2.4.5/x-x0x0_006CPCI本地访问窗口1属性寄存器(PCILAWAR1)R/W0x0000_00005.2.4.6/x-x0x0_0070-0x0_009C保留---0x0_00A0DDR本地访问窗口0基址寄存器(DDRLAWBAR0)R/W0x0000_000055.2.4.7/x-x0x0_00A4DDR本地访问窗口0属性寄存器(DDRLAWAR0)R/W0x0000_000065.2.4.8/x-x0x0_00A8DDR本地访问窗口1基址寄存器(DDRLAWBAR1)R/W0x0000_00005.2.4.7/x-x0x0_00ACDDR本地访问窗口1属性寄存R/W0x0000_00005.2.4.8/x-x5器(DDRLAWAR1)0x0_00B0-0x0_00FC保留---1与复位配置字高端值有关。详情参见5.2.4.3.1节“LBLAWBAR0[BASE_ADDR]复位值”。2与复位配置字高端值有关。详情参见5.2.4.4.1节“LBLAWAR0[EN]和LBLAWAR0[SIZE]复位值”。3与复位配置字高端值有关。详情参见5.2.4.5.1节“PCILAWBAR0[BASE_ADDR]复位值”。4与复位配置字高端值有关。详情参见5.2.4.6.1节“PCILAWAR0[EN]和PCILAWAR0[SIZE]复位值”。5与复位配置字高端值有关。详情参见5.2.4.7.1节“DDRLAWBAR0[BASE_ADDR]复位值”。6与复位配置字高端值有关。详情参见5.2.4.8.1节“DDRLAWAR0[EN]和DDRLAWAR0[SIZE]复位值”。5.2.4本地访问寄存器说明5.2.4.1内部存贮器映射寄存器基址寄存器(IMMRBARInternalMemoryMapRegisterBaseAddressRegister)IMMR窗口包括配置、控制和状态寄存器,以及内部设备存贮器阵列。内部存贮器映射占用1M字节的内存空间。使用内部存贮器映射寄存器(IMMR)可以设定它的位置。内部存贮器映射寄存器的缺省基址为0xFF40_0000。因为IMMRBAR在距本地访问寄存器起始地址的0x0偏移处,所以IMMRBAR始终指向它自己。5.2.4.1.1更新IMMRBAR更新IMMRBAR就是重新定位整个1M字节的内部存贮器块,需要特别处理。必须确保在对新位置访问之前,映射逻辑可以见到更新的效果。为保证如此,应遵守下列原则:当只有一个主设备或控制器能够访问设备时,应在设备的初始配置期间更新IMMRBAR。具体如下:如果使用引导定序器(BootSequencer)进行初始化,建议由引导定序器将IMMRBAR设置为其期望的最终位置。如果由PCI上的外部主机来配置设备,应在e300c1核被启动之前,将IMMRBAR设置为其期望的最终位置。如果由核来初始化设备,应在允许其他I/O设备访问该设备之前,将IMMRBAR设置为其期望的最终位置。IMMRBAR如图5-2所示。图5-2内部存贮器映射寄存器基址寄存器(IMMRBAR)6表5-5定义了IMMRBAR的位字段。表5-5IMMRBAR位设置位名字说明0-11BASE_ADDR标识1M字节内部存贮器窗口基址的最高12个有效地址位。12-19BASE_ADDR_LOW始终为0x00。该窗口始终为固定的1M字节大小。20-31-保留。写无作用,读返回0。5.2.4.2备用配置基址寄存器(ALTCBARAlternateConfigurationBaseAddressRegister)备用配置基址寄存器(ALTCBAR)用于定义引导定序器要使用的备用1M字节配置空间区域的基址。通过装入串行ROM中的正确的引导定序器命令,可以把ALTCBAR中的基址与串行ROM提供的20位地址偏移结合起来,形成一个32位地址。因此,通过配置该寄存器,引导定序器就可以访问整个内存映射,一次1M字节块。更多信息参见第十七章“I2C接口”中的17.4.5节“引导定序器模式”。注意ALTCBAR并不定义它的本地访问窗口,所以引导定序器必须正确配置其他八个本地访问窗口中的一个,以到达所期望的目标外设。备用配置基址寄存器如图5-3所示。图5-3备用配置基址寄存器(ALTCBAR)表5-6定义了ALTCBAR的位字段。表5-6ALTCBAR位设置位名字说明0-11BASE_ADDR标识引导定序器配置访问所使用的备用基址的最高12个有效地址位。12-31-保留。写无作用,读返回0。5.

1 / 66
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功