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.

TMS320F28035: PIE interrupt funtion name need change?

Part Number: TMS320F28035
Other Parts Discussed in Thread: CONTROLSUITE

I use ccs3.3 with dsp/bios 5.41.2.14, and some PIE interrupts used in my project, the question confuses me is that I could not use the default pie interrupt function name, 

i need to change the name, or the system collapses when power on. Take ADCINT1_ISR() for example.

In the .tcf PIE_INT1_1 configuration, the function is _ADCINT1_ISR, and "use dispatcher" is selected, in the DSP2803x_DefaultIsr.c, the function is like this:

void ADCINT1_ISR(void)

{

...............

}

Then build the project and program the flash, when power on, the system runs totally abnormally.

But if I change the funciton name in .tcf and DSP2803x_DefaultIsr.c, for example, change to ADCINT1_ISR0, then the system runs smoothly.

  • You don't need to use the underscore '_' for the HWI functon.
  • But if I detele the prefix ' _ ' in the HWI function, build error.
  • Sorry, I'm a little confused. Can you list the .tcf and source code for working and not working? Your last post seems to contradicts the first post.
  • please see the attached files, thank you.https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/171/working.7zhttps://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/171/NOT-working.7z

  • In the non-working case, can you look at the mapfile? Is it pulling in ADCINT2_ISR from ControlSuite?
  • Yes, map file can be seen, the project build process have no problem. what is the mean of "Is it pulling in ADCINT2_ISR from ControlSuite?"

    Thank you.

  • I've placed ADCINT2_ISR0 in tsk.c. When I look in the mapfile I see this

    .text 0 0000962c 000000d0
    0000962c 00000028 tsk.obj (.text)

    ...
    0 0000962c _ADCINT2_ISR0

    So I know that I'm supplying the function.

    Are you using ControlSuite also? It has a ADCINT2_ISR function (which does nothing). When you are building are you using that function? You can look in the mapfile to see what source file the function came from.

    Todd

  • In my project ADCINT2_ISR is placed in DSP2803x_DefaultIsr.c, the map file:

    .text      0    003e85b3    00003555    
                      003e85b3    00000a26     ........obj (.text)
                      003e8fd9    00000793     ..........obj (.text)
                      003e976c    000005a8    ...........obj (.text)
                      003e9d14    0000052c    ............obj (.text)
                      003ea240    000004d9     ............obj (.text)
                      003ea719    000003dd     .............obj (.text)
                      003eaaf6    000003ae     DSP2803x_DefaultIsr.obj (.text)
                      003eaea4    00000317     ............obj (.text)

    003eab5a   _ADCINT2_ISR

    seems no fault found in map file.

    DSP2803x_DefaultIsr.c come from ControlSuite, I only made some modifications,

    for ADCINT2_ISR, only remove the interrupt key word, and insert my code:

    void ADCINT2_ISR(void)

    {

      PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; 

     AdcRegs.ADCINTFLGCLR.bit.ADCINT2 = 1;

     Adc_Calc(); 

    }

  • Where did you change the ADCINT2_ISR code? In ControlSuite or do you have it in a different file. Can you set a breakpoint in the ADCINT2_ISR function? Do not open any files though. Instead, open the disassembly window in CCS and enter ADCINT2_ISR into it. Then set a breakpoint on the first asm instruction. Run. What file is opened when the breakpoint is hit. Does the assembly match the C file?

    Todd