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.

TMS570LS3137: Bootloader program - EMIF

Part Number: TMS570LS3137
Other Parts Discussed in Thread: HALCOGEN

I am using emif to communicate with ds1747 rtcnvram, can i get bootloader program for this.

I also need some simple code for establishing communication between tms570ls3137 and sram .

Kindly help me out with this. 

  • Hello,

    1. To interface the DS1747, the EMIF asynchronous interface should be used.

    2. Since DS1747 is 8-bit asynchronous device, the EMIF_BA[1:0] pins should be connected to DS1747 A[1:0] address pins. 

    3. The device can only be boot from MCU internal flash. TI has example of CAN bootloader, SPI bootloader, UART bootloader, and Ethernet bootloader. We don't have boot for EMIF async memory.

    4. HALCOGen generates code of async memory initialization. 

  • Hi,

    I have generated the code via Halcogen, the initialization steps are clear, thankyou.

    1. DS1747 rtcnvram does not have banks or page format, so in my project i have connected all the address pins of tms directly to ds1747(ds17 A[18:0] - EMIF A[18:0]) ds17 has 19 address lines.

    2. This is an RTC nvram , for accessing its register i need send the register address via emif address pins.

    I am using this method to access 0x7FFF8h via EMIF address pins  

                                 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
    /* address 0x7fff8 - 1 1    1   1   1   1   1   1   1  1 1 1 1 1 1 1 0 0 0 */

    pinMuxReg->PINMMR15 = PINMUX_BALL_D15_EMIF_ADDR_18;
    pinMuxReg->PINMMR16 = PINMUX_BALL_C14_EMIF_ADDR_17 | PINMUX_BALL_D14_EMIF_ADDR_16 ;
    pinMuxReg->PINMMR18 = PINMUX_BALL_C13_EMIF_ADDR_15 | PINMUX_BALL_C12_EMIF_ADDR_14 ;
    pinMuxReg->PINMMR20 = PINMUX_BALL_C11_EMIF_ADDR_13 | PINMUX_BALL_C10_EMIF_ADDR_12 | PINMUX_BALL_C9_EMIF_ADDR_11;
    pinMuxReg->PINMMR21 = PINMUX_BALL_C8_EMIF_ADDR_10 | PINMUX_BALL_C7_EMIF_ADDR_9;
    pinMuxReg->PINMMR22 = PINMUX_BALL_C5_EMIF_ADDR_7 | PINMUX_BALL_C4_EMIF_ADDR_6 ;
    pinMuxReg->PINMMR23 = PINMUX_BALL_C6_EMIF_ADDR_8;

    It is making my code complex, is there any simple way to send address via EMIF_ADDR[].

  • Hello,

    As mentioned in my last post:

    2. Since DS1747 is 8-bit asynchronous device, the EMIF_BA[1:0] pins should be connected to DS1747 A[1:0] address pins. 

  • Hi,

    I 'm also facing the same issue. Since it is a 8-bit data asynchronous device, i have connected NVRAM A0 A1 with TMS BA0 BA1, But the data i am reading is 0x00. If i connected address pins directly to TMS EMIF address pins, some data were received. But in memory browser it is observed as 0x0A0A0A0A data i.e. i cant able to read data exactly in each address locations of 

    0x6007FFF8;
    0x6007FFF9;
    0x6007FFFA;
    0x6007FFFB;
    0x6007FFFC;
    0x6007FFFD;
    0x6007FFFE;
    0x6007FFFF;

    Only in 0x6007FFF8 location every data being overwrite. Also for 8-bit/16 data write, TMS is utilizing 4 memory locations For. Eg. 0x6007FFF8 - 0x6007FFFC

  • Hello,

    Please use a separate post for your question.