Other Parts Discussed in Thread: MSP430FR5969, MSP-FLASHER, MSP430F5528
Hi all,
I'm working on a project where I'm randomly changing registers while a program executes to see the effect on program execution. I've been using the same board for many, many iterations of this. However, I came to check on my MSP430FR5969 board today and found that this message has popped up: "SEVERE: MSP430: Error connecting to the target: The Debug Interface to the device has been secured". It doesn't let me program the board or communicate with it in any way. The board has been programmed thousands of times with this specific program and this is the first time anything like this has happened. I obviously can't trace the program execution back to the time of failure to diagnose the problem, so I'm looking for a way to recover my board.
From these two threads I'm thinking that an unlucky change tripped the JTAG fuse and disabled the interface. I checked a few threads and found out that people have used the BSL_scripter tool to issue a mass reset to the board, which apparently should clear the JTAG fuse. However, I can't seem to make any progress at all with this. I've tried versions 3.1 and 3.2.1 of BSL_scripter. I've attached the script that I'm uing at the bottom of this post. Version 3.1.0 reports that each command executed successfully, but I still get the error about the the debug interface being secured when I try to program the MSP430. I've pasted that log file below. When I try anything in version 3.2 every command returns "[ACK_ERROR_MESSAGE]Unknown ACK value!". I've tried to erase it using by using MASS_ERASE as well as sending the wrong password. Additionally, when I try to read memory it only reads 0's instead of the data I just wrote to it, or FFs if it were protected memory.
I'm developing on Ubuntu 16.04 and I've been using the ezFET on the development board. I haven't moved any jumpers. Am I approaching this the right way? Is there something that I'm missing? Please let me know, I would like to use my board again!
Thank you,
Matthew Bohman
LOG
MODE msp430frxx UART 9600 /dev/ttyACM0
RX_PASSWORD pass32_wrong.txt
DELAY 2000
RX_PASSWORD pass32_default.txt
RX_DATA_BLOCK blinkLED_FR6989.txt
TX_DATA_BLOCK 0x4400 0x00C0 Read_1.hex
TX_DATA_BLOCK 0xff80 0x0020 Read_2.hex
TX_DATA_BLOCK 0xffcc 0x0036 Read_3.hex
CRC_CHECK 0x4400 0x0020
SET_PC 0x4400
---------------------------------------------------------
BSL Scripter 3.1.0.0
PC software for BSL programming
2017-May-22 15:49:53
---------------------------------------------------------
Input file script is : /home/ecenstudent/Downloads/BSL_Scripter_Linux_3.1/ScriptExample/FRxx_uart/script_FRxx_uart.txt
//MODE FRxx UART 9600 /dev/ttyACM0
//MASS_ERASE
MODE msp430frxx UART 9600 /dev/ttyACM0
RX_PASSWORD pass32_wrong.txt
Read Txt File : /home/ecenstudent/Downloads/BSL_Scripter_Linux_3.1/ScriptExample/FRxx_uart/pass32_wrong.txt
DELAY 2000
RX_PASSWORD pass32_default.txt
Read Txt File : /home/ecenstudent/Downloads/BSL_Scripter_Linux_3.1/ScriptExample/FRxx_uart/pass32_default.txt
RX_DATA_BLOCK blinkLED_FR6989.txt
Read Txt File : /home/ecenstudent/Downloads/BSL_Scripter_Linux_3.1/ScriptExample/FRxx_uart/blinkLED_FR6989.txt
Time elapsed of writing 262 bytes : 15 seconds
Speed of writing data :0.01706(kB/s)
TX_DATA_BLOCK 0x4400 0x00C0 Read_1.hex
Write Txt File : /home/ecenstudent/Downloads/BSL_Scripter_Linux_3.1/ScriptExample/FRxx_uart/Read_1.hex
Tx Data Block intended num of bytes : 192
Time elapsed of reading 192 bytes : 5.001 seconds
Speed of reading data : 0.03749(kB/s)
TX_DATA_BLOCK 0xff80 0x0020 Read_2.hex
Write Txt File : /home/ecenstudent/Downloads/BSL_Scripter_Linux_3.1/ScriptExample/FRxx_uart/Read_2.hex
Tx Data Block intended num of bytes : 32
Time elapsed of reading 32 bytes : 5.001 seconds
Speed of reading data : 0.006249(kB/s)
TX_DATA_BLOCK 0xffcc 0x0036 Read_3.hex
Write Txt File : /home/ecenstudent/Downloads/BSL_Scripter_Linux_3.1/ScriptExample/FRxx_uart/Read_3.hex
Tx Data Block intended num of bytes : 54
Time elapsed of reading 54 bytes : 5.001 seconds
Speed of reading data : 0.01055(kB/s)
CRC_CHECK 0x4400 0x0020
SET_PC 0x4400
Set PC is sent.