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.
Hi,
I am using a mps430f5437A. After I entering to the bsl I sent the following sequence (mass erase):
80 01 00 15 64 a3 (mass erase)
respons:80 02 00 3b 00 60 C4 (ACk)
After this I tried to unluck the password protected functions of the bsl, but without any success. I havn't changed the password so first I tried the example from SLAU319C.
80 11 00 11 FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00 5C 38 4F
resp: 52 (CRC error)
I have tried to send 16 an 32 bit of FF but the respons is the same.
80 10 00 11 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 4e c9
resp: 52 (CRC error)
80 20 00 11 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 9e e6
resp: 52 (CRC error)
I want to mention that the CRC is calculated regarding with SLAU319C and SLAU208K.
Any idea about resolving this issue is welcomed,Thanks in Advance,
Levi
Hi Levi,
The example from SLAU319 shows what you would do if you had already set the password on your MSP430 BSL to be ff ff ... ff 00 5c. The default is all ff. In addition, the example shows a 16 byte password as used on the F543x non-A devices. The F5437A that you are using has a 16 word / 32 byte password. I don't think we explain well what this example is doing in slau319 as I've seen many people get confused here.
When you tried the 32 byte all ff password you were on the right track, but I see a mistake. It should look like this:
80 21 00 11 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 9e e6
This is because the length field in the wrapper not only includes the 32 byte password, but is the length of the whole BSL core data packet, which means it should also include the RX password command byte. This gives a total of 33 bytes, or 0x21.
Let me know if you get any better result if you try this command.
Lastly I'd also like to point out the source code for the BSL scripter included in www.ti.com/lit/zip/slau319 which can be helpful to look at when making the host side of your BSL.
Regards,
Katie
Hi old_cow_yellow,
It breaks down like this:
Wrapper/header :
80 - starting byte for UART BSL protocol
21 00 - length of BSL core command = 0x0021 = 33 bytes
BSL core command :
11 - RX Password command byte
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff - Password = 32 bytes of 0xFF
CRC:
9e e6
The length bytes in the wrapper (21 00) is just supposed to be the # of bytes in the BSL core command, in this case 33 bytes.
Regards,
Katie
Hi Katie,
I want to thank you for your fast response. The problem was what you described. The length was samler with one byte.
Have a nice day
Levi
I also meant to include this screenshot of an example using the BSL scripter tool from slau319 with verbose mode on so you can see all the bytes.
Bytes in [ ] are sent from the host to the MSP430. Bytes in { } are sent from the MSP430 back to the host.
This example does this:
1. Mass erase
2. RX password (default 0xff password)
3. TX BSL version (receives 00 06 04 04 because this was run on an F5310)
4. Writes 3 bytes of data (ab cd ef) to address 0x8000
Hi Katie.
This is a big help for me. I'm writing my own python program to comunicate with the BSL.
Levi
Hi Levi,
Have you seen this: http://processors.wiki.ti.com/index.php/BSL_(MSP430)#BSL_Software
Has some resources to help with what you are doing:
BSL Software
**Attention** This is a public forum