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.

TMDSDSK6713: interrupt function(ISR) of DSK6713 not work in CCS v7

Part Number: TMDSDSK6713
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

  • Hello,

    I assume you migrated the original CCSv3.3 project to CCSv7 and built it from there. The issue is likely differences in the version of the build tools (compiler, bios, etc). If that is the case, you may want to try staying with CCSv3.3. It is possible to use it with Windows 10: 

    https://software-dl.ti.com/ccs/esd/documents/ccs_ccs33-windows10.html

    Thanks

    ki

  • Hello Ki sir,

    But, Currently i am using CCS v7. And i want to test GPIO interrupt but it not work so i doubted on CCS version difference. And yes i also try it ccs v3 as per your link but its just simulator. I didn't want use CCS v3.3 because it is outdated.

    Finally, my main concern is "Why my interrupt function not work?". My code is as per above.

    SYSTEM SPECIFICATION

    OS: Windows 10, CCS: v7.4.0, Compiler: TI c7.4.24, BIOS: v5.42.02.10

    Can you give idea about where is the problem? at programming level? CCS version difference?, vectors_intr file problem? or any other.

    Sir, Can you help me please? i am waiting for your answer.

    Thanks in advance

    Hasmukh N.

  • And yes i also try it ccs v3 as per your link but its just simulator. I didn't want use CCS v3.3 because it is outdated.

    CCSv3 also supports hardware targets. But I understand your concern regarding using unsupported versions of tools.

    Finally, my main concern is "Why my interrupt function not work?". My code is as per above.

    SYSTEM SPECIFICATION

    OS: Windows 10, CCS: v7.4.0, Compiler: TI c7.4.24, BIOS: v5.42.02.10

    Can you give idea about where is the problem? at programming level? CCS version difference?, vectors_intr file problem? or any other.

    Sir, Can you help me please? i am waiting for your answer.

    I will not be able to help much as it is beyond my area of expertise. It will require some deep debugging on your part. My only suggestion is to use the same versions (or close as possible) of the build tools and foundational software that was used in the working environment. That would include the compiler version (which you can use with CCSv7). BIOS will be tricky because CCSv7 will only support BIOS v5.4x and CCSv3 never supported that version.

    Otherwise, I will bring this thread to the device experts. However, note that you are using an unsupported device/DSK in addition to unsupported or deprecated versions of the build tools. It is likely that we will only be able to provide limited support at best.

    ki 

  • Hi sir,  

    I got solution now, i forgot to define below two function. 

    extern far void vectors();

     IRQ_setVecs(vectors);

    But i don't known how these two function work?  and which library define these function? i mean CSL & BSL or other?

    Because  "extern far void vectors();" this function not define in any CSL libary. 

     Thanks in advance

    Hasmukh N.

     

  • Hello Hasmukh,

    As Ki said, TMS320C6713B has very limited design support:
    https://www.ti.com/product/TMS320C6713B

    This is an older part. Our team no longer has any software or hardware expertise with this part. You can find the resources that exist on the product page. The DSP/BIOS software download is at https://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/bios/dspbios/index.html 

    I do not have any experience with this software release. Assuming the library source code is included in the DSP/BIOS release or in the CCS release (and not just packaged as a prebuilt binary), I would expect that you could go to the top level directory of the DSP/BIOS software or the CCS installation and "grep -r vectors" if you are running Linux. findstr might provide similar recursive search functionality for Windows, I have not tried it myself.

    Regards,

    Nick

  • Hii  Nick Saulnier, 

    I know the part is older one, but is there in reference who can help me?  or any contact which can resolve my concern.

    And i notice some of the links was "GONE" on website. Because some of the reference available in these links. 

    The DSP/BIOS software download is at https://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/bios/dspbios/index.html 

    In above link only BIOS available not other resource related to DSK6713(TMS320C6713B). 

     

    Thanks in advance

    Hasmukh N.

  • Hello Hasmukh,

    I am not aware of any references for TMS320C6713B outside of the pages I listed above. But that does not mean there are no references, it just means I do not know about them if they exist. And if you do find any references, it means I will not be able to help with debugging or understanding them. Another place you can check is the e2e forums. I like to use a google site search, like "site:e2e.ti.com TMS320C6713B interrupt".

    The DSP/BIOS software download should apply to C6713 devices. Check the Release Notes for the download you are looking at, it should say if 6713 is supported in that release.

    If the DSP/BIOS software links to a processors wiki page, that link will be broken since the Processors wiki was taken offline in early 2021. If you need access to a specific wiki page, let me know and I can look for it in the archives.

    Regards,

    Nick

  • Hello Nick Saulnier, 

    https://processors.wiki.ti.com/index.php 

    https://processors.wiki.ti.com/index.php/C6713DSK_in_CCSv5

    http://c6000.spectrumdigital.com/dsk6713/

    http://c6000.spectrumdigital.com/dsk6713/revc/

    If you need access to a specific wiki page, let me know and I can look for it in the archives.

    Right now i got above websites which are not available. Please try to help.

    And other websites i send you later.

    Thanks in advance

    Hasmukh N.

  • Hello Hasmukh,

    TI does not own http://c6000.spectrumdigital.com, so I have no access to those pages. I assume the information on those pages is permanently lost.

    The top-level wiki page does not have any useful information, so I am just attaching the other wiki page you requested. Note that the link to the board support files from Spectrum digital is broken. Maybe the linked e2e page in the wiki page will have helpful resources.

    C6713DSK in CCSv5_files.zip

    Regards,

    Nick