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.

TMS320F28388D: Firmware update OTA in TMS320F28388D

Part Number: TMS320F28388D
Other Parts Discussed in Thread: C2000WARE

Dear TI Support Team,

 

  • We make use of TMS320F28388D in one of our product, we have a new requirement regarding this product related to the firmware update over OTA.
  • Our TMS interacts with an ARM based single board computer over Ethernet interface.[firmware files for cpu1 cpu2 and CM is stored in the SBC]
  • At present the firmware update is carried out with the help of serial flash programming by connecting USB cable physically.

 

We need to have our firmware handling in flash memory in the following way,

 

  • Firmware architecture to have 2 firmware’s , one as a base firmware or a bootloader and other as user specific application.
  • Requirement is to update user application whenever there is new firmware is available and firmware update command is received.
  • After receiving an update command we need to update application code with new one.

 

We need know the above way of implementation is feasible or not , if feasible need your assistance to implement the same.

Awaiting for your response.

Regards,
Abhi Patel

  • Abhi,

    The implementation you describe is feasible, but we don't have a ready example that meets your specific needs. I'll describe below what we do have:

    1. In C2000Ware, we have examples of Flash kernels (aka bootloaders). What this allows you to do is to put the device in SCI boot, and then transmit the kernel to the MCU's RAM, transfer control to it, and then it can stream in an Application (also over SCI) to program the MCU's Flash. To activate this new firmware, you need to now switch the device to Flash boot and power it up.

    \driverlib\f2838x\examples\c28x_dual\flash_kernel\CCS

    \driverlib\f2838x\examples\c28x_cm\flash_kernel\CCS

    2. The limitation with the above approach is the need to switch boot modes. The solution is to have a "Flash" version of the Flash kernels above. So where in step 1 above the Flash kernels are located in RAM, you can have a Flash version of the same and program them to Flash where they persist. Now you can always boot the device to Flash boot, and first execute the Flash kernel. The Flash kernel can then either perform a Firmware update OR boot the application.

    We don't currently have Flash configurations for these kernels, so you would need to develop it yourself. It should be straightforward to do so.

    Other documentation references that can be very useful:

    www.ti.com/lit/sprujh3

    www.ti.com/lit/sprabv4

    www.ti.com/lit/spruiu9

    Thanks,

    Sira