Part Number: MSP430FR2476
I just tripped over an apparent oddity with the MSP430FR2476. It looks like FRCTL0:NWAITS is set to 1 at reset. Per User Guide (SLAU445I) Table 6-2 it should be set to 0. I don't see any special note in the data sheet (SLASEO7B). This is an "X" device, if that matters.
Specifically, this program lights the Launchpad P1.0 LED, even without the debugger, after a power-cycle:
#include <msp430.h>
int main(void)
{
WDTCTL = WDTPW | WDTHOLD; // stop watchdog timer
P1OUT &= ~BIT0;
P1DIR |= BIT0;
PM5CTL0 &= ~LOCKLPM5;
if (FRCTL0 & NWAITS) // UG Table 6-2 says its =0
P1OUT |= BIT0;
while (1) LPM0;
/*NOTREACHED*/
return 0;
}
If I use the debugger to explicitly set NWAITS=0, it stays =0 until the next Hard Reset.
The implication is that "slow" (<=8MHz) programs are incurring unnecessary wait states.
Is this a BSL thing? Is it my imagination?