MPC8641d内存映射阅读笔记

长平狐 发布于 2013/03/04 19:30
阅读 98
收藏 0

本地地址映射(local address map)由10个本地访问窗口来定义( local access window, LAW)。每一个窗口都可以把一段本地地址空间映射到特定的目标接口中,这些目标接口包括,DDR控制器,本地总线控制器,Serial RapidIO 控制器,PCIE控制器等等。

如果这个目标映射会被本地访问窗口把事务定向到外部的接口。那这个事务会被和这个外部接口相关连的ATMU映射到外部的地址空间。

 

2.1.1 低内存偏移模式

这个模式主要是给双核双操作系统模式使用的一种方法。因为在e600中,异常向量被定义在一个固定的地址(0x0_0000_0100到0x0_0000_1600),每一个OS想要拥有唯一的异常处理函数。这时需要有一种机制两个核看到同样的真实地址,但是事实上这两段真实地址空间是位于不同的物理地址空间中。

 

2.2 本地访问窗口

本地地址映射是由十个本地访问窗口来进行的。每一个窗口都可以把4k到32G的地址空间映射到某个特定的目标接口中。每一个窗口都是由一系列的寄存器定义。一个基址寄存器是定义一个本地窗口的起始地址,一个属性寄存器是定义窗口大小,映射是否使能,这个窗口的目标接口等。除了配置空间(由CCSR映射)和启动ROM空间之外,其他所有的地址都必须被LAW所映射。

 

2.2.1 本地访问窗口寄存器

请参看Table 2-1

其中目标接口的编码参看Table 2-4

 

2.2.2 本地访问窗口的优先顺序

如果两个LAW映射的地址空间有重叠,这时候低数字的窗口优先。即按照低数字的本地窗口映射方式进行翻译。

 

2.3 ATMU(Address Translation and Mapping Units)

2.4 CCSR( configuration , Control and Status register)

所有内存映射的配置,控制以及状态寄存器都是在1M的空间内。这个空间的基址由CCSRBAR寄存器定义,通过修改CCSRBAR寄存器,我们可以把这1M的设备寄存器空间在本地地址空间进行重定位。CCSRBAR的默认值为0x0_FF70_0000。在CCSR地址空间内,不需要任何地址翻译,并且这1M的地址空间总是使能的。(  No address translation is performed for CCSR space, so there is no associated translation address register. The CCSR window is always enabled with a fixed size of 1 Mbyte; no other attributes are
attached, so there is no associated window attribute register.)

 

2.4.3 CCSR地址空间的分布

参看表Figure 2-5来了解CCSR空间内的IO寄存器.


原文链接:http://blog.csdn.net/michael_kang/article/details/5447749
加载中
返回顶部
顶部