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.

AM335x StarterKit DDR3 checking utilities/soft

Hi everebody,

In my post here  We confirmed that possibly DDR3 on my AM335x is not working. So, here are my questions:

  1. Are there any utilities to test on board DDR3
  2. Are there any sample loadable into internal RAM (standalone program) of MCU to check DDR3 (IAR or CCS)?
  3. Did somebody get this like issue?

Thanks,

Vasiliy

  • Thanks Biser! Try it now..

  • Hi Bieser,

    It seems to me package 'Sk3358_diag_bin_v3.3' is equal to package I've used before in my previous post (there was 'sk3358_diag_bin_v3.2'). I got this result (load from uSD):

    If I'm correct, application from this package loaded into DDR3 of board. And unfortunatelly I can't see sources of 'app' used in this test.

  • Vasiliy,
     
    One other thing you could try is connect JTAG and try to write and read DDR memory locations.
  • Hi Bieser,

    Firstly, package from link couldn't be used for DDR test. According to this:

    Booting the target

    1. ....
    2. On power on, the MLO is first detected and copied and executed from the OCMC0 RAM. The MLO then copies the application image (app) from the card to the DDR and passes the control to the application. On Successful boot, following messages appear on the serial console.
    So, test DDR from DDR is not good idea.

    About soldering JTAG header, I hope maybe my wrranty still valid and I can replace devkit (now clarify this question with reseller). And also I think, I can test DDR3 by write/read some patterns to/from it. This test should be done by standalone program loaded into internal MCU RAM. I still can connect to MCU by XDS100v2 and uSD is working. So, I just need some exapmle/source of such like project (tested on the same AM335x SK). If you has it or know link, could you please prowide me with it?

    Thanks,
    Vasiliy
  • Continue to search reason of DDR3 of AM335x is not work:

    1. I modified 'bootloader' sample from 'AM335X_StarterWare_02_00_00_07' package. This sample is compiled in IAR. Then I download bootloader into  internal RAM (0x402F0400:0x4030FFFF) of MCU of  AM355x throw XDS100v2 (based on on board uUSB->HUB->FTDI). Here are added code to standard bootloader code from package:

    unsigned char i=0;

    for (i=0;i<100;i++) *((unsigned char*)(0x80000000+i)) = i;
    for (i=0;i<100;i++) UARTprintf("%08x\n",*((unsigned char*)(0x80000000+i)));

    So, just write/read counter into DDR3 space

    2. In terminal see this:


    Also read this memory area  in IAR:


    So, data is corrupted. Any idea what is this and how to fix it?


  • Got the issue!

    Sorry for previous post code is not correct there.

    1. Well, I modified 'bootloader' from StarterWare package. Just add DDR3 memory capacity subroutine and after fill all DDR3 by 0xFFFFFFFF. Here is code:

    unsigned int i=0,range=0;
    volatile unsigned int *ptr = (unsigned int*) 0x80000000;
    ptr[3] = 0xff000000;
    i=4;
    while (ptr[i]!=0xff000000)
    {
    i++;range++;
    }

    UARTprintf("Addr space: %d MiB\n ",4*((range-1)/1048576));


    UARTprintf("Fill DDR3 by 0xFFFFFFFF\n\r");
    i=0;
    while(range){
    ptr[i]=0xffffffff;
    i++;
    range--;
    }
    UARTprintf("Finish\n\r");

    2. Download it into internal MCU RAM.

    3. In terminal got this:

    OK Capacity is determined properly (in AM355x SK is installed MT41J128M16JT ) 252MiB

    4. After see 0xFFFFFFF pattern in DDR3 :

    As you can see, second byte is incorrect. So, upper byte (am I correct) of DDR3 is incorrectly write or read to/from DDR3 IC....

    Any ideas are welcome!!!!