I am trying to interface to the BSL usingthe UART communications and 2 GPIO ports on a linux micro to enter the BSL mode.
First problem I encountered was that providing the correct bit time patterns on the RESET/TEST pins did not enter BSL mode. Instead the user application program would always start after the reset. I have checked all GPIO pin voltage levels and have verified that the correct sequence on the RESET/TEST pins is as per specifications.
After unsuccessfully being able to enter BSL through using the external pins I forced a jump to the BSL entry point at 0x1000 in my user code and was able to get operation of the BSL.
After sending a Mass Erase command followed by the Password command (containing 32 x 0xFF) the BSL keeps doing a Mass Erase but will not unlock the BSL.
It does not matter how many times a send a Password command it will always do a Mass Erase.
I can confirm that the device is still locked by sending a TX BSL Version command and I get a response from the BSL that it is not unlocked.
I am able to successfully communicate with the BSL but I cannot unlock it.
I have read all the documentation several times and checked the Password command protocol but I am at a lose as to why it will not unlock. The documentation says that the password should be 32 x 0xFF after a Mass Erase and that is what I am sending ie:
0x80 0x21 0x00 0x11 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0x9E 0xE6
After this command the TX line from the MSP430FR5969 goes low for 13mS and there is no other response.
All other commands sent will get a core message response with BSL locked (0x80 0x02 0x00 0x3B 0x04 CKL CKH).
Does anyone have any ideas?




