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.

F28377D & CCSv6-beta 4: Switch execution from 1st FLASH program to a 2nd FLASH program, on same CPU

Other Parts Discussed in Thread: CONTROLSUITE

Hello,

Working with F28377D (on a TMDXDOCK28377D board), using CCSv6-beta 4,

I need to switch execution from 1st FLASH program to a 2nd program FLASH, on same CPU.

Can I have some example/guidelines to do the following:

---------------------------------------------------------------------------

1. How can I burn two programs to a FLASH of the same CPU, CPU1?

2. How can I decide which of the two program to execute after F28377D is reset & booted?

3. How can I switch execution from 1st FLASH program to the 2nd FLASH program (&then back from 2nd to 1st)?

Thanks

Roni

  • Hello TI experts,

    How can I get your support regarding my issues, as described here in my original post, and is the C2000 32-bit Microcontrollers  Forum the correct forum for this question?

    Just to clarify -

    the above inquires are important for us towards the ability to preform a field reprograming on F28377D flash.

    BTW, I have looked at a new post:

    http://e2e.ti.com/support/microcontrollers/c2000/f/171/t/330761.aspx

    but it seems there some basic knowledge I lack with regard to:

    *  Guidelines/example how to write a C2000/TMS320C28x-core bootloader.

    *  How to control which flash sections are erased & programmed during startup/loading.

    * Jump from bootloader to one of the two programs I want to switch between.

       etc...

    Thanks

    Roni

  • Roni,

    Boot ROM when in boot-to-flash jumps to the flash entry point. For your case you should have a kernel or some kind of application shell programmed here which looks for the two images (signatures or CRC) at predefined flash partitions and decides which one to start. The kernel is in the scope of customer application, getting the kernel started would be the responsibility of the boot ROM when booting to flash.

    Roni Lanzet said:

    *  Guidelines/example how to write a C2000/TMS320C28x-core bootloader.

    *  How to control which flash sections are erased & programmed during startup/loading.

    * Jump from bootloader to one of the two programs I want to switch between.

     

    on the first question, Device boot ROM is documented in the TRM, the loader sections of the BootROM chapter explains the format the ROM loaders would expect the incoming data to be. Also you can look at the ROM sources released in ControlSuite for debug and study (C:\ti\controlSUITE\libs\utilities\boot_rom\F2837x_rev0\F2837x_bootROM) - you can load the symbols from the COFF files and step through the code. Note that you don't have to rebuild the ROM sources/project (it probably wont build).

    for the remaining questions, it is all part of the application scope. The firmware loader/updater that customers write usually takes care of this. The firmware updater/loader code is the one that is usually downloaded using one of the boot modes and once the updater starts it takes over the communication port and starts downloading the application to be flashed.

     

    Best Regards

    Santosh