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.

CCS/LAUNCHXL-F28377S: EMIF Interface ti =

Part Number: LAUNCHXL-F28377S
Other Parts Discussed in Thread: C2000WARE

Tool/software: Code Composer Studio

Hello,

I am relatively new to F28377S and i am trying to set up a connection between my F28377S launchpad and a Spartan-7 FPGA. I read a few app notes but I am still a bit confused about the settings of the EMIF. I want to set it up as an Xintf from the F28335. Here is my code:

//Configure to run EMIF1 on full Rate (EMIF1CLK = CPU1SYSCLK)
    EALLOW;
    ClkCfgRegs.PERCLKDIVSEL.bit.EMIF1CLKDIV = 0x0;
    EDIS;

    EALLOW;
    //Disable Access Protection (CPU_FETCH/CPU_WR/DMA_WR)
    Emif1ConfigRegs.EMIF1ACCPROT0.all = 0x0;


    // Commit the configuration related to protection. Till this bit remains set
    // content of EMIF1ACCPROT0 register can't be changed.
    Emif1ConfigRegs.EMIF1COMMIT.all = 0x1;


    // Lock the configuration so that EMIF1COMMIT register can't be
    // changed any more.
    Emif1ConfigRegs.EMIF1LOCK.all = 0x1;

    EDIS;


    Emif1Initialize();
    setup_emif1_pinmux_async_16bit(0);


    //Configure the access timing for CS2 space
    Emif1Regs.ASYNC_CS2_CR.all =  ( EMIF_ASYNC_ASIZE_16    | // 16Bit Memory Interface
                                    EMIF_ASYNC_TA_3        | // Turn Around time of 2 Emif Clock
                                    EMIF_ASYNC_RHOLD_8     | // Read Hold time of 1 Emif Clock
                                    EMIF_ASYNC_RSTROBE_10   | // Read Strobe time of 4 Emif Clock
                                    EMIF_ASYNC_RSETUP_10    | // Read Setup time of 1 Emif Clock
                                    EMIF_ASYNC_WHOLD_8     | // Write Hold time of 1 Emif Clock
                                    EMIF_ASYNC_WSTROBE_10   | // Write Strobe time of 1 Emif Clock
                                    EMIF_ASYNC_WSETUP_10    | // Write Setup time of 1 Emif Clock
                                    EMIF_ASYNC_EW_DISABLE  | // Extended Wait Disable.
                                    EMIF_ASYNC_SS_DISABLE    // Strobe Select Mode Disable.
                                   );


    DUTY = (long *)CS2_START_ADDRESS; // 0x100000
    *DUTY = 0x23; 

In Debug mode, I am able to view the memory browser and I cant see 0x23 in the memory location. Instead, i see this:

Any guidance?

Kindly,

AD

PS: I am using code composer 7.3.0.00019

  • Hi Adam,

    Do you have external memory device connected to launchpad? If yes, can you share the schematic of the connection between F28377S and external memory device.

    Regards,
    Vivek Singh
  • Adam,

    Did you see the EMIF Configuration Tool in C2000Ware: \C2000Ware_XXXX\boards\TIDesigns\F28379D_EMIF_DC

    It is briefly discussed in the C2000 EMIF Appnote.

    -Tommy

  • Tommy, Vivek,

    Yes. I actually read that over a couple of times and kept thinking that I missed a setting but I think everything is correct. To answer Vivek at the same time, I have a Digilent Board with a Spartan-7 FPGA and I used the connection that I ported from another thread and I believe that was correct as well. After a few days of combing through all the datasheets, I realize that the F28377S launchpad uses the 100-pin part [TMS320F28377SPZPT] which unfortunately does not support the EMIF (see below) even though some of the pins are labelled so. I also found another thread to confirm my findings. https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/624932

     Thank you for your reply,

    Kindly,

    AD