Using CCS v5.5, MSP4305418A.
Trying to implement a means to upgrade product firmware in the field via UART. I do not have easy hardware access to TCK and RST.
I have downloaded MSPBoot_1_01_00_00 main memory bootloader code, compiled and loaded it on a G2553 dev board. I have loaded a program via the UART, it works.
The problem:
The main memory bootloader code does not support addresses >64k (only two bytes in the message protocol).
I then downloaded SLAA450 and see that it supports 3 byte addresses and some other functions that the main memory bootloader does not.
The other problem:
The code from SLAA450 does not use a pseudo vector table and writes the reset vector. While I think I could download a program as it is, it would have to always have the reset vector pointed at the BSL. When the vector table is erased and re-written for each program that is loaded, there is a small window of time where power loss would brick the device as the reset vector would be erased.
My options as I see it:
Add vector redirection to SLAA450 and hard code protection for the vector space.
Change protocol in MSPBoot to support larger address space.
Will someone confirm? Am I missing anything?