Wednesday 4 February 2015

ti ccstudio - MSP430 printf() through Spy-Bi-Wire hangs


printf() to console through Spy-Bi-Wire should be supported in the TI Code Composer Studio. Found this page, which explains how to enable printf(). But I can't seem to make it work. The program execution simply hangs, when it gets to printf().


My setup consists of:



To try to enable the printf(), I’ve changed these settings in Project->Properties:




  • Console I/O (CIO) enabled

  • Stack size 768, heap size 1024. (Also tried 300 and 400, respectively.)

  • printf() support set to minimal


/*
* ======== Standard MSP430 includes ========
*/
#include
#include


/*
* ======== Grace related includes ========
*/
#include

/*
* ======== main ========
*/
int main(void)
{

Grace_init(); // Activate Grace-generated configuration

while (1)
{
P1OUT |= BIT0;
__delay_cycles(100000);
P1OUT &= ~ (BIT0);
__delay_cycles(100000);

printf("*\n"); // hangs here

}

return (0);
}

The problem is that program execution hangs, when it gets to printf().


In the disassembly view, the code hangs at this line


000004  3FFF  JMP  (0x0004)

Is this an endless jump?



At one point, I though that there's a problem with my CCStudio installation. Initially, I've installed 5.3 on top of 4. I've installed CCStudio 5.3 on another computer (virgin one). I'm seeing exactly the same problem.


Come to think of it, I'm using the same FET430. May be, the problem is in my FET430 or it's firmware.


What am I missing? What could go wrong?
Have anyone else had problems like this?
Is this something that works with 4-wire JTAG, but doesn't work with Spy-Bi-Wire?




No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...