U-Boot移植——设置SDRAM

2019-07-12 16:59发布

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