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.

TMS320F280025C: Bootloader Development Process and Related Information

Part Number: TMS320F280025C
Other Parts Discussed in Thread: SYSCONFIG, C2000WARE

Hi TI Team

The team is currently planning to design a bootloader, but has never come across TI's related designs before, so I would like to know what information and design processes need to be referenced in this regard.

I also want to know what limitations need to be considered during the design process.

At present, development starts with sysconfig settings. If possible, I hope you can provide information in this regard.

  • Hi Aaron,

    The best way to familiarize with the C2000 boot process would be reading the device's technical reference manual (see Chapter 4: ROM Code and Peripheral Booting) or looking at one of our example bootloaders from C2000Ware (noted below).

    • In general, for more entry level C2000 boot information, you can reference our C2000 Academy Boot Mode page
    • For a more advanced example, please try referencing the Serial Flash Programmer app note 
      • The app note discusses how the existing SCI boot loader can be used for firmware update, and you can look at its implementation in our SCI kernel software example located in our C2000Ware SDK at {C2000Ware}\driverlib\f28002x\examples\flash\flash_kernel_ex3_sci_flash_kernel
      • There are also a few reference links at the end of that app note that may be useful such as:

    Best Regards,

    Allison

  • On the topic of familiarizing with the device boot up, I also wanted to add that you can step through the boot code/assembly of the device as well if you would like. Here is how I've done so with an F28004x LaunchPad:

    1. Launch the target configuration
    2. Change the auto-launch settings (uncheck the box as we discussed)
      1. You can also use the "remember settings" button to save these debug settings
    3. Connect to the CPU target
    4. Click on the 'Load' button and 'Load Symbols'
    5. Browse for the bootrom .out file for your device in C2000Ware
      1. This should be at a location like {C2000Ware}\libraries\boot_rom\f28002x\rev0\rom_sources\ccs_files\cpu\Release\F28002x_ROM.out
    6. Once you load the symbols, this should bring you to something like this (I'm using F28004x for this example)
    7. You can step through this code and also run to the line that calls (LCR) the bootrom system init and then "step into" that function 
    8. This brings you to the boot.c

    Best Regards,

    Allison

  • Hi Allison, 

    i have also tried doing the device boot up using 25c launchpad .I ve tried loading the symbols.

    But , i am not getting the expected screen that u ve shown .

    I am sharing my screenshot wht i got . 

    Please provide suggestions for further proceedings.

    Thanks,

    Devendra 

  • Hi Devendra, 

    The program is just searching for where the "cpubootrom_boot.c" file is and is asking for your help locating it. What you can do when you get here is click on the "Locate File..." button and navigate to the location in C2000Ware where this file exists. 

    For this device, it should be in: {C2000Ware}\libraries\boot_rom\f28002x\rev0\rom_sources\F28002x_ROM\bootROM\source

    Let me know if you are able to do this!

    Thanks!

    Allison

  • Hi Allison

    At present, it only tells how to use the existing boot mode to start, but currently we want to design the bootloader by ourselves, including the bootloader in flash and app location planning.

    I have not seen a detailed explanation of this part, or in the css Resurece Explorer. There are related sample programs for F28002X. I would like to know if there are any related sample programs and documentation.

    Best Regards,

    Aaron

  • Hi Aaron,

    We don't have a detailed document walking through step-by-step how to design a custom bootloader, but in general, the flow across bootloaders remains quite similar- by this, I mean you can leverage our existing bootloaders as a reference. For example, you can take a look at the flash examples in C2000Ware ({C2000Ware}\driverlib\f28002x\examples\flash) such as the SCI flash kernel example I mentioned and alter this to fit your application. The "SCI Flash Kernels" are essentially secondary bootloaders that can be resident in RAM and help program an application in Flash, or programmed in Flash itself. Have you taken a look at this example?

    In C2000Ware, we also have the bootloader routines for F28002x located at {C2000Ware}\libraries\boot_rom\f28002x\rev0\rom_sources\F28002x_ROM\bootROM\source

    I would also add that it can be helpful to look up past E2E threads on this as well as another source of information if you haven't already been looking.

    Best Regards,

    Allison

  • Hi Allsion

    Solved now, thank you for your help

  • Hi Aaron, 

    No problem! If the post above helped solve the issue, feel free to click the green button of the post to close the thread/upvote the answer Slight smile

    Best Regards,

    Allison