Part Number: TMS320F28069
Hi,
We are implementing firmware upgrade for piccolo-C2000(TMS320F2806M) microcontroller. In our system, piccolo is connected to another micocontroller (MSP432) through UART. we are using SCI-A for communication between the piccolo and MSP432. Our plan is to upgrade the piccolo using the SCI boot mode from the MSP432 whenever a firmware upgrade is required. In normal working both the
controllers will communicate using a packet format defined by us.
The boot mode selection GPIO of the piccolo are connected as follows(permanent connection, no switches used).
GPIO37 TDO - High
GPIO34 - High
TRST - Low
As per this configuration, Stand-Alone Boot Mode is GetMode. So the OTP_KEY and OTP_BMODE register values are checked for getting the boot mode. If we program the OTP with OTP_KEY = 0x005A and OTP_BMODE = 0x0001, the boot mode will be SCI boot mode. Our understanding is clear till this point. We need some clarity regarding the below points.
1. If we program the OTP_BMODE with 0x0001 for enabling the firmware upgrade using SCI boot mode, after upgrade can we change the OTP_BMODE to 0x000B for booting from flash in normal operation?
2. If we can not change the OTP_BMODE to 0x000B(GetMode: Flash) once it is programmed with OTP_BMODE to 0x0001(GetMode: SCI), How can we execute the normal application after firmware upgrade. As per my understanding SCI boot mode will entered after every reset. How to exit from the SCI boot mode?
3. Whether we need to load the flash kernal for flash programming?
Regards,
Shijo Thomas