天嵌 ARM开发社区

 找回密码
 注册
查看: 3824|回复: 4

关于SDRAM的初始化问题

[复制链接]
haibian826 发表于 2009-11-5 09:24:46 | 显示全部楼层 |阅读模式
请问,TQ2440里的u-boot代码

lowlevel_init.s里的代码,就是SDRAM的初始化代码吗?

如果是的话, 那就是说SDRAM的初始化,只要设置13个寄存器就可以了?
以后就直接可以用C语言来读取内存了?
不用去模拟时序吗?

请问u-boot代码中, 是否在其他地方,还有SDRAM的初始化和其他操作的代码?

谢谢斑竹!!
jzy23 发表于 2009-11-18 22:55:27 | 显示全部楼层
本帖最后由 jzy23 于 2009-11-18 23:25 编辑

在board/tq2440/tq2440.c中有下面这个函数:
int dram_init (void)
{
    gd->bd->bi_dram[0].start = PHYS_SDRAM_1;
    gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE;

    return 0;
}
其中,在include/configs/tq2440.h中定义:
#define CFG_MEMTEST_START        0x30000000        /* memtest works on        */
#define CFG_MEMTEST_END                0x33F00000        /* 63 MB in DRAM        */

/*-----------------------------------------------------------------------
* Physical Memory Map
*/
#define CONFIG_NR_DRAM_BANKS        1           /* we have 1 bank of DRAM */
#define PHYS_SDRAM_1                        0x30000000 /* SDRAM Bank #1 */
#define PHYS_SDRAM_1_SIZE                0x04000000 /* 64 MB */
henvelleng 发表于 2010-1-26 13:20:49 | 显示全部楼层
LZ说的没错,而且初始化内存的代码本身也可以用C语言写,只要设好stack就可以进C了

只是要注意,初始化内存的代码本身是不可以在内存中运行的,会当机。必须初始化完内存后才能跳转到内存中去
传说中的犀利哥 发表于 2010-3-15 18:42:05 | 显示全部楼层
在看完这帖子以后,我立即动手回复,因为我生怕迟到的回复不能使更多的人领悟你的圣明,以至使这等网上少有的好贴就此轮沉,我担不起这样的罪名!更加重要的是,能在如此重要,精辟而又生动的贴子后,留上自己的网名,这对我的生命,以及我的家庭,乃至我所处的社会中是多么荣耀的一件事啊,请您高贵而又宽容的心,能够原谅我的这点小小私心!

















折扣网  打折网   精品男装  时尚女装
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-18 10:02 , Processed in 1.046875 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表