MPC8349第5章 系统配置Word格式文档下载.docx
- 文档编号:20463464
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:113
- 大小:609.30KB
MPC8349第5章 系统配置Word格式文档下载.docx
《MPC8349第5章 系统配置Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《MPC8349第5章 系统配置Word格式文档下载.docx(113页珍藏版)》请在冰豆网上搜索。
4
5
PCI
PCI1和PCI2
6
7
DDRSDRAM
8
图5-1给出了一个内存映射的例子。
图5-1本地内存映射举例
表5-2给出了一个本地访问窗口设置的例子。
表5-2本地访问窗口举例
窗口
基址
大小
0x0000_0000
2G字节
0x8000_0000
1M字节
0xA000_0000
256M字节
PCI1
0xB000_0000
PCI2
0xC000_0000
0xFF40_0000
0xFF80_0000
8M字节
本地总线引导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位地址空间
本地访问窗口为本地地址空间内的事务执行目标映射。
本地访问窗口不执行任何地址变换。
外向窗口(outboundwindow)执行本地32位地址空间到PCI1或PCI2地址空间的映射,PCI1或PCI2地址空间可能比本地空间大很多。
内向窗口(inboundwindow)执行PCI1或PCI2外部地址空间到本地地址空间的映射。
由内向窗口建立的目标映射必须与本地访问窗口一致,即如果内向窗口将事务映射到一个给定的本地地址,则必须为该地址独立设置正确的本地访问窗口。
定义本地访问窗口映射的所有配置寄存器都遵循相同的格式。
表5-3汇总了这些窗口定义的通用格式。
表5-3窗口定义格式
寄存器
功能
高地址位,定义初始地址空间中的窗口位置
窗口大小/属性
窗口允许,窗口大小1
1IMMR窗口除外。
始终允许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显示了本地访问寄存器的内存映射。
表5-4本地访问寄存器内存映射
本地内存
偏移(十六进制)
访问
复位
节/页
0x0_0000
内部存贮器映射基址寄存器(IMMRBAR)
R/W
5.2.4.1/xx
0x0_0004
保留
0x0_0008
备用配置基址寄存器(ALTCBAR)
5.2.4.2/xx
0x0_000C-
0x0_001C
0x0_0020
LBC本地访问窗口0基址寄存器(LBLAWBAR0)
0x0000_00001
5.2.4.3/x-x
0x0_0024
LBC本地访问窗口0属性寄存器(LBLAWAR0)
0x0000_00002
5.2.4.4/x-x
0x0_0028
LBC本地访问窗口1基址寄存器(LBLAWBAR1)
0x0_002C
LBC本地访问窗口1属性寄存器(LBLAWAR1)
0x0_0030
LBC本地访问窗口2基址寄存器(LBLAWBAR2)
0x0_0034
LBC本地访问窗口2属性寄存器(LBLAWAR2)
0x0_0038
LBC本地访问窗口3基址寄存器(LBLAWBAR3)
0x0_003C
LBC本地访问窗口3属性寄存器(LBLAWAR3)
0x0_0040-
0x0_005C
0x0_0060
PCI本地访问窗口0基址寄存器(PCILAWBAR0)
0x0000_00003
5.2.4.5/x-x
0x0_0064
PCI本地访问窗口0属性寄存器(PCILAWAR0)
0x0000_00004
5.2.4.6/x-x
0x0_0068
PCI本地访问窗口1基址寄存器(PCILAWBAR1)
0x0_006C
PCI本地访问窗口1属性寄存器(PCILAWAR1)
0x0_0070-
0x0_009C
0x0_00A0
DDR本地访问窗口0基址寄存器(DDRLAWBAR0)
0x0000_00005
5.2.4.7/x-x
0x0_00A4
DDR本地访问窗口0属性寄存器(DDRLAWAR0)
0x0000_00006
5.2.4.8/x-x
0x0_00A8
DDR本地访问窗口1基址寄存器(DDRLAWBAR1)
0x0_00AC
DDR本地访问窗口1属性寄存器(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)
表5-5定义了IMMRBAR的位字段。
表5-5IMMRBAR位设置
位
名字
说明
0-11
BASE_ADDR
标识1M字节内部存贮器窗口基址的最高12个有效地址位。
12-19
BASE_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位设置
标识引导定序器配置访问所使用的备用基址的最高12个有效地址位。
12-31
5.2.4.3LBC本地访问窗口n基址寄存器(LBLAWBAR0-LBLAWBAR3LBCLocalAccessWindownBaseAddressRegister)
LBC本地访问窗口n基址寄存器(LBLAWBAR0-LBLAWBAR3)如图5-4所示。
1LBLAWBAR0[BASE_ADDR]复位值与复位配置字高端值有关。
详细说明参见5.2.4.3.1节“LBLAWBAR0[BASE_ADDR]复位值”。
图5-4LBC本地访问窗口n基址寄存器(LBLAWBAR0-LBLAWBAR3)
表5-7定义了LBLAWBAR0-LBLAWBAR3的位字段。
表5-7LBLAWBAR0-LBLAWBAR3位设置
0-19
标识本地访问窗口n的基址的最高20个有效地址位。
规定的基址必须与LBLAWARn[SIZE]定义的窗口大小对齐。
5.2.4.3.1LBLAWBAR0[BASE_ADDR]复位值
核还可以使用本地总线外围设备取得它的引导向量。
为实现该目的,LBLAWBAR0[BASE_ADDR]的复位值由复位配置字高端的BMS字段的值设置。
表5-8定义了LBLAWBAR0[BASE_ADDR]的复位值。
表5-8LBLAWBAR0[BASE_ADDR]复位值
RCWHR[BMS]
BASE_ADDR复位值
0x00000
0xFF800
5.2.4.4LBC本地访问窗口n属性寄存器(LBLAWAR0-LBLAWAR3LBCLocalAccessWindownAttributesAddressRegister)
LBC本地访问窗口n属性寄存器(LBLAWAR0-LBLAWAR3)如图5-5所示。
1LBLAWAR0[EN]复位值与复位配置字高端值有关。
详细说明参见5.2.4.4.1节“LBLAWAR0[EN]和LBLAWAR0[SIZE]复位值”。
2LBLAWAR0[SIZE]复位值与复位配置字高端值有关。
图5-5LBC本地访问窗口n属性寄存器(LBLAWAR0-LBLAWAR3)
表5-9定义了LBLAWAR0-LBLAWAR3的位字段。
表5-9LBLAWAR0-LBLAWAR3位设置
EN
0禁止本地总线本地访问窗口n。
1允许本地总线本地访问窗口n,其他LBLAWAR0和LBLAWBAR0字段联合标识该窗口的地址范围。
1-25
26-31
SIZE
标识从起始地址开始的窗口的大小。
窗口大小为2(SIZE+1)个字节。
000000-001010保留。
窗口未定义。
0010114K字节
0011008K字节
00110116K字节
……2(SIZE+1)字节
0111102G字节
011111-111111保留。
5.2.4.4.1LBLAWAR0[EN]和LBLAWAR0[SIZE]复位值
核可以使用本地总线外围设备取得它的引导向量。
为实现该目的,LBLAWAR0[SIZE]复位值定义一个8M字节(2(22+1))的本地访问窗口,并根据复位配置字高端的ROMLOC字段的值允许LBLAWAR0。
表5-10定义了LBLAWAR0[EN]的复位值。
表5-10LBLAWAR0[EN]复位值
LBLAWAR0[EN]复位值
000-100
不从本地总线设备执行e300c1核引导。
101-111
从本地总线设备执行e300c1核引导。
允许8M字节(2(22+1))的本地访问窗口。
5.2.4.5PCI本地访问窗口n基址寄存器(PCILAWBAR0-PCILAWBAR1PCILocalAccessWindownBaseAddressRegister)
PCI本地访问窗口n基址寄存器(PCILAWBAR0-PCILAWBAR1)如图5-6所示。
1PCILAWBAR0[BASE_ADDR]复位值与复位配置字高端值有关。
详细说明参见5.2.4.5.1节“PCILAWBAR0[BASE_ADDR]复位值”。
图5-6PCI本地访问窗口n基址寄存器(PCILAWBAR0-PCILAWBAR1)
表5-11定义了PCILAWBAR0-PCILAWBAR1的位字段。
表5-11PCILAWBAR0-PCILAWBAR1位设置
规定的基址必须与PCILAWARn[SIZE]定义的窗口大小对齐。
5.2.4.5.1PCILAWBAR0[BASE_ADDR]复位值
核还可以使用PCI外围设备取得它的引导向量。
为实现该目的,PCILAWBAR0[BASE_ADDR]的复位值由复位配置字高端的BMS字段的值设置。
表5-12定义了PCILAWBAR0[BASE_ADDR]的复位值。
表5-12PCILAWBAR0[BASE_ADDR]复位值
5.2.4.6PCI本地访问窗口n属性寄存器(PCILAWAR0-PCILAWAR1PCILocalAccessWindownAttributesAddressRegister)
PCI本地访问窗口n属性寄存器(PCILAWAR0-PCILAWAR1)如图5-7所示。
1PCILAWAR0[EN]复位值与复位配置字高端值有关。
详细说明参见5.2.4.6.1节“PCILAWAR0[EN]和PCILAWAR0[SIZE]复位值”。
2PCILAWAR0[SIZE]复位值与复位配置字高端值有关。
详细说明参见5.2.4.6.1节“PCILAWAR0[EN]和PCILAWAR0[SIZE]复位值”。
图5-7PCI本地访问窗口n属性寄存器(PCILAWAR0-PCILAWAR1)
表5-13定义了PCILAWAR0-PCILAWAR1的位字段。
表5-13PCILAWAR0-PCILAWAR1位设置
0禁止PCI本地访问窗口n。
1允许PCI本地访问窗口n,其他PCILAWAR0和PCILAWBAR0字段联合标识该窗口的地址范围。
标识从起始地址开的窗口的大小。
5.2.4.6.1PCILAWAR0[EN]和PCILAWAR0[SIZE]复位值
核可以使用PCI外围设备取得它的引导向量。
为实现该目的,PCILAWAR0[SIZE]复位值定义一个8M字节(2(22+1))的本地访问窗口,并根据复位配置字高端的ROMLOC字段的值允许PCILAWAR0。
表5-14定义了PCILAWAR0[EN]的复位值。
表5-14PCILAWAR0[EN]复位值
PCILAWAR0[EN]复位值
000,011-111
不从PCI设备执行e300c1核引导。
001
从PCI1设备执行e300c1核引导。
010
从PCI2设备执行e300c1核引导。
5.2.4.7DDR本地访问窗口n基址寄存器(DDRLAWBAR0-DDRLAWBAR1DDRLocalAccessWindownBaseAddressRegister)
DDR本地访问窗口n基址寄存器(DDRLAWBAR0-DDRLAWBAR1如图5-8所示。
1DDRLAWBAR0[BASE_ADDR]复位值与复位配置字高端值有关。
详细说明参见5.2.4.7.1节“DDRLAWBAR0[BASE_ADDR]复位值”。
图5-8DDR本地访问窗口n基址寄存器(DDRLAWBAR0-DDRLAWBAR1)
表5-15定义了DDRLAWBAR0-DDRLAWBAR1的位字段。
表5-15DDRLAWBAR0-DDRLAWBAR1位设置
规定的基址必须与DDRLAWARn[SIZE]定义的窗口大小对齐。
5.2.4.7.1DDRLAWBAR0[BASE_ADDR]复位值
核还可以使用DDRSDRAM设备取得它的引导向量。
为实现该目的,DDRLAWBAR0[BASE_ADDR]的复位值由复位配置字高端的BMS字段的值设置。
表5-16定义了DDRLAWBAR0[BASE_ADDR]的复位值。
表5-16DDRLAWBAR0[BASE_ADDR]复位值
5.2.4.8DDR本地访问窗口n属性寄存器(DDRLAWAR0-DDRLAWAR1DDRLocalA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MPC8349第5章 系统配置 MPC8349