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.

MSP430FR5969: BSL mass erase not working.

Part Number: MSP430FR5969

Hardware Setup : I'm using the MSP430FR 5969 launchpad (https://www.ti.com/lit/ug/slau535b/slau535b.pdf?ts=1658258840470&ref_url=https%253A%252F%252Fwww.ti.com%252Ftool%252FMSP-EXP430FR5969). I have removed the RXD and TXD jumpers on J13 and have connected them to a serial port with appropriate voltage levels to access UARTA0. I have a second serial port connected the P2.5 and P2.5 pin on J4 to access UARTA1 for my "monitor" software.

Software setup: I wrote a program in Code Composer that monitors the UARTA1 input and will branch into the BSL using the code from SLAU319AE

__disable_interrupt(); // disable interrupts
((void ( * )())0x1000)(); // jump to BSL

The software connected to UARTA0 to communicate with the BSL is written in C and is running on Ubuntu.

The system appears to be communicating with the BSL becaue when I branch to the BSL from the monitor and send a password protected command from the Liinux code I get a response that matches what the FRAM BSL document (SLAU550AA) says I should expect. 

For example: I start the BSL and send the protected command "TX BSL Version", 0x19.

st29142@574814-MITLL-VM-Ubuntu-2204:~/eclipse-workspace/MSP430_BSL/build/default$ ./MSP430_BSL 19
BSL file loader built 10:59:16 Jul 19 2022
Opening port /dev/ttyS1
port open argc = 2
19 0x19
CRC length = 1
0x19
0x62e8
i+4 = 6 0x80 0x01 0x00 0x19 0xe8 0x62
wrote 6 characters
received 8 characters
received 0x00
received 0x80
received 0x02
received 0x00
received 0x3b
received 0x04
received 0xe4
received 0x84

The data packet matches the example in section 4.1.5.7 and the response indicates the BSL is locked (the 0x04 in byte 6). This as expected and confirms I have communications with the BSL and it is functioning.

My problem: When I command the mass erase, I do not receive the BSL response that SLAU550AA indicates in 4.1.5.3 I should get. In addition, the monitor software I loaded with Code Composer should have been erased, but when I reset the launchpad with the hardware reset (button S3) the monitor starts.

$ ./MSP430_BSL 15
BSL file loader built 10:59:16 Jul 19 2022
Opening port /dev/ttyS1
port open argc = 2
15 0x15
CRC length = 1
0x15
0xa364
i+4 = 6 0x80 0x01 0x00 0x15 0x64 0xa3
wrote 6 characters
received 0 characters

Is there some difference between starting from software and starting with the Test signal on a reset that is keeping this from working?

Is there different BSL loaded into the MSP430FR5969 on the launchpad?

Is there some hidden hardware in the scratchpad that is restoring my monitor program on a reset?

Any suggestions would be greatly appreciated.

Thanks in advance.

 

**Attention** This is a public forum