3119|4

71

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

WinCE中关于虚拟内存的配置 [复制链接]

在2440\src\inc\oemaddrtab_cfg.inc里面,有一个g_oalAddressTable,定义的是系统虚拟地址的使用分配,那么在config.bib里面,我们定义的虚拟地址所占用的地址段跟这个表的会不会冲突?如果不会冲突,那么该怎么理解这两个虚拟地址之间的相互覆盖和交叉呢?  这里的Bank0~Bank7有什么用途?是不是一条内存对应一个Bank?在使用的时候,我们应该根据什么来配置Memory Controller相关的寄存器呢?

;------------------------------------------------------------------------------
;
; TABLE FORMAT
;       cached address, physical address, size
;------------------------------------------------------------------------------
g_oalAddressTable

        DCD     0x80000000, 0x30000000, 64      ; 32 MB DRAM BANK 6
        DCD     0x84000000, 0x10000000, 32      ; nGCS2: PCMCIA/PCCARD
        DCD     0x86000000, 0x18000000, 32      ; 32 MB SROM(SRAM/ROM) BANK 3
        DCD     0x88000000, 0x20000000, 32      ; 32 MB SROM(SRAM/ROM) BANK 4
        DCD     0x8A000000, 0x28000000, 32      ; 32 MB SROM(SRAM/ROM) BANK 5
        DCD     0x8C000000, 0x08000000, 32      ; 32 MB SROM(SRAM/ROM) BANK 1
        DCD     0x90800000, 0x48000000,  1      ; Memory control register
        DCD     0x90900000, 0x49000000,  1      ; USB Host register
        DCD     0x90A00000, 0x4A000000,  1      ; Interrupt Control register
        DCD     0x90B00000, 0x4B000000,  1      ; DMA control register
        DCD     0x90C00000, 0x4C000000,  1      ; Clock & Power register
        DCD     0x90D00000, 0x4D000000,  1      ; LCD control register
        DCD     0x90E00000, 0x4E000000,  1      ; NAND flash control register
        DCD     0x90F00000, 0x4F000000,  1      ; Camera control register
        DCD     0x91000000, 0x50000000,  1      ; UART control register
        DCD     0x91100000, 0x51000000,  1      ; PWM timer register
        DCD     0x91200000, 0x52000000,  1      ; USB device register
        DCD     0x91300000, 0x53000000,  1      ; Watchdog Timer register
        DCD     0x91400000, 0x54000000,  1      ; IIC control register
        DCD     0x91500000, 0x55000000,  1      ; IIS control register
        DCD     0x91600000, 0x56000000,  1      ; I/O Port register
        DCD     0x91700000, 0x57000000,  1      ; RTC control register
        DCD     0x91800000, 0x58000000,  1      ; A/D convert register
        DCD     0x91900000, 0x59000000,  1      ; SPI register
        DCD     0x91A00000, 0x5A000000,  1      ; SD Interface register
        DCD     0x92000000, 0x00000000, 32      ; 32 MB SROM(SRAM/ROM) BANK 0
        DCD     0x00000000, 0x00000000,  0      ; end of table

MEMORY
    NK            80200000  01F00000  RAMIMAGE
    RAM           82100000  01D00000  RAM
    FLASH         92000000  00100000  RESERVED

    DATA1               80002000  00000800  RESERVED
    DATA2         80010000  00010000  RESERVED
    DATA3         80020800  00000800  RESERVED       
    DATA4          80023000  00001000  RESERVED
       
    DATA5               80024000  00002000  RESERVED
    DATA6                80026000  00002000  RESERVED
    DATA7          80028000  00002000  RESERVED
    DATA8         80030000  00020000  RESERVED
    DATA9               80100000  00100000  RESERVED   

最新回复

是不是说,按照这样的配置,我的内存就是相当于插在 Bank6上的,所以对Bank6的访问实际上就是对物理内存的访问?  详情 回复 发表于 2007-10-23 17:25
点赞 关注

回复
举报

64

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
比较晕, 帮你顶一下。
以前就没搞明白。
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
1.config.bib 中内存的定义应该和g_oalAddressTable 保持一致,不应该发生冲突,否则启动时的内存配置和CE中的是不同的,可能会引起启动问题
2、Bank0~Bank7 规划了CPU本身对内存地址的硬件寻址。一般情况下是一个内存(条/类型)对于一个槽,看说明。
3.Memory Controller 请根据CPU和 RAM时序要求进行配置,保障RAM可以正常工作。
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

4
 
感谢slyzhang的回复。那么这个该怎么解释呢?
比如说DCD     0x80000000, 0x30000000, 64      ; 32 MB DRAM BANK 6
那应该是说cpu的从0x3000_0000开始的64M物理地址空间 被映射到从0x8000_0000开始的64M的系统的虚拟地址空间,而我们在config.bib里面又是这样规定的
MEMORY
    NK            80200000  01F00000  RAMIMAGE
    RAM           82100000  01D00000  RAM
那么从0x8000_0000开始的一段地址空间到底是用于  cpu的实际io地址 还是用于物理内存  的地址空间呢?比如说0x8020_0000对应的是cpu的物理地址空间 还是 对应物理内存呢?
还是我的理解错误,物理内存所映射的地址空间跟cpu的物理地址空所映射的虚拟地址空间根本就不会冲突?
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

5
 
是不是说,按照这样的配置,我的内存就是相当于插在 Bank6上的,所以对Bank6的访问实际上就是对物理内存的访问?
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表