|
我的BSP中config.bib中内容如下:
IF IMGFLASH !
#define NKSTART 80100000
#define NKLEN 01B00000
#define RAMSTART 81F00000
#define RAMLEN 02100000
ELSE ;IMGFLASH
#define NKSTART 9AB00000
#define NKLEN 01B00000
#define RAMSTART 81F00000
#define RAMLEN 02100000
我在PB->Platform->Settints中选了Write Run-time Image to Flash Memory(IMGFLASH=1)
所以应该进ELSE中的设置
------------------------------------------------------------------------------------------
以下是我的OemaddressTable部分内容:
DCD 0x80000000, 0xA0000000, 128 ; MAINSTONEII: SDRAM (128MB).
DCD 0x88000000, 0x5C000000, 1 ; BULVERDE: Internal SRAM (64KB bank 0).
DCD 0x88100000, 0x58000000, 1 ; BULVERDE: Internal memory PM registers.
。。。。。。。
DCD 0x9AA00000, 0x00000000, 64 ; MAINSTONEII: nCS0: MCPII Module Boot Flash (64MB).
DCD 0x9EA00000, 0x50000000, 1 ; BULVERDE: Camera peripheral interface.
DCD 0x00000000, 0x00000000, 0 ; end of table
其中SDRAM是从虚拟地址8000_0000起,共128MB
Norflash是从9AA0_0000起,共64MB
可是如果我在config.bib中设置RAMSTART从81F00000起,RAMLEN为2100000 (即SDRAM认为一共64M)
系统就可以通过OEMInit,并可以启动
如果我在config.bib中设置RAMSTRAT从81F00000起,RAMLEN为6100000 (即SDRAM认为是128M)
这样系统进入OEMInit,执行完该函数就死掉了
请问config.bib这里我设置的有什么问题吗???
|
|