boot.bib和config.bib内存分配的问题
[复制链接]
我的是2440的板子的BSP,里边的原文件我拿过来分析的,其中有几个地方不懂,请大家指教:
boot.bib文件
MEMORY
; Name Start Size Type
; ------- -------- -------- ----
DRV_GLB 8c020000 00001000 RESERVED
BIN_FS 8c021000 00005000 RESERVED
RAM 8c026000 00006000 RAM
STACK 8c02c000 00004000 RESERVED
EBOOT 8c038000 00020000 RAMIMAGE
; EBOOT 8c038000 00040000 RAMIMAGE
; 16 MB area used to cache nk.bin while programming boot media.
; TBD: we may need to adjust to 01400000 (20 MB) to cache PPC 2003.
FLSCACHE 8D000000 01000000 RESERVED
config.bib文件:
;#define CHAIN_ADDRESS 81E40000
; CHAIN $(CHAIN_ADDRESS) 00001000 RESERVED
; pdwXIPLoc 00000000 $(CHAIN_ADDRESS) FIXUPVAR
;;; Tarzan Debug mode
NK 8C200000 02400000 RAMIMAGE
RAM 8E600000 01900000 RAM
; Common RAM areas
AUD_DMA 8c002000 00002000 RESERVED
DRV_GLB 8c010000 00010000 RESERVED
SD_DMA 8c028000 00008000 RESERVED
EDBG 8c030000 00020000 RESERVED
DISPLAY 8c1d0000 00030000 RESERVED
现在不明白的地方有:
(1)boot.bib中和config.bib定义的内存段有重复的地方,比如说EBOOT 8c038000 00020000 RAMIMAGE 和
EDBG 8c030000 00020000 RESERVED 这样是否有影响,我看到有文章说,EBOOT镜像在的地方不可以被重写和覆盖,但是,这里却重复了???
(2)按理说,congfig.bib中的定义和头文件中定义的地址一致才对,以下是我从loarder.h中截出来的,请看
// Nk Memory reigions defined in config.bib...
//
#define ROM_RAMIMAGE_START 0x8C100000
#define ROM_RAMIMAGE_SIZE 0x01000000
// Start addresses must match config.bib's RAMIMAGE
#define RAM_START 0x8d100000
#define RAM_SIZE 0x00F00000
按照config.bib的定义,以上应该是以下才对
// Nk Memory reigions defined in config.bib...
//
#define ROM_RAMIMAGE_START 8C200000
#define ROM_RAMIMAGE_SIZE 02400000
// Start addresses must match config.bib's RAMIMAGE
#define RAM_START 8E600000
#define RAM_SIZE 01900000
这个是我的理解错误,还是什么的,请各位大侠指教,我的是wince5.0