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/TMS320F28027: boot mode select via software

Part Number: TMS320F28027
Other Parts Discussed in Thread: C2000WARE

Tool/software: Code Composer Studio

Hello,

As I currently know, the level at the boot pins must be selected accordingly so that the controller enters the SCI boot mode after a reset. Is it also possible to get into this mode via software if the voltage level of the pins cannot be changed? Comparable to the DFU mode of ARM controllers?

Many thanks

  • Here is a good example of what I mean by looking at some ARM core features:

    https://stm32f4-discovery.net/2017/04/tutorial-jump-system-memory-software-stm32/

    Are there ways to do so for the F28027? If yes, are there any software examples?

    Many Thanks!

  • Hi Benjamin,

    The boot modes are documented in the device TRM.   The voltage on the pins is required to determine where to boot. 

    If you want some flexibility, the boot mode could be set to always be "flash" and then the application in flash could make a further decision based on some criteria defined by the system designer.  For example it could listen to the SCI port to see if there is an incoming message and if so, boot SCI.  If not, it would continue running the application in flash. 

    I don't know of any specific examples that do this. 

    Regards

    Lori

  • Hello Lori,

    thank you for your answer. The point of flexibility is exactly what I mean: The pin config is chosen so that I always boot into the flash. Is it then in principle possible to get into bootload mode from ROM via software? Even if there are no SW examples yet. How would it be implemented in principle? Is there a data sheet / Appnote for this? For an STM32F4 it is described in my link above. I'm looking for something similar for the F28027.

    Many thanks!

  • Benjamin,

    Yes, you can call back into the function in the ROM for SCI boot or you could implement it yourself in the application.  The source code for the boot ROM is located in C2000Ware in the following directory: C:\ti\c2000\C2000Ware_<version>\libraries\boot_rom. You can use this source to build your own loader or you can "load symbols" from the .out and step through the code on a device to debug calling back into the ROM.   One way to call back into the ROM is to use a pointer function assigned to a hard coded address.   All of the addresses can be found in the .map file with the boot ROM code. 

    Regards

    Lori

  • Thank you very much.

    I think the topic of bootloader - calling from the "main" - is certainly also an interesting topic for other users. I'll deal with it - sample code from TI would of course significantly shorten the development time now.

    Best Benjamin

  • Thank you for the feedback Benjamin.  

    Best Regards

    Lori