Chinaunix首页 | 论坛 | 博客
  • 博客访问: 268502
  • 博文数量: 74
  • 博客积分: 1336
  • 博客等级: 中尉
  • 技术积分: 1057
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-02 09:33
文章分类

全部博文(74)

文章存档

2016年(6)

2015年(4)

2014年(20)

2013年(8)

2012年(16)

2010年(9)

2009年(11)

我的朋友

分类: IT职场

2014-01-28 10:35:34

二、修改内存信息

SMART210或webee210核心板有四块DDR2内存芯片,每块128MB,总共512MB:S5PV210的地址分配中有两个DRAM区域:0x20000000-0x3FFFFFFF0x40000000-0x7FFFFFFF,如图3-8所示。



3-8 S5PV210地址分配示意图

SMART210核心板的原理图可以看出,四块DDR芯片依次按照按8位数据线模式挂在DRAM0区域。据此修改配置文件。



3-9 SMART210内存硬件连接示意图

1.    修改配置文件:

gedit include/configs/smdkv210single.h

修改:

#define MEMORY_BASE_ADDRESS      0x20000000

#define DMC0_MEMCONTROL         0x00202400

#define DMC0_MEMCONFIG_0         0x20E00323

#define DMC0_MEMCONFIG_1         0x40F00323

#define DMC1_MEMCONTROL          0x00202400

#define DMC1_MEMCONFIG_0         0x40F00313

#define DMC1_MEMCONFIG_1         0x00F00313

#define SDRAM_BANK_SIZE          0x20000000  /* 512 MB */

#define CONFIG_NR_DRAM_BANKS    1          /* we have 1 bank of DRAM */

#if 0

#define PHYS_SDRAM_2         (MEMORY_BASE_ADDRESS + SDRAM_BANK_SIZE) /* SDRAM Bank #2 */

#define PHYS_SDRAM_2_SIZE    SDRAM_BANK_SIZE

#endif

2.    修改CPU初始化文件:

gedit cpu/s5pc11x/s5pc110/cpu_init.S

122行:

ldr  r1, =0x00212400

修改为在smdkv210single.h头文件中定义的内容:

ldr  r1, =DMC0_MEMCONTROL

     重新编译下载运行,可以看出DRAM的大小已经正确认出:

OK

U-Boot 1.3.4 (Dec 25 2013 - 10:07:18): for E&E210

CPU:  S5PV210@1000MHz(OK)

        APLL = 1000MHz, HclkMsys = 200MHz, PclkMsys = 100MHz

        MPLL = 667MHz, EPLL = 80MHz

                       HclkDsys = 166MHz, PclkDsys = 83MHz

                       HclkPsys = 133MHz, PclkPsys = 66MHz

                       SCLKA2M  = 200MHz

Serial = CLKUART

Board:   SMDKV210

DRAM:    512 MB

SD/MMC:  1946MB

NAND:    512 MB

In:      serial

Out:     serial

Err:     serial

checking mode for fastboot ...

Hit any key to stop autoboot:  0

SMDKV210 #

对于GEC210开发板来说,硬件连接方式与SMART210WEBEE210有所不同。由GEC210核心板的原理图可以看出,两块DDR芯片按高低16位数据线模式挂在DRAM0区域,另外两块DDR芯片按高低16位数据线模式挂在DRAM1区域。





3-10 GEC210内存硬件连接示意图

修改配置文件:

vim include/configs/smdkv210single.h

#define MEMORY_BASE_ADDRESS1    0x40000000

#define DMC0_MEMCONTROL         0x00202400

#define DMC0_MEMCONFIG_0         0x20F00313

#define DMC0_MEMCONFIG_1         0x00F00313

#define DMC1_MEMCONTROL          0x00202400

#define DMC1_MEMCONFIG_0         0x40F00313

#define DMC1_MEMCONFIG_1         0x00F00313

#define SDRAM_BANK_SIZE          0x10000000    /* 256 MB */

#define PHYS_SDRAM_2             (MEMORY_BASE_ADDRESS1) /* SDRAM Bank #2 */

     修改后编译,烧写。

阅读(3048) | 评论(1) | 转发(3) |
给主人留下些什么吧!~~

q5we66fg2014-10-18 20:36:54

为什么是#define DMC0_MEMCONFIG_0         0x20E00323 
明明只有4个bank啊
chip_bank  [3:0]  Number of Banks 
0x0 = 1 bank 
0x1 = 2 banks 
0x2 = 4 banks 
0x3 = 8 banks 
0x4 ~ 0xf = Reserved 
求指教