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.

GPIO strange behavior... Electrical problem?

Hi!

 

I’m currently starting to debug a custom board, with 3 TMS320C5502 (clock at 27Mhz) on it. Those 3 DSP has their GPIO connected together (so each GPIOx connected together). Apparently (still trying to figure out exactly how to program the 3 DSP), only one processor is running while the two others are in reset. So only one processor is trying to put value on the GPIO port.

So right now, I can load some program on one DSP, and I made some test. The first test I’m trying to do is to make a led blink:

 

void testLed(void)
{
	    //Initialize GPIO handler
	    GPIO_Handle hGPIO;
	    
	    hGPIO = GPIO_open(GPIO_GPIO_PIN6 | GPIO_GPIO_PIN4, 0);	//Undefined flag
	    GPIO_pinDirection(hGPIO, GPIO_GPIO_PIN4, GPIO_GPIO_PIN4_OUTPUT);
	    GPIO_pinEnable(hGPIO, GPIO_GPIO_PIN4);

	    while(TRUE)
	    {
			//Set GPIO4
			GPIO_pinWrite(hGPIO, GPIO_GPIO_PIN4, 1);
			GPIO_pinWrite(hGPIO, GPIO_GPIO_PIN4, 0);
	    }
}

Now, I’ve got a very strange signal on the scope:

 


And after a while, It looks like the DSP stop working: I see the power consumption going from 240mA to around 100mA for the whole board (on the 1.26V). For code composer, the code is still running, untill I hit “pause”, and get:

Error:

Trouble Halting Target CPU:

Error 0x00000024/-1142

Error during: Register, Execution,

Processor blocked debug accesses. An operation was attempted while the CPU was in a non-debuggable context. To continue to honor the debug context, press Cancel. To force debug access, press Rude Retry.

Then, If I hit resume:

Can't Run Target CPU:

Error 0x00000020/-1141

Error during: Execution,

Processor communication timeout.

It is recommended to RESET EMULATOR. This will disconnect each target, perform an emulation reset, and then reconnect each target. Power cycle the target board before continuing.



And the processor seems looping in this code:

ff869f:   f25100019c05             BAND port(#09c05h),#1,TC1

ff86a5:   0474f7                   BCC #0xff869f,!TC1

ff86a8:   a6519c00                 MOV port(#09c00h),T2

 

Any idea of what’s happening? Electrical problem?

 

Thanks a lot!