由于项目的原因,需要把三星6410的内存从128升级到256,由于原厂的BSP只做了对128的支持,所以要支持256的内存需要自己手动修改BSP包,修改的地方如下:
使用环境:wince6,smdk6410,两条K4X1G163PE 128内存
1、oemaddrtab_cfg.inc文件
;DCD 0x80000000, 0x50000000, 128 ; 128 MB DRAM
更改为:
DCD 0x80000000, 0x50000000, 256 ; 256 MB DRAM
2、MemParam_mDDR.inc
DMC1_MEM_CFG EQU ((1<<30)+(0<<21)+(0<<18)+(2<<15)+(0<<14)+(0<<13)+(0<<7)+(0<<6)+(2<<3)+(2<<0))
更改为:
DMC1_MEM_CFG EQU ((1<<30)+(0<<21)+(0<<18)+(2<<15)+(0<<14)+(0<<13)+(0<<7)+(0<<6)+(3<<3)+(2<<0))
DMC1_CHIP0_CFG EQU ((1<<16)+(0x50<<8)+(0xF8<<0))
更改为:
DMC1_CHIP0_CFG EQU ((1<<16)+(0x50<<8)+(0xF0<<0))
3、D:\WINCE600\PLATFORM\SMDK6410\SRC\OAL\OALLIB\init.c
增加
BOOL OEMGetExtensionDRAM(LPDWORD pMemoryStart, LPDWORD pMemoryLength)
{
*pMemoryStart = 0x88000000;
*pMemoryLength = 0x08000000;//128M
使用环境:wince6,smdk6410,两条K4X1G163PE 128内存
1、oemaddrtab_cfg.inc文件
;DCD 0x80000000, 0x50000000, 128 ; 128 MB DRAM
更改为:
DCD 0x80000000, 0x50000000, 256 ; 256 MB DRAM
2、MemParam_mDDR.inc
DMC1_MEM_CFG EQU ((1<<30)+(0<<21)+(0<<18)+(2<<15)+(0<<14)+(0<<13)+(0<<7)+(0<<6)+(2<<3)+(2<<0))
更改为:
DMC1_MEM_CFG EQU ((1<<30)+(0<<21)+(0<<18)+(2<<15)+(0<<14)+(0<<13)+(0<<7)+(0<<6)+(3<<3)+(2<<0))
DMC1_CHIP0_CFG EQU ((1<<16)+(0x50<<8)+(0xF8<<0))
更改为:
DMC1_CHIP0_CFG EQU ((1<<16)+(0x50<<8)+(0xF0<<0))
3、D:\WINCE600\PLATFORM\SMDK6410\SRC\OAL\OALLIB\init.c
增加
BOOL OEMGetExtensionDRAM(LPDWORD pMemoryStart, LPDWORD pMemoryLength)
{
*pMemoryStart = 0x88000000;
*pMemoryLength = 0x08000000;//128M