This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DM8148的DDR3

DM8148的有2个32位的DDR控制器,EVM上每个控制器上接了4片8位的DDR3颗粒(MT41J128M8JP-125),这4片8位的DDR3颗粒能不能用相同容量的2片16位的颗粒(MT41J128M16JT-125)代替,如果能代替,程序上是否需要做修改?

  • 1. 可以

    2. 需要

  • 请问程序要改的地方是哪儿了?内核里的DDR控制器驱动?DSP部分也需要修改DDR的控制器?

  • 你好!我是在每个DDR3控制器接口上接两片的DDR3 ,H5TQ2G63BFR-xxC,2Gb, 128Mb*16。请问ddr3的测试程序要修改哪一些值?谢谢!

     

  • 打开gel文件看看就清楚需要改哪些寄存器值了。hot menu下面已经有了很多的配置实例

  • Eason Wang ,你好!谢谢你的回复!我将DDR3的配置寄存器修改为0x61C00ABB,请问有误吗?我的CS0和CS1引脚是分别接不同的DDR3的。还有那些需要修改的吗?hot menu 目录下需要修改吗?因为我不确定硬件的是否有问题,所以一开始就得保证软件没问题,才能验证,谢谢!

    #define    DDR3_EMIF_SDRAM_CONFIG_DEFINE 0x61C00ABB          //0x61833AB2    
    还有我用DDR3_test.c测试代码,将
    #define DDR_MEM_BANK 8
    #define DDR0_BANK_NUM (DDR_MEM_BANK + DDR_MEM_BANK + DDR_MEM_BANK + DDR_MEM_BANK)
    #define DDR1_BANK_NUM (DDR_MEM_BANK + DDR_MEM_BANK + DDR_MEM_BANK + DDR_MEM_BANK)
    #define DDR_RW_SIZE (16 * 1024)
    改为:
    #define DDR_MEM_BANK  8                                                                   //
    #define DDR0_BANK_NUM (DDR_MEM_BANK + DDR_MEM_BANK)          //
    #define DDR1_BANK_NUM (DDR_MEM_BANK + DDR_MEM_BANK)          //
    #define DDR_RW_SIZE (16* 1024)                                               //
    因为我的板子每个DDR3 Controller Interface只有两篇16位的DDR3,所以将四个DDR_MEM_BANK改为两个.
    请问这样修改了是否正确了和完整了?
     
    谢谢!
    Best Regard!

  • 我们直接用的32位的DDR3替换的,可以正常工作。改动不大,只需要修改1、DDR3_EMIF_READ_LATENCY  2、 DDR3_EMIF_TIM1  3、 DDR3_EMIF_TIM2   4、DDR3_EMIF_TIM3   5、DDR3_EMIF_REF_CTRL  6、 DDR3_EMIF_SDRAM_CONFIG 7、DDR3_EMIF_SDRAM_ZQCR  这几个寄存器的参数就可以了,结合DDR的DATASHEET改,很快的。