DDR3简易配置手册.pdf
文本预览下载声明
DDR (MX)
DDR (MX)
DDDDRR 简易配置手册((MMXX))
1,
1,
11,,频率
找到相应的config 和h 文件,如: customer\board\configs\m6_ramos_v1.h
找到宏M6_DDR_CLK , 如: #define M6_DDR_CLK (516)
修改括号中的数值即可,为12 的整数倍,范围应在360~768 之间。
2,
2,
22,,容量
找到相应的config 和h 文件,如: customer\board\configs\m6_ramos_v1.h
2.1 For uboot
找到容量相关的宏:
//#define M6_DDR3_1GB
#define M6_DDR3_512M
根据你DDR 的总容量进行设置。目前的代码这两种配置修改比较简单。注意目前的512M
是对应的128Mb x 8bit x 4pcs,1GB 对应256Mb x 8bit x 4pcs。
2.2 For kernel
找到容量相关的宏:
CONFIG_EXTRA_ENV_SETTINGS
并找到相关的所有设置“mem=1024m”
Mx 的代码全部固定了1024m 给内核使用,根据实际容量自行修改。
如果总容量小于等于512MB 时,“vmalloc=256m”可以去掉。
3,
3,
33,,行列地址
在timming.c 中,如:customer\board\m6_ramos_v1\firmware\timming.c 找到:
#if defined(M6_DDR3_1GB)
#define DDR3_4Gbx16
#elif defined(M6_DDR3_512M)
#define DDR3_2Gbx16
如果你使用的都是推荐的配置,如 128Mb x 8bit x 4pcs(512MB) 和 256Mb x 8bit x
4pcs(1GB)。那在之前的头文件中设置好容量就可以了。但在实际情况中有可能遇到特殊的
情况需要修改这部分设置。例如两个256MB 位宽8bit 的DDR,总容量同样也是512MB, 但
行列地址却不是之前对应的那个:
#ifdef DDR3_2Gbx16
//row_size 00 : A0~A15. 01 : A0~A12, 10 : A0~A13, 11 : A0~A14.
#define ddr3_row_size 2
//col size 00 : A0~A7, 01 : A0~A8, 10: A0 ~A9. 11, A0~A9, A11.
#define ddr3_col_size 2
这种情况,我们最好添加一个宏,如:
#if defined(M6_DDR3_1GB)
#define DDR3_4Gbx16
#elif defined(M6_DDR3_512M)
//#define DDR3_2Gbx16
#define DDR3_2Gbx8
并增加相应宏下的行列地址设置,如:
#ifdef DDR3_2Gbx16
//row_size 00 : A0~A15. 01 : A0~A12, 10 : A0~A13, 11 : A0~A14.
#define ddr3_row_size 2
//col size 00 : A0~A7, 01 : A0~A8, 10: A0 ~A9. 11, A0~A9, A11.
#define ddr3_col_size 2
#elif defined DDR3_4Gbx16
//row_size 00 : A0~A15. 01 : A0~A12, 10 : A0~A13, 11 : A0~A14.
#define ddr3_row_size 3
//col size 00 : A0~A7, 01 : A0~A8, 10: A0 ~A9. 11, A0~A9, A11.
#define ddr3_
显示全部