Hi!
I wanted to find ways to erase the BSL of chip MSP430F5506. So I modified one of example code from TI and built the project and tried to download the image of the program flashWrite.out to the CPU via the MSP-FET430UIF. We are using Code Composer Studio version: 4.2.3.00004. The BSL write and erase was enabled. But during downloading the program, a message occurred saying :
“Error connecting to the target:
Could not access device - security fuse is blown”
Below is the C file and part of the link.cmd.
Is the fuse really blown?
How can I work around this?
Thank you.
Tracie
C file:
#include <msp430f5506.h>
void main(void)
{
unsigned long * Flash_ptrD; // Initialize Flash pointer Seg D
// unsigned long value;
WDTCTL = WDTPW+WDTHOLD; // Stop WDT
SYSBSLC = 0x0003; // ensure BSL area is open
Flash_ptrD = (unsigned long *) 0x1000; // Initialize Flash pointer
// value = 0xC35A; // Initialize Value
FCTL3 = FWKEY; // Clear Lock bit
FCTL1 = FWKEY+ERASE; // Set Erase bit
*Flash_ptrD = 0; // Dummy write to erase Flash seg
FCTL1 = FWKEY+BLKWRT; // Enable long-word write
// *Flash_ptrD = value; // Write to Flash
FCTL1 = FWKEY; // Clear WRT bit
FCTL3 = FWKEY+LOCK; // Set LOCK bit
while(1); // Loop forever, SET BREAKPOINT HERE
}
Link.cmd
BSL_ZAREA : origin = 0x1000, length = 0x0010
BSL0 : origin = 0x1010, length = 0x01F0
BSL1 : origin = 0x1200, length = 0x0200
BSL2 : origin = 0x1400, length = 0x0200
BSL3 : origin = 0x1600, length = 0x01F0
BSL_SIG : origin = 0x17F0, length = 0x000C
JTAG_LOCK : origin = 0x17FC, length = 0x0004