本帖最后由 木木的忧伤 于 2017-4-15 16:55 编辑
各位大神,调试SDRAM的时候遇到麻烦了,先说明现象:1.图中设置了4个断点,运行到第一个断点处的语句用于向SDRAM的首地址写入一个数。
运行到第一个断点
图1
2.此时SDRAM中的内容如图2所示:
2.SDRAM中的数据
图2
3.当运行到下一个断点时,写入的数据会被写入所有的地址,如图3所示:
3.运行到第二个断点SDRAM中的数据
图3
4.再继续运行到delay函数时,写入另一个地址的数据也会被写入所有的地址,覆盖了上一次写入的数据,如图4
4.运行到delay时SDRAM中的数据
5.经过延时后会发现,之前写入的数据丢失了,如图5
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
以下是程序配置:
检查过了,没有焊接问题,初始化参照原子的程序以及芯片datasheet
一周热门 更多>