Part Number: MSP-EXP432P4111
Hi,
We have a weird intermittent BSL boot load problem where the BSL seemed to sync but always responded with 0x0, success, which should not occur when sending a bad password to erase and unlock memory.
I built the BSL in "debug" mode to figure out what was going on, and was able to replicate the problem on a launchpad.
The file and function of interest is:
BSL432_Peripheral_Interface_eUSCI_UART_SPI_I2C_IRQ.c
BSL432_PI_UARTdetect()
The else if clause failed at 115200 detect that it should have, but succeeded at 9600 baud clause. I'm thinking a timing aliasing/borderline case.
The BSL code goes south from that point.
This routine needs to be redesigned and re-written more robustly. Please, please, please.
One thing to consider is not to use 0x00 for a sync value response as 0x00 might be seen as 0x00 at any baud rate.
Another is to rewrite the bootloader to give better and more detailed error messages, I had to rewrite the bootloader to isolate the bug.
bob s.