求助,SDRAM刷新异常以及写入数据的时候会覆盖所有的地址,这是什么回事??

2019-07-20 15:14发布

本帖最后由 木木的忧伤 于 2017-4-15 16:55 编辑

各位大神,调试SDRAM的时候遇到麻烦了,先说明现象:1.图中设置了4个断点,运行到第一个断点处的语句用于向SDRAM的首地址写入一个数。
运行到第一个断点 运行到第一个断点 图1


2.此时SDRAM中的内容如图2所示:
2.SDRAM中的数据 2.SDRAM中的数据 图2
3.当运行到下一个断点时,写入的数据会被写入所有的地址,如图3所示:
3.运行到第二个断点SDRAM中的数据 3.运行到第二个断点SDRAM中的数据 图3
4.再继续运行到delay函数时,写入另一个地址的数据也会被写入所有的地址,覆盖了上一次写入的数据,如图4
4.运行到delay时SDRAM中的数据 4.运行到delay时SDRAM中的数据
5.经过延时后会发现,之前写入的数据丢失了,如图5
5.运行到第4个断点SDRAM中的数据 5.运行到第4个断点SDRAM中的数据


请问:发生以上情况的原因是什么呢?

以下是SDRAM相关参数以及设置:
SDRAM 参数:行地址数:11 ,列地址数:8 ,数据位宽 32 bit。
                     TMRD: 2 CLK
                      TXSR: 77 ns
                      TRAS: 42 ns
                      TRC : 70 ns
                      TWR: 1 CLK+7ns
                      TRP: 20 ns
                      TRCD: 20 ns

以下是程序配置:
程序1.png
程序2.png
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
木木的忧伤
1楼-- · 2019-07-20 17:28
问题解决, FMC_SDNE0 和 FMC_SDCKE0 用STM32Cube配置FMC的时候默认接在了PC2和PC3,实际在设计的时候接在了PH3和PH2,修改过来,问题解决。
taizonglai
2楼-- · 2019-07-20 22:06
 精彩回答 2  元偷偷看……
木木的忧伤
3楼-- · 2019-07-21 01:09
zuozhongkai 发表于 2017-4-15 18:16
检查一下硬件什么的,看看有没有问题,还有就是SDRAM的初始化。

检查过了,没有焊接问题,初始化参照原子的程序以及芯片datasheet

一周热门 更多>