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.

EVM5505 3.3V Memory Daughter Card

Hello,

I purchased today an EVM5505 3.3V Memory Daughtercard for my EVM5505 board, but on the support site of Spectrum Digital I can see that there is only GEL file for theirs 1.8V memory daughtercard (which has SDRAM instead of  SRAM).

Can somebody help me to properly setup the SRAM on my card and load code/data on it? Does anybody has working GEL file for this?

 

Thank you,

  • Hi,

    The website will be updated.

    In the mean time, you can add the following code to your gel file to use the 3.3V memory card.

    #define EMIF_CNTL              0x1C33
    #define EMIF_ASYNC_WAIT_0        0x1004
    #define EMIF_ASYNC_WAIT_1        0x1005
    #define EMIF_ASYNC1_CONFIG_0     0x1010
    #define EMIF_ASYNC1_CONFIG_1     0x1011
    #define EMIF_ASYNC2_CONFIG_0     0x1014
    #define EMIF_ASYNC2_CONFIG_1     0x1015
    #define EMIF_ASYNC3_CONFIG_0     0x1018
    #define EMIF_ASYNC3_CONFIG_1     0x1019
    #define EMIF_ASYNC4_CONFIG_0     0x101C
    #define EMIF_ASYNC4_CONFIG_1     0x101D
    #define EMIF_NAND_CTRL           0x1060
    #define EMIF_NAND_STATUS         0x1064
    #define EMIF_PAGEMODCTRL0   0x1068
    #define EMIF_PAGEMODCTRL1   0x1069

     

    menuitem "EMIF_Configuration";
    hotmenu EMIF_3_3_INIT() {
        /* Config EMIF - System Control Regsiter, 16bit mode */
        *(short *)EMIF_CNTL@IO =0;

        /*for SRAM in memory card (Async_CE1)*/
        /* Config EMIF - ASYNC Regsiters */
        *(short *)EMIF_ASYNC_WAIT_0@IO =0x0080;
        *(short *)EMIF_ASYNC_WAIT_1@IO =0x00E4;

     /* Configure as 16-bit data bus */   
        /* Async4 ==> Async_CE1 (SRAM)*/ 
        *(short *)EMIF_ASYNC4_CONFIG_0@IO =0x40AD;
        *(short *)EMIF_ASYNC4_CONFIG_1@IO =0x0020;

        /* Async3 ==> Async_CE0(Flash)*/
        *(short *)EMIF_ASYNC3_CONFIG_0@IO =0xFFFD;
        *(short *)EMIF_ASYNC3_CONFIG_1@IO =0x3FFF;

        *(short *)EMIF_ASYNC2_CONFIG_0@IO =0xFFFD;
        *(short *)EMIF_ASYNC2_CONFIG_1@IO =0x3FFF;

     *(short *)EMIF_ASYNC1_CONFIG_0@IO =0xFFFD;
        *(short *)EMIF_ASYNC1_CONFIG_1@IO =0x3FFF;


     /*do not assign Async_CE0 and Async_CE1 for NAND*/
        *(short *)EMIF_NAND_CTRL@IO =0x3101;

        /* Turn off page mode for all Chip Selects*/
        *(short *)EMIF_PAGEMODCTRL0@IO =0xFCFC;
        *(short *)EMIF_PAGEMODCTRL1@IO =0xFCFC;
        GEL_TextOut("EMIF Initilization for 3.3V card is complete.\n");
    }

    Best Regards,

    Peter Chung

     

  • Peter,

    Are these changes required to get the CSL examples to work correctly?

    Thanks,
    Tom

  • Hello Peter,

     

    I tried making the changes in the GEL file but without success...

    When I try loading a section into SRAM I get error message "data verification failed at address 0x800000. Please verify target memory and memory map."

    As I see from the schematics of 3.3V Memory card SRAM is connected to EMIF CS2 which should be mapped to 0x800000h. I think that part I'm doing right. Please find attached my CMD file (taken from the CSL examples)

     

    Thank you

     

    VC5505_WDT.zip
  • Tom,

    It is not required to the CSL examples to work. The CSL examples should work without this change.

    Thanks,

    Peter Chung

     

  • Peter,

    Any info on my problem?

    Can you recommend me a solution, I have been trying this for the whole day and can't seem to make any progress. I cannot load anything into SRAM on the memory daughter card :(

     

     

  • I am booked until 5 pm this afternoon, but I will get you updated within today. 

    Peter Chung

     

  • Hello Peter,

    I found what the problem was :)

    I was looking at the schematics and wrongly concluded that SRAM is connected to CS2 (in the schematics this pin is written as A_CE1). While looking through the data sheets I found out that actual pin name is EM_CS5.

    After that I set my SRAM to point to 0xF00000 instead of 0x800000 and everything worked.

     

    Anyway thanks for the explanation and your time.

     

     

     

  • Great! Thank you for letting me know.

    Regards,

    Peter Chung