Other Parts Discussed in Thread: UNIFLASH
Dear TI experts,
What I am trying to achieve is to have two identical copies of a SW image flashed to the internal non-volatile storage of a TI TMS570LS1224.
My first question is - What is the best practice of achieving this?
How I am imagining it to work, as of this moment, is in the following manner:
- Create a project in CCS which will hold a bootloader application capable of reprogramming Flash.
- Have a separate CCS project for the SW Image.
- A user would then have to send the desired SW image over a serial communications interface like SCI (UART), or CAN.
- The bootloader application would then use the F021 API to reprogram the received image to a corresponding (hard-coded) address in Flash.
- After receiving and reprogramming both SW images into Flash memory, the bootloader will branch to the desired SW image by calling ((void (*)(void))ADDR_OF_SW_IMAGE)();
My second question is - How does one circumvent the redefinition of symbols (functions, variables, ...) when having two identical SW images residing in Flash?
My third and last question is - How can the HEX Utility be used as a leverage in this situation? Does it make sense to generate the two SW Images using the HEX Utility, then send them over to the MCU, and finally flash them into non-volatile memory?
Thank you in advance!
Kind regards,
Mihail