注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

男儿当自强的博客

每天进步一点

 
 
 

日志

 
 
 
 

WINCE6.0+S3C2451基于FMD flash架构的BSP移植记录---64M的内存改为支持128M  

2012-08-04 11:43:15|  分类: windows CE 驱动 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
 

WINCE6.0+S3C2451基于FMD flash架构的BSP移植记录---64M的内存改为支持128M

 

备注:基于SMDK2450_WinCE60_PM_REL_1.13_090105的BSP包移植

DDR2 SDRM:K4T51163QG

 

由于此BSP包是基于64MB的内存来设计的,而我们采用的是两片64MB(总共128MB)的DDR2,所以我们首要的工作是可以修改已支持128MB的DDR2,下面是针对此问题修改的记录:

 

1.       SMDK2450\SRC\INC\s3c2450.inc

根据S3C2451中MOBILE DRAM CONTROLLER的描述可知其支持mobile SDRAM、mobile DDR和mobile DDR2,BSP包中也相应支持这三种内存芯片,在s3c2450.inc中有对应的参数设置,BSP包默认的值mobile SDRAM,这个要根据实际的情况来选择,比如之前的设置如下:

GBLL    mSDR        ; 256Mbit x16 x2ea = 512Mbit mem size

;GBLL    mDDR        ; 256Mbit x16 x2ea = 512Mbit mem size

;GBLL    DDR2        ; 256Mbit x16 x2ea = 512Mbit mem size

改为

;GBLL    mSDR        ; 256Mbit x16 x2ea = 512Mbit mem size

;GBLL    mDDR        ; 256Mbit x16 x2ea = 512Mbit mem size

GBLL    DDR2        ; 256Mbit x16 x2ea = 512Mbit mem size

对MOBILE DRAM CONTROLLER寄存器参数的设置需要紧密结合内存芯片的参数要求来配置,需要重点注意寄存器BANKCFG的设置,如下:

BANKCFG[RASBW0]和BANKCFG[RASBW1]

WINCE6.0+S3C2451基于FMD flash架构的BSP移植记录---64M的内存改为支持128M - 男儿当自强 - 男儿当自强的博客

 

图1

我们知道RASBW0和RASBW1分别是指每个bank的列地址的位宽,我们采用的SDRAM如下图所示:

WINCE6.0+S3C2451基于FMD flash架构的BSP移植记录---64M的内存改为支持128M - 男儿当自强 - 男儿当自强的博客

 

图2

由图2可知此SDRAM的存储结构是32Mbit*16,再结合下图:

WINCE6.0+S3C2451基于FMD flash架构的BSP移植记录---64M的内存改为支持128M - 男儿当自强 - 男儿当自强的博客

 

图3

有图3可知行地址是13位,列地址是10位,这样就可以确定RASBW0和RASBW1的值,MOBILE DRAM CONTROLLER寄存器其他参数的设置一定要严格按照内存芯片的技术参数来确定,否则很有可能导致系统起不来,或者是如果处理器主频改变之后导致系统不稳定。

 

2.       SMDK2450\SRC\INC\oemaddrtab_cfg.inc

在修改之前g_oalAddressTable表的定义如下

g_oalAddressTable

    [ {TRUE}

       DCD     0x80000000, 0x30000000, 64      ; 64 MB DRAM BANK 6

       ; DCD     0x84000000, 0x10000000, 32      ; 32 MB SROM(SRAM/ROM) BANK 2

                   …………………………

现在我们采用的是128MB的内存,这部分相应改为

DCD     0x80000000, 0x30000000, 128      ; 128 MB DRAM BANK 6

那么这里的0x30000000是怎么确定的呢?见S3C2451中memory map图:

WINCE6.0+S3C2451基于FMD flash架构的BSP移植记录---64M的内存改为支持128M - 男儿当自强 - 男儿当自强的博客

 

图4

由图4也可知,S3C2451支持的单片内存芯片最大为128MB,而它最大的支持内存地址寻址空间是256MB,这也是WINCE6.0及之前版本系统支持的最大内存空间。

 

3.       SMDK2450\SRC\BOOTLOADER\STEPLDR\startup.s

把ldr                 r9, =0x04000000               ; 64MB of RAM.

改为

ldr              r9, =0x08000000               ; 128MB of RAM.

 

  评论这张
 
阅读(1435)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017