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.

MSP430F5419a BSL writing with MSP430-BSL (BSL Rocket) and MSP-TS430PZ5x100

Other Parts Discussed in Thread: MSP430F5438A, MSP430F5419A

Good day,

I've encountered a weird problem with the MSP430-BSL (UART BSL PI) and hadn't found any similar situations on the forum but maybe someone knows what I'm doing wrong:

I try to customize MSP430F5419a BSL and as a starting point I try to overwrite existing BSL with "MSP430BSL_1_00_10_00\5xx_6xx_Released_BSL_Images\MSP430F5438A_Family\BSL.00.07.05.04.txt" and the operation doesn't succeed and I observe some effects which I cannot explain.

My  HW setup is :

1.  MSP-TS430PZ5x100 development board with JP3 jumped to "ext" and powered with 3.3V via J5

2.  MSP430-BSL connected to BOOTST connector of the MSP-TS430PZ5x100 and to my PC over USB

3. I've got a MSP430F5419a  (my target processor for which I'm trying to customize BSL) and a couple of MSP430F5438a supplied with the MSP-TS430PZ5x100

4. The bsl-scripter-windows  (V3.1.1.0) script is:

MODE 5xx UART COM9
VERBOSE
RX_PASSWORD pass32_wrong.txt
RX_PASSWORD pass32_default.txt
TX_BSL_VERSION
RX_DATA_BLOCK MSP430BSL_1_00_10_00\5xx_6xx_Released_BSL_Images\MSP430F5438A_Family\BSL.00.07.05.04.txt

The problems which I experience are:

1. The MSP430F5438a processors (both of them) don't invoke BSL: I've written an app which toggles D1 LED on the  MSP-TS430PZ5x100 periodically and I observe that the LED toggling doesn't stop when I run the script above while serial communication with MSP430-BSL is in tact... it just doesn't get any response from the MSP430F5438a. I've tried to redirect the MSP430F5438a  into the BSL from my app with "__disable_interrupt();((void (*)())0x1000)();" but it didn't succeed, it just restarted the processor/app.

2. The MSP430F5419a does invoke BSL and I can get responses from it using BSL-scripter but I still cannot overwrite the BSL:

 (a) Somehow I've succeeded to write the  BSL.00.07.05.04.txt once and now it reports "TX_BSL_VERSION" as "00.00.05.04" and I can not change it to the "00.07.05.04" which it reported originally

 (b) First time after loading my app (toggling the LED, in the user space) RX_PASSWORD returns "password is incorrect" even if I supply 32 times 0xFF and expect the password to be correct. The operation erases "user space memory" and after that recognizes 32 time 0xFF password as the correct one and as expected... but I cannot figure out why the password is not accepted 1st time.

3.  I've tried to modify the BSL on another MSP430F5419a (I just change the version bytes at 0x1010-0x1014 in the BSL.00.07.05.04.txt) and it behaves in the same manner: it looks like it can overwrite bits ones with zeros but cannot overwrite zeros with ones.

Is it possible that I don't erase BSL flash sector? Is it additional BSL-Scripter command for that (besides MASS_ERASE) which I have to use?

Any thoughts/suggestions are welcome and appreciated.

P.S. I've tried to power the MSP-TS430PZ5x100 from MSP430-BSL just connecting it to USB and it produced a strange effect: the MSP430F5419a  responded sometimes and I've measure 2.56V on the J5, most of the times it didn't response and I've found 2.8V on the J5 in this situation. External power supply (3.3v on J5) however seems to power MSP430 correctly, so I think that it's not the reason for the problems...

**Attention** This is a public forum