5011|14

84

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

MMU g_oalAddressTable 畅所欲言!!! [复制链接]

对于这个table我只是能知道是什么意思 但不清楚这些地址是不是可以随便改的.大家畅所欲言,谈谈自己的看法,观点,互相学习.
我把我的g_oalAddressTable贴出来,方便大家描述表达.


DCD     0x80000000, 0x30000000, 64      ; 64 MB DRAM BANK 6
        DCD     0x84000000, 0x38000000, 64      ; 64 MB DRAM BANK 7
        DCD     0x88000000, 0x10000000, 32      ; 32 MB SROM(SRAM/ROM) BANK 2
        DCD     0x8C000000, 0x18000000, 32      ; 32 MB SROM(SRAM/ROM) BANK 3
        DCD     0x8E000000, 0x20000000, 32      ; 32 MB SROM(SRAM/ROM) BANK 4
        DCD     0x8A000000, 0x28000000, 32      ; 32 MB SROM(SRAM/ROM) BANK 5 - Ethernet

        DCD     0x90800000, 0x48000000,  1      ; SDRAM control register
        DCD     0x90900000, 0x48800000,  1      ; EBI control register
        DCD     0x90A00000, 0x49000000,  1      ; USB Host control register
        DCD     0x90B00000, 0x49800000,  1      ; USB Device control register
        DCD     0x90C00000, 0x4A000000,  1      ; Interrupt control register
        DCD     0x90D00000, 0x4A800000,  1      ; HS-MMC1 control register
        DCD     0x90E00000, 0x4AC00000,  1      ; HS-MMC0 control register
;2008-7-31 11:20添加SDMMC0,DEL STN LCD
        DCD     0x90F00000, 0x4B000000,  1      ; DMA0~7 control register
        DCD     0x91000000, 0x4B800000,  1      ; CF Card control register
        DCD     0x91100000, 0x4C000000,  1      ; SYSCON register
        DCD     0x91200000, 0x4C800000,  1      ; TFT-LCD control register
;        DCD     0x91200000, 0x4D000000,  1      ; STN-LCD control register
        DCD     0x91300000, 0x4D408000,  1      ; 2D
        DCD     0x91400000, 0x4D800000,  1      ; Camera control register
        DCD     0x91500000, 0x4E000000,  1      ; NAND flash control regist
        DCD     0x91600000, 0x4E800000,  1      ; Matrix control register
        DCD     0x91700000, 0x4F000000,  1      ; SSMC control register
        DCD     0x91800000, 0x4F800000,  1      ; TIC control register
        DCD     0x91900000, 0x50000000,  1      ; UART control register
        DCD     0x91A00000, 0x51000000,  1      ; PWM control register
        DCD     0x91B00000, 0x52000000,  1      ; HS-SPI and SPI0 control register
        DCD     0x91C00000, 0x53000000,  1      ; WDT control register
        DCD     0x91D00000, 0x54000000,  1      ; IIC control register
        DCD     0x92000000, 0x55000000,  1      ; IIS control register
        DCD     0x92100000, 0x56000000,  1      ; I/O Port register
        DCD     0x92200000, 0x57000000,  1      ; RTC Port register
        DCD     0x92300000, 0x58000000,  1      ; TSADC Port register
        DCD     0x92400000, 0x59000000,  1      ; SPI Port register
        DCD     0x92500000, 0x5A000000,  1      ; SDI Port register
        DCD     0x92600000, 0x5B000000,  1      ; AC97 Port register
        DCD     0x92700000, 0x5C000000,  1      ; PCM 0 ~ 1 control register
        DCD     0x92800000, 0x5D000000,  1      ; GPS control register       
        DCD     0x92900000, 0x5E000000,  1      ; CHIP ID control register

;        DCD     0x93000000, 0x00000000, 32      ; 32 MB SROM(SRAM/ROM) BANK 0
;        DCD     0x94000000, 0x08000000, 32      ; 32 MB SROM(SRAM/ROM) BANK 1
;        DCD     0x95000000, 0x10000000, 32      ; 32 MB SROM(SRAM/ROM) BANK 2
;        DCD     0x96000000, 0x18000000, 32      ; 32 MB SROM(SRAM/ROM) BANK 3

        DCD     0x00000000, 0x00000000,  0      ; end of table

最新回复

