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.

CCS/MSP430FR2100: Debug crashes when LOCKLPMS bit cleared.

Part Number: MSP430FR2100
Other Parts Discussed in Thread: MSP-EXP430FR2433, MSP430FR2433

Tool/software: Code Composer Studio

I am planning to use a MSP430FR2100 part to replace a bunch of sequencer logic. I have tested the concept using a MSP-EXP430FR2433 Development kit and things seemed to go well. So, I obtained some MSP430FR2100 parts, changed some I/O around to fit in the smaller device, and programmed a MSP430FR2100 using the MSP-EXP430FR2433 board (pulled the jumpers and connected up the GND, 3V3, SBWTDIO, and SBWTCK pins). Unfortunately, the new part just sat there when place in my DUT fixture and didn't run through the sequence.

So, I attached the MSP430FR2100 back to the MSP-EXP430FR2433 board and brought up the debugger through CCS. 

The beginning of my program is: 

// ****************

int main(void)
{
int j;

WDTCTL = WDTPW | WDTHOLD; // stop watchdog timer
initGpio();

PM5CTL0 &= ~LOCKLPM5; // Disable the GPIO power-on default high-impedance mode

CSCTL4 = SELMS__REFOCLK | SELA__REFOCLK; // Use the internal 32.768KHz clock

// **********

The initGpio() subroutine is

// *****************

void initGpio()
{

P1DIR = 0xF0; // P1.7 through P1.4 are outputs. The rest are inputs

P2DIR = 0x80; // P2.7 is an outout P2.6 through P2.0 are inputs.
P1REN = INT_PULLUPS; // Pullups on lower nibble
P2REN = 0x00; // No pullups P2 inputs

P1OUT = INT_PULLUPS; // Used in conjunction with P1REN to get pullups.
P2OUT = 0x00; // Second RESET_SYS_L (also set active).

}

// *****************

I can single step through the program until I hit the "PM5CTL0 &= ~LOCKLPM5;" line, then I get the following on the console:

"MSP430: Can't Single Step Target Program: Could not single step device"

and things hang. 

If I comment out the line: "PM5CTL0 &= ~LOCKLPM5;", the debugger will continue to work and change the outputs of the MSP430FR2100, but the inputs don't seem to work. I also see similar behavior in the DUT fixture (with the LOCKLPM5 line commented out) - the outputs walk through proper sequence, but the chip does not respond to inputs. So, I have a couple of questions: 

1) Why does my program work with the MSP430FR2433 chip but not the MSP430FR2100?

2) Why is CCS hanging when invoking the LOCKLPM5 line? 

3) If I commented out the LOCKLPM5 line, why are the outputs working at all - isn't the chip's I/O suppose to be stuck in "input only" mode? 

Any info would be appreciated. 

Thanks!

**Attention** This is a public forum