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.

TMS320F28379D: running ISR on cpu2

Part Number: TMS320F28379D

Good morning,

I am having trouble getting my ISR working on cpu2. The interrupt is from a shared peripheral and works on cpu1. The ISR is as follows:

interrupt void MyPWM1_ISR_2(void)

{

   EINT;

   my_interrupt_counter++;

 

 

   //EPwm1Regs.ETCLR.bit.INT = 1;

   //PieCtrlRegs.PIEACK.all   = PIEACK_GROUP3;

}

 

As long as the last two lines are not executed, the ISR executes once and not again and there are no error messages and the program on cpu2 runs normally. Executing the last two statements, I get the following error message:

 

Trouble Reading Register PC:

(Error -1142 @ 0x0)

Device blocked debug access because it is currently executing non-debuggable code. Choose 'Rude Retry' to disable polite mode and force the operation.

(Emulation package 8.0.903.6)

 

Choosing 'Rude Retry’ results in same error message.

The exact same ISR executes perfectly on cpu1.

 

Thanks

 

 

 

 

  • We are looking into it and will get back to you in 1 or 2 days.
  • Sorry for late reply.

     As long as the last two lines are not executed, the ISR executes once and not again and there are no error messages and the program on cpu2 runs normally. Executing the last two statements, I get the following error message:

    Last two lines need to be executed to enable next interrupt from EPWM and on same PIE group. So that is expected. 

    On the other error, are you running in real time mode ? 

    Regards,

    Vivek Singh

  • Vivek,

    Thanks for your response.  The delay was not a problem.  I was diverted in any case.

    What I was trying to do is to trigger two ISRS with the same interrupt; one on cpu1 and one on cpu2.  I thought that this should be straight forward since the cpus have independent PIE tables and shared peripheral interrupts are seen by both processors. Yes I was running in real time mode.

    Not knowing what else to do, I imported another cpu2 example program that already had an interrupt and that made it work.  Not totally sure what I am doing here.  I suspect it was a configuration problem with my original cpu2 program but I don't know what the difference would be.  I am still doing more cutting and pasting as opposed to programming.

    Thanks,

    Imre

     

  • Glad to know you got it working. Will close this post and if you have any further queries, please start a new post.