SparkFun Forums 

Where electronics enthusiasts find answers.

Discussions on how to get your MSP JTAG programmer up and running.
By s3034585
#69684
Hi Guys,

I am getting Communication error while trying to program MSP430F2011 with Jlink 430. I am using IAR kickstart version.

Can some one please tell me what does this error mean.
I check the pinout as well...

Thanks
Tama
By naz
#69685
could you send the error message
By s3034585
#69764
I tried JLINK430 and MSP-FET-430UIF as well but with both of them i get error

saying Communication error, Please connect the device and press retry to reconnect or cancel. If i click on retry i get following errors

Wed Apr 01 09:51:02 2009: Fatal error: Failed to identify device
Wed Apr 01 09:53:20 2009: Failed to load debugee: D:\Projects\11401\sw\Debug\Exe\Iar_kickst_tst_proj.d43
By naz
#69771
1.Check your's hardware connection properly,(programmer and parallel port)
2.check your's Target-->device,make sure the device name is same as your's controller name.
By quijote
#69781
Hi

I get the same error: 'Failed to load debugee: xxx.d66'

Curious thing is: it worked perfectly until yesterday, now the debugger cannot connect to the board. I am using the Maxim MAXQ7665 eval kit, IAR Workbench v2.20A for MAXQ on Vista Home Premium SP1.

Also I tried conecting to another PC where IAR had never been installed before : same problem.

I am starting to think it could be the board: could repeated debug cycle via JTAG cause the chip to malfunction?

Any ideas welcome..
By naz
#69790
1.write a small code,or take any other working code ,build and make sure whether the issues are in code or not.
2.if suppose the new can load in your's jig, means,you have to trace out your's old source code or else trace out your's jig connections and components.
By OldCow
#69840
From what you described, I can only assume that:

(1) You installed some kind of MSP430 development software on some kind of PC.

(2) This development software is capable of using both the JLINK430 and MSP-FET-430UIF hardware tools. It probable uses different device drivers to do so.

(3) The JLINK430 or MSP-FET-430UIF is connected to some kind of target board with a MSP430F2011 on it.

(4) You were able to use the above to load and debug F2011 before. But now the above refuse to do so and show you the error messages.

If the above statements are correct. Then my assessments of the problem are:

(a) The settings in the development software are changed and made it incompatible with what you intend to do.

(b) The environment of the operating system in the PC is changed and causes it to use the wrong device driver or renders the device driver malfunction.

(c) The connection between JLINK430 or MSP-FET-430UIF and the target board is defective.

(d) Something went wrong on the target board or the F2011.

(e) I do not think this problem has anything to do with what code you try to load and debug. The problem is in the "tool chain".
By s3034585
#69908
it seems that this chiop somehome dosent work with JLINK430 or MSP-FET-430UIF, I got it working with MSP430 gang programmer.

does any one have any idea why it dosent work with these tools.

after solving this issue i ran into another problem..
i am trying to set the timer_a to count to a value and then generate a interrupt. wrote a isr to just toggle the led. but this is not working...

i configured P1.0 and P1.4 to show ACLk and SMCLK so that i can see them on scope. I can see the clock but then wby the timer is not working. can some pls help

void main( void )
{
short temp;
init_system();
TACCTL0 = CCIE;
TACCR0 = 3000;
TACTL = TASSEL_1 | (3 << 6) | MC_1 | TACLR ;

__enable_interrupt();
}

#pragma vector = TIMERA0_VECTOR
__interrupt void TimerA(void)
{
P1OUT ^= ~0x04; // P1.2 = 0

}
By naz
#69912
Try this

void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
P1DIR |= 0x01; // P1.0 output
CCTL0 = CCIE; // CCR0 interrupt enabled
CCR0 = 50000;
TACTL = TASSEL_2 + MC_2; // SMCLK, contmode
_BIS_SR(LPM0_bits + GIE); // Enter LPM0 w/ interrupt
}
// Timer A0 interrupt service routine
interrupt[TIMERA0_VECTOR] void TimerA(void)
{
P1OUT ^= 0x01; // Toggle P1.0
CCR0 += 50000; // Add Offset to CCR0
}