主题 : 有关tiny6410 256MB内存在CE下使用的问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 37415
精华: 1
发帖: 17
金钱: 135 两
威望: 27 点
贡献值: 1 点
综合积分: 54 分
注册时间: 2011-02-08
最后登录: 2011-12-27
楼主  发表于: 2011-02-14 17:18

 有关tiny6410 256MB内存在CE下使用的问题

管理提醒: 本帖被 xoom 设置为精华(2011-06-15)
我想咨询一下,256MB内存版本的tiny6410,在nboot的时候已经全部初始化了吗?物理地址是多少呢?
如果方便的话,可否修改下BSP,使其支持256MB的内存?
谢谢!
级别: 新手上路
UID: 51292
精华: 1
发帖: 21
金钱: 155 两
威望: 31 点
贡献值: 1 点
综合积分: 62 分
注册时间: 2011-07-01
最后登录: 2011-08-18
1楼  发表于: 2011-07-11 14:14
不错,按照LZ的方法修改成功,LZ后面没说怎么做的,查找挺费时的,帮LZ总结一下贴上来,步骤是

1、C:\WINCE600\PLATFORM\SMDK6410\SRC\INC\oemaddrtab_cfg.inc里的

        DCD     0x80000000, 0x50000000,  128     ; 128 MB DRAM
修改成
        DCD     0x80000000, 0x50000000,  256     ; 256MB DRAM
2、在C:\WINCE600\PLATFORM\SMDK6410\SRC\OAL\OALLIB\init.c里增加以下函数重载

BOOL OEMGetExtensionDRAM(LPDWORD pMemoryStart, LPDWORD pMemoryLength)
  {
  
  *pMemoryStart = 0x88000000;
  *pMemoryLength = 0x08000000;//128M
  
  return TRUE;
  }
3、在nbootram256\memparam_mddr.inc文件中,前几行找到下面的一行,改为(2<<3改为 3<<3):

; 31th register in P1MEMCFG shoud be set as '0' to support one cke control

DMC1_MEM_CFG        EQU    ((1<<30)+(0<<21)+(0<<18)+(2<<15)+(0<<14)+(0<<13)+(0<<7)+(0<<6)+(3<<3)+(2<<0))    ; colum A0~A9