这张表是物理地址和虚拟地址之间的映射关系,在MMU打开映射以后,希望哪段物理地址映射到哪段虚拟地址用的,跟flash大小完全没有关系,我建议你们去读读private里面的code,一目了然  详情 回复 发表于 2009-9-2 15:16
点赞 关注

回复
举报

70

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
This global variable specifies the table that is used by the kernel to establish the virtual to physical address mapping.

Remarks
The OALPAtoVA and OALVAtoPA functions use the table to retrieve the virtual address for a corresponding physical address, and vice versa.(from MSDN).
 
 

回复

87

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

typedef struct {
  UINT32 CA;   //Cached virtual address.
  UINT32 PA;   //Physical base address from which to map.
  UINT32 size; //Amount of memory to map, in megabytes.
} OAL_ADDRESS_TABLE, *POAL_ADDRESS_TABLE;

Remarks

The OAL_ADDRESS_TABLE structure defines the mapping from the 4 GB physical address space to the kernel's 512 MB unmapped memory space. The kernel creates two ranges of virtual addresses from this table. The virtual address range 0x8000000 to 0x9FFFFFFF has caching and buffering enabled, but the virtual address range 0xA0000000 to 0xBFFFFFFF has the cache and buffering disabled. Each entry in the table consists of the cached virtual address represented by the CA member, the physical base address to map from, represented by the PA member, and the number of megabytes of memory to map.

The order of the entries in the table is arbitrary, but it is recommended that RAM be first for optimal performance. Because the table is zero-terminated, the last entry must be all zeroes.
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

4
 
好多东东,以前没有研究过,顶起
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

5
 
总的来说g_oalAddressTable 就是一张映射表,通过这这张表来告诉WinCE 内存的layout。
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

6
 
就是个汇编数组。
具体在论坛搜索,我曾经仔细看过,
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

7
 
引用 1 楼 yangkunzhen 的回复:
This global variable specifies the table that is used by the kernel to establish the virtual to physical address mapping.

Remarks
The OALPAtoVA and OALVAtoPA functions use the table to retrieve the virtual address for a corresponding physical address, and vice versa.(from MSDN).


谢谢yangkunzhen的参与.可我想这样常识性的知识网上到处多有,现在不是不知道这个数组是什么意思.而是需要和实际结合讨论,比如和config.bib联系起来说说什么的
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

8
 
引用 5 楼 gooogleman 的回复:
就是个汇编数组。
具体在论坛搜索,我曾经仔细看过,

googleman能给出link吗?
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

9
 
http://topic.eeworld.net/u/20081206/14/E68E40E1-6631-40B9-885D-7BA28145A6EA.html
大家可以去这个连接看看,分析的比较全面
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

10
 
应该是wince 可寻址空间的layout ,内存内部怎么分配的根据是config.bib。

引用 4 楼 yangkunzhen 的回复:
总的来说g_oalAddressTable 就是一张映射表,通过这这张表来告诉WinCE 内存的layout。
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

11
 
引用 7 楼 dwall_blue 的回复:
引用 5 楼 gooogleman 的回复:
就是个汇编数组。
具体在论坛搜索,我曾经仔细看过,

googleman能给出link吗?


startup.s  eboot
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

12
 
物理地址到虚拟地址的映射关系

DCD    0x80000000, 0x30000000, 64      ; 64 MB DRAM BANK 6  //物理地址是0x30000000,虚拟地址是0x

8000000,地址空间为64M,在2440上面,一共有8个bank,每一个bank有128M即为0x08000000,bank6的其实地址就是0x30000000,下面的一次类推,所以说这个0x30000000和64M是不能改的,硬件就是这样连得,把ncs6片选给了bank6,这里接着一块64M的SDRAM。

根据这个数组来启动MMU的。
 
 
 

回复

88

帖子

0

TA的资源

一粒金砂(初级)

13
 
建议楼书把ARM手册看看
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

14
 
理论上虚拟地址是可以任意修改的
但建议不要随便修改
我以前为了增加FLASH的大小,把所有虚拟地址都向后延了相同位移
但是发生了不可遇知的错误
后来把不用的地址去掉,省出了些空间这才运行通过
 
 
 

回复

54

帖子

0

TA的资源

一粒金砂(初级)

15
 
这张表是物理地址和虚拟地址之间的映射关系,在MMU打开映射以后,希望哪段物理地址映射到哪段虚拟地址用的,跟flash大小完全没有关系,我建议你们去读读private里面的code,一目了然
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表