0 开发环境
宿主机:Ubuntu14.04
开发板:Mini2440
U-Boot:u-boot-1.1.6
编译器:arm-linux-gcc
1 设置REFCNT
根据《
U-Boot移植——添加新开发板》的方法添加Mini2440的配置后,为了使得U-Boot能顺利重定位到
SDRAM中,需要先对
SDRAM进行配置。SDRAM的初始化是在U-Boot的第一阶段完成,具体代码在
board/mini2440/lowlevel_init.S中。
比较smdk2410的默认配置与Mini2440的配置得知,两者的内存空间是一样的,不同的是刷新频率,只要修改宏
REFCNT即可:
//#define REFCNT 1113 /* period=15.6us,HCLK=60MHz, (2048+1-15.6*60) */
#define REFCNT 0x4f4 /* period=7.8125us,HCLK=100MHz, (2048+1-7.8125*100) */
说明:
(1)第1行是旧设置,第2行是新设置;
(2)关于REFCNT的计算公式,见参考资料[1]p93或者参考资料[2]p5-18。
(3)上述设置按照SDRAM的
刷新周期为7.8125us(由SDRAM的芯片手册给出),SDRAM的频率为
HCLK=100MHz(可设置)来计算,其中关于
HCLK的设置详见《
U-Boot移植——设置系统时钟》。
参考资料
[1]韦东山. 嵌入式Linux应用开发完全手册. 人民邮电出版社,2012
[2]S3C2440A USER'S MANUAL