Other Parts Discussed in Thread: TMS320C6713B
Hi, Is there any upgradation of CCS which may support DSK6713 Kit. Because CCS v3.3 is need Windows XP Plate form and i have Window 10.
This whole things i do because of my interrupt ISR function not work in CCS v7. I try everything.
My code:
#include <stdio.h>
#include <csl.h>
#include <csl_gpio.h>
#include <csl_irq.h>
#define MUXH 0x019C0000 //MUXH - interrupt multiplexer high register
int *muxh = (int *) MUXH; //map memory location to variable, pointer
#define muxh_pointer *muxh //data value pointer define
#define MUXL 0x019C0004 //MUXL - interrupt multiplexer low register
int *muxl = (int *) MUXL; //map memory location to variable, pointer
#define muxl_pointer *muxl //data value pointer define
GPIO_Handle gpio_handle; // Handle for the GPIO
// GPIO Registers configuration
GPIO_Config gpio_config = {
0x00000000, // gpgc = Interruption pass through mode and direct GPIO control mode
0x0000FFFF, // gpen = All GPIO 0-15 pins enabled
0x00000000, // gdir = All GPIO pins as inputs
0x00000000, // gpval = Stores logical level of pins
0x00000010, // gphm, IRQ enable for pin 4
0x00000010, // gplm, Enable Event for pin 4
0x00000000 // gppol -- default state
};
void main()
{
CSL_init();
//comm_intr(); //for communication/init using interrupt
// To configure the GPIO
gpio_handle = GPIO_open( GPIO_DEV0, GPIO_OPEN_RESET );
GPIO_config(gpio_handle,&gpio_config);
GPIO_pinDirection(gpio_handle,GPIO_PIN2,GPIO_INPUT);
//irq_ext_enable();
IRQ_globalDisable(); //disable interrupts
//IRQ_setVecs((void *)0x00000000);
IRQ_map(IRQ_EVT_EXTINT4,4); // Maps an event to intr 1
IRQ_reset(IRQ_EVT_EXTINT4); //reset codec INT 11
IRQ_nmiEnable(); // Enables the NMI interrupt
IRQ_enable(IRQ_EVT_EXTINT4); // Enables the Timer 0 interrupt
IRQ_globalEnable(); // Globally enables intrs
// interrupt setup
//comm_intr(); //init DSK
DSK6713_LED_init();
printf("dsk6713\n");
while(1) // Infinite While
{
printf("%x \n",GPIO_pinRead(gpio_handle,GPIO_PIN4));
printf("IER:%x\n", IER);
printf("IFR:%x\n", IFR);
printf("IRP:%x\n", IRP);
printf("ISTP:%x\n", ISTP);
//printf("function:%x\n", c_int04);
printf("muxl_pointer:%x\n", muxl_pointer);
printf("muxh_pointer:%x\n", muxh_pointer);
printf("CSR:%x\n", CSR);
DSK6713_waitusec(500000); //delay function in microsecond
}
}
interrupt void c_int04() //ISR
{
DSK6713_LED_on(0); //To turn on the led
DSK6713_LED_off(1); //To turn on the led
return;
}
interrupt void c_int11() //ISR
{
DSK6713_LED_on(1); //To turn on the led
DSK6713_LED_off(0); //To turn on the led
}
Vectors_intr file:
*Vectors_intr.asm Vector file for interrupt INT11
.global _vectors ;global symbols
.global _c_int00
.global _vector1
.global _vector2
.global _vector3
.global _c_int04 ;for INT04
.global _vector5
.global _vector6
.global _vector7
.global _vector8
.global _vector9
.global _vector10
.global _c_int11 ;for INT11
.global _vector12
.global _vector13
.global _vector14
.global _vector15
.ref _c_int00 ;entry address
VEC_ENTRY .macro addr ;macro for ISR
STW B0,*--B15
MVKL addr,B0
MVKH addr,B0
B B0
LDW *B15++,B0
NOP 2
NOP
NOP
.endm
_vec_dummy:
B B3
NOP 5
.sect ".vectors" ;aligned IST section
.align 1024
_vectors:
_vector0: VEC_ENTRY _c_int00 ;RESET
_vector1: VEC_ENTRY _vec_dummy ;NMI
_vector2: VEC_ENTRY _vec_dummy ;RSVD
_vector3: VEC_ENTRY _vec_dummy
_vector4: VEC_ENTRY _c_int04 ;ISR address
_vector5: VEC_ENTRY _vec_dummy
_vector6: VEC_ENTRY _vec_dummy
_vector7: VEC_ENTRY _vec_dummy
_vector8: VEC_ENTRY _vec_dummy
_vector9: VEC_ENTRY _vec_dummy
_vector10: VEC_ENTRY _vec_dummy
_vector11: VEC_ENTRY _c_int11 ;ISR address
_vector12: VEC_ENTRY _vec_dummy
_vector13: VEC_ENTRY _vec_dummy
_vector14: VEC_ENTRY _vec_dummy
_vector15: VEC_ENTRY _vec_dummy