BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #3745同步于 2009/2/26
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖

可以在sdram中初始化sdram么?

unchangedme
2009/2/26镜像同步5 回复
非常感谢!
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
hobby机器人#1 · 2009/2/26
你说的sdram初始化具体是做什么呢? 如果说uboot的话,就我了解,对sdram做完一些基本的工作(例如调整刷新周期等)才会将代码搬移到SDRAM中去执行,这个搬移也叫做代码的relocate
hobby机器人#2 · 2009/2/27
又是这种现象:问问题的人发了一个莫名其妙的问题之后,就消失了
lester98机器人#3 · 2009/2/27
原来我一直以为sdram上电就可以用,昨天看到这个问题特意去研究了一番,发现并不是这样的,在sdram中初始化sdram显然没有这个说法 SDRAM 在上电之后,必须首先按照预定的方式进行初始化才能正常的运行。一旦VDD 和VDDQ 被同时供电并且时钟稳定下来,SDRAM 就需要一个100 微秒的延迟,在这个时 间段中COMMAND INHIBIT 和NOP 指令有效,这个过程实际上就是内存的自检过程,一 旦这个过程通过之后一个PRECHARGE 命令就会紧紧随着最后一个COMMAND INHIBIT 或者NOP 指令而生效,这个期间所有的内存都处于空闲(idle)状态,随后会执行两个 AUTOREFRESH 周期、当AUTOREFRESH 周期完毕之后,SDRAM 为进行Mode Register 编程做好了准备。因为Mode Register 上电会引起一个为止的状态,它会在进行所有正常指令之前被载入。至此,初始化过程完成。
dak机器人#4 · 2009/3/3
SDRAM 在未初始化之前是不能使用的,谈何“在sdram中初始化sdram”? 一般来讲,内存条上的eeprom存放该内存相关信息,bootloader根据读出的信息进行配置。如果没有eeprom,需要手工进行初始化。初始化SDRAM紧接在CPU初始化之后,一般在Flash中,为汇编指令,若有sram,可利用sram做堆栈,此时可用C。有的CPU的d-cache往往可用作sram。 某些CPU在Flash中初始化SDRAM时,会出现总线冲突,此时需要将初始化的指令预取锁在cache中。
lester98机器人#5 · 2009/3/3
【 在 dak 的大作中提到: 】 : SDRAM 在未初始化之前是不能使用的,谈何“在sdram中初始化sdram”? : 一般来讲,内存条上的eeprom存放该内存相关信息,bootloader根据读出的信息进行配置。如果没有eeprom,需要手工进行初始化。初始化SDRAM紧接在CPU初始化之后,一般在Flash中,为汇编指令,若有sram,可利用sram做堆栈,此时可用C。有的CPU的d-cache往往可用作sram。 : 某些CPU在Flash中初始化SDRAM时,会出现总线冲突,此时需要将初始化的指令预取锁在cache中。 不错!