总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_SIZE
为251MB
。
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
内存,还请详细解释这些内存映射......
答案 0 :(得分:1)
除了您在配置文件中指定的金额外,还可以通过OAL中的OEMGetExtendedDRAM函数将额外的RAM区域传递给系统。对于BSP,支持具有不同RAM量的设备通常具有在bib文件中配置的最小量,检测是否有可用的额外RAM,并使用上述功能将其返回。