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.

TMS320F28388D: Failed to read/write EMIF2_SDRAM.

Part Number: TMS320F28388D
Other Parts Discussed in Thread: C2000WARE

Please tell me about the setting of EMIF2_SDRAM.


On TMS320F28388D, I'm trying to connect from CPU1 to SDRAM of EMIF2_CS0.
The ASRAM side is not connected to anything.

Pin layout is as follows.
There is a design error and instead of EMIF2_CS0n, EMIF2_CS2n is connected to the CS of SDRAM.
===============================
D0-D15 : GPIO 122-132,133-138
A0-A12 : GPIO 95,98-109
BA0,1 : GPIO 111,112
CAS : GPIO 113
RAS : GPIO 114
(none) CS0n : GPIO 115
CS2n : GPIO 116
SDCKE : GPIO 117
CLK : GPIO 118
WEN : GPIO 120
===============================

CS0n (GPIO115) is not used.
CS2n (GPIO116) is changed to GPIO setting and used as "substitute of CS0n" in "fixed LOW state".


In the above environment, the C2000ware test source, the

In the above environment, if I change the C2000ware test source, "emif_ex6_16bit_sdram_nonfar", to the EMIF2 setting and run it, it stops responding while clearing the SDRAM buffer to 0.

When I check the CCS memory browser, it says
I'm trying to "change 0x900000**", but it's actually "changing 0x000000**".

The only problem I can think of is a wiring error.
Is it possible to use EMIF without CS0n connected?
Or is there some other mistake?

The SDRAM I am using is "W9825G6KH-Winbond".
Thank you very much for your help.

  • Hi,

    I have never tried connecting GPIO pin to CS and drive it low all time for SDRAM but I don't see any issue with this approach. To me look like there may some more connection issue, specifically with control signals so I would suggest to check that once. 

    When I check the CCS memory browser, it says
    I'm trying to "change 0x900000**", but it's actually "changing 0x000000**".

    What address you are viewing in CCS memory browser ? Also when you it's actually changing 0x000000**, what do you mean by that ?

    Regards,

    Vivek Singh