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.

TMS320F28379D: SCIA Boot Pins conflict with EMIF1 pins

Part Number: TMS320F28379D
Other Parts Discussed in Thread: C2000WARE

Hello, 

I am in the process of designing some electronics around the TMS320F28379D Delfino microcontroller. For our purposes, I need to be able to program the flash over SCI. This seems doable using the SCI bootloader. I also need the SCI interface available for communication after the program is running.

According to the datasheet, this will use GPIO84/GPIO85 or GPIO28/GPIO29 depending on BMODE. However, both of these pairs of pins have a conflicting pin with the EMIF interface. I need to also talk to an external memory chip using EMIF. These EMIF pins don't seem to have alternative MUX pins I can use.

What are my options to be able to use the SCI bootloader and subsequently communicate over SCI but also be able to use the EMIF interface to talk to an external SDRAM? 

Thanks,
Aditya

  • Hello

    I suggest setting your boot mode to boot to flash and putting the SCI bootloader as part of your flash application.

    SCI bootloader source code as well as example SCI flash kernel are in C2000Ware

    Best regards

    Chris

  • This would require us to attach a programmer for the first time wouldn't it? I would like to not depending on a programmer being connected. Especially if something goes wrong during the programming phase and the flash no longer contains a valid program with my custom bootloader. 

    I see that GPIO65 and GPIO64 are SCITXDA and SCIRXDA as well on the PTP package. Would I be able to switch the SCI lines coming into the board (using an analog switch like https://www.ti.com/product/TS5A23159) to these pins (GPIO65 and GPIO64) from the boot SCI pins (GPIO84 and GPIO85) so my application can communicate over GPIO65/64 with the external interface?

  • Hello

    Yes that scenario would require a programmer.

    Right, you could use the SCI bootloader (whichever of the two options) upon boot since you won't be configured to use the EMIF until your app. Then as part of your app, you use different SCI GPIOs once program is running. 

    Best regards

    Chris