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.

TMS320F28377D: alternate SCI and Flash boot

Part Number: TMS320F28377D


When updating the DSP firmware in the field I need to use the alternate SCI option from the DSP using GPIO28 & 29. For this TI recommends to write OTP_KEY=0x5A and OTP_BMODE=0x81, more exactly something like "*(uint32_t *)0x7801E = 0x0000815A;". Now, if I do this, how am I going to boot again from flash to load my application, because according with TI BOOTROM flow diagrams it seems that DSP will always try to boot from alternate SCI? Is my understanding correct? If yes what solution can I have, to be able to boot normally from flash and when I need to update the firmware, to switch and boot from alternate SCI?

Thanks!

  • One option is to use external boot switch to control the boot modes.

    If this is not acceptable, you can check the method suggested in this application note - http://www.ti.com/lit/an/spracn1/spracn1.pdf

    If both the above methods doesn't suit your use case, you need to default to flash boot mode. And include SCI boot loader as part of your application itself (will bloat application code), then switch to SCI bootloader whenever the system is ready for image update. This app note may give more details - http://www.ti.com/lit/an/sprabv4c/sprabv4c.pdf

    Regards

    Baskaran

  • Baskaran,

    Thanks for your response. The solution proposed in spracn1 is really nice, and the idea very interesting. As I am using an F28377D, are all those options suggested in spracn1 available for a F28377D?

    One of my issues is that I'm not sure what exactly needs to be written into the F28337D OTP registers in order to make it perform like F28004x described in spracn1.

    Thanks!

  • unfortunately the custom boot pin options were not supported in F28337D.

    If you can use SCI pins 84 and 85 you may be able to apply above concept but not with 28 and 29.

    Regards

    Baskaran

  • Looking more on F28004x bootloader it seems that this is no match for F28377D bootloader, former one being more flexible.

    Now, as much as I don't like to say it, I feel like my only option is the last one you proposed, to default to flash booting and add the SCI bootloader as a part of my application. 

    If this is the case, then why would anyone write the OTP to boot from SCI Alternate pins (28 & 29) if loses the ability to boot from flash, even using external GPIO switching for configuration? This makes no sense to me but probably I am missing something and what I am saying is not accurate.

    Thanks!

  • Actually timeline wise F28004x was later than F28377D, hence this enhancement was not present in F28377D. However this feature is supported in F2838x which is same family as F28377.

    As you mentioned SCI alternate boot option has this limitation, but it just provides another option if there is no dependency on flash.

    Regards

    Baskaran