RAM内存映射 - 需要澄清

时间:2014-06-12 13:56:44

标签: windows-ce

总RAM大小为512 MB

在我的WEC7设备控制面板上,我看到总内存为:

Storage memory: 53792 KB
Program memory: 376140 KB

因此,总大小为:419MB

我的config.bib有以下内容:

SECTION_BASE     80000000      00001000     RESERVED
ARGS             80001000      00001000     RESERVED
RSVD             80002000      001BA000     RESERVED
EMAC             801BC000      00009000     RESERVED 
RSVD1            801C5000      0003B000     RESERVED
FBUFFER          95B00000      00200000     RESERVED 

#define NK_START    80200000
#define NK_SIZE     05E00000
#define RAM_START   86000000 
#define RAM_SIZE    0FB00000

据此,RAM_SIZE251MB

AFAIK,这是Program memory + Storage memory。我的理解是否正确?如果是,为什么会有这种差异?如果不是,对此有什么正确的解释?

我的image_cfg.h有以下行:

#define STATIC_MAPPING_RAM_SIZE             (384)

oemaddrtab_cfg.inc文件有:

g_oalAddressTable

DCD 0x80000000, 0x00100000, STATIC_MAPPING_RAM_SIZE   ; RAM image mapping; 0x80000000+384MB=0x98000000
DCD 0x9B000000, 0xFC000000, 64                        ; 64 MB Peripheral device space (As per  datasheet)
DCD 0x9F100000, 0x00000000, 1                         ;Mapping Boot region
DCD 0x00000000, 0x00000000, 0                         ; Terminate table

NK尺寸:

nk.bin: 51MB
nk.nb0: 94MB

任何人都可以解释为什么我会得到419MB内存,还请详细解释这些内存映射......

1 个答案:

答案 0 :(得分:1)

除了您在配置文件中指定的金额外,还可以通过OAL中的OEMGetExtendedDRAM函数将额外的RAM区域传递给系统。对于BSP,支持具有不同RAM量的设备通常具有在bib文件中配置的最小量,检测是否有可用的额外RAM,并使用上述功能将其返回。