Hi!
In a project with other classmates we are interfacing a microcontroller with the C6713 through the GPIO ports. The C6713 is on a C6713 DSK by Spectrum Digital. The GPIO is multiplexed with some HPI pins and is disabled by default. I have read in many places over the Internet and in the SPRS294B document that In order to enable the GPIO pins you must connect a pull down resistor in the HD14 pin at reset so the HPI can be disabled and the GPIO enabled.
I have looked in many forums and web pages how to do this but I haven't been able to do it right. I found that the HD14 pin is multiplexed with the GP0[14] pin and on the DSK Board, it is connected to pin 25 of the J1 HPI Expansion connector. I have already connected this pin to one of the board's system ground pins with a 10K resistor. I disconnected the board from power and connected it again, pushed several times the "reset" button that it has, combined these two actions with the closing and re-opening of CCS and I haven't been able to make the GPIO work!!
I can only write on GPIO pin 2. But the other pins seem to be doing nothing but staying in a High or Low level which indicates that they are not enabled as GPIO but as HPI.
I would really appreciate if someone could tell me how can I exactly disable the HPI and enable the GPIO. Which pin is the one I must connect to ground, the resistor value and how to make this work. I don't know what does this mean:
"To enable the McASP1 peripheral pins
and the eleven GPIO pins, an external
pulldown resistor must be provided on
reset."
Here is my C code, and I said before, I have been able to write only to GPIO pin 2.
#include <dsk6713.h>
#include <csl_gpio.h>
#include <csl_gpiohal.h>
#include <csl_irq.h>
GPIO_Handle gpio_handle; /* handle para el GPIO */
//Configuración de los registros del GPIO
GPIO_Config gpio_config = {
0x00000000, // gpgc = Modo Passthrough de Interrupciones y control directo sobre GP0
0x0000FFFF, // gpen = Todos los pines de GPIO de 0 a 15 habilitados
0x00000000, // gdir = Todos los pines de GPIO como entradas
0x00000000, // gpval = Guarda el nivel lógico de los pines
0x00000000, // gphm all interrupts disabled for io pins
0x00000000, // gplm all interrupts to cpu or edma disabled
0x00000000 // gppol -- default state */
};
void main() {
DSK6713_init();
gpio_handle = GPIO_open( GPIO_DEV0, GPIO_OPEN_RESET );
GPIO_config(gpio_handle,&gpio_config);
GPIO_pinDirection(gpio_handle , GPIO_PIN0, GPIO_OUTPUT);
GPIO_pinDirection(gpio_handle , GPIO_PIN1, GPIO_OUTPUT);
GPIO_pinDirection(gpio_handle , GPIO_PIN2, GPIO_OUTPUT);
GPIO_pinWrite(gpio_handle,GPIO_PIN0,1);
GPIO_pinWrite(gpio_handle,GPIO_PIN1,1);
GPIO_pinWrite(gpio_handle,GPIO_PIN2,1);
}
Thank you very much for your help.
Jorge Cifuentes
