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.

TMS320C5505 GPIO14



Hi,

I am trying to use GPIO 14 for controlling a LED.

The issue is that i cannot change the state of the GPIO.

This is the dummy-code i use to try to set the pin low:

unsigned short *reg_EBSR = (unsigned short*) 0x1C00;
unsigned short *reg_IODIR1 = (unsigned short*) 0x1C06;
unsigned short *reg_IODATAOUT1 = (unsigned short*) 0x1C08;
unsigned short *reg_PCGCR1 = (unsigned short*) 0x1C02;
unsigned short *reg_PCGCR2 = (unsigned short*) 0x1C03;

    LOG_printf(&trace, "hello world!");

    *reg_PCGCR1 = 0;
    *reg_PCGCR2 = 0;
    *reg_EBSR |= 0x6000;
    *reg_EBSR &= 0xEFFF;
    *reg_IODIR1 |= 0x4000;
    *reg_IODATAOUT1 |= 0x4000;

 

I have hooked up an osciliscope so i can monitor the state of the GPIO but the state remains low whatever i do.

The datasheet (http://focus.ti.com/lit/ds/symlink/tms320c5505.pdf) mention that i must configure PPMODE in the EBSR-register.
But the documentation for the EBSR register does not mention GPIO 14. The PPMODE-configuration claims to controll mulitplexing for "GP[31:27, 20:18]".

I have tried the same code on the eZDSP-stick but without being able to change the state of GPIO 14.

Also, this line is very confusing: "After the boot process is complete, the external bus selection register must be modified only once, during device configuration. Continuously switching the EBSR configuration is not supported."
Does it mean that changes after boot are ignored?

 

Anyone had any luck with this GPIO?

 

Regards

Mats Soderhall