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.

DDR2 problem with DM6437 for help

Hi,all

     I have got a problem those days. I am using DM6437,but not the EVM board. I can access the DM6437 address through PCI, and I can download program to L2,The program ( led blink test program )runs well in L2,but I can't write or read DDR2.  when I wrote 0x55aa55aa to the 0x80000000, when read I just got 0xfffffff or 0x0000000.

   My DDR2 is NT5TU64M16DG,

    DDR_SDBCR = 0x00138833;

   DDR_SDTIMR = 0
        |(19<<25)   // tRFC  = (  125 ns / 6.17 ns ) - 1
        | ( 1 << 22 )               // tRP  = (  15 ns / 6.17 ns ) - 1
        | ( 1 << 19 )               // tRCD = (  15 ns / 6.17 ns ) - 1
        | ( 1 << 16 )               // tWR  = (  15 ns / 6.17 ns ) - 1
        | ( 6 << 11 )               // tRAS = (  45 ns / 6.17 ns ) - 1
        | ( 8 << 6 )                // tRC  = (  60 ns / 6.17 ns ) - 1
        | ( 1 << 3 )                // tRRD = (  (4*10ns + 2*6.17ns) / 4*6.17ns ) - 1
        | ( 0 << 0 );               // tWTR = ( 7.5 ns / 6.17 ns ) - 1

        DDR_SDTIMR2 = 0

        | ( 12 << 16 )              // tXSNR= ( 85 ns / 6.17 ns ) - 1
        | ( 199 << 8 )              // tXSRD= ( 200 - 1 ) cycles
        | ( 0 << 5 )                // tRTP = ( 7.5 ns / 6.17 ns ) - 1
        | ( 2 << 0 );               // tCKE = ( 3 - 1 ) cycles

     Is there any one who can give me some suggestion  ? 

    I am expecting your reply .

    thank you very much!

  • In order to access DDR2 you need to properly configure the PLL controller and the DDR2 controller.  When do you execute the snippets of code that you reference?  Did you calculate those timings using the NT5TU64M16DG data sheet?

    Your problem appears to be that you have either not configured the DDR2 controller or have improperly configured it.