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.

TMS320F DSP Lockup Issue

Other Parts Discussed in Thread: TMS320F28335

All,

I am having an issue with my processor in which it vectors to the following location:

void ILLEGAL_ISR(void)                                                                                                 // 0x000D26  ILLEGAL - illegal operation trap

{

// Next two lines for debug only - remove after inserting your ISR

                asm (" ESTOP0");                                                                                                              // Emulator Halt instruction

                while(1);

}

 

I am running TI Bios version 5.33.02 under code composer V 3.3.

I have looked at all the posts related to these kinds of issues and understand that these issurs are normally related to some sort of stack overflow, memory and or pointer problem. However after the processor crashes, I have manually reviewed all of the memory associated (several times) and do not see any corruption happening. Can anyone help here?

  • Guido,

    The causes of an ILLEGAL interrupt are listed on page 3-22 of the C28x CPU User's Guide (search for literature reference "spru430e" on the TI web page). These are:

     

     

     

     - An invalid instruction is decoded (this includes invalid addressing modes).

     

     

     

     - The opcode value 000016 is decoded. This opcode corresponds to the ITRAP0 instruction.

     

     

     

     - The opcode value FFFF16 is decoded. This opcode corresponds to the ITRAP1 instruction.

     

     

     

     - A 32-bit operation attempts to use the @SP register addressing mode.

     

     

     

     - Address mode setting AMODE=1 and PAGE0=1

    Check the contents of the PIEACK register after the crash. You should see 0x0D27 - indicating the jump to the ISR was correctly made from the PIE vector table.

    Look for glitches or spikes on the power rail of the processor too. If the power supply is out of tolerance, even briefly, the program counter might be corrupted resulting in an opcode fetch from a reserved memory range or from un-programmed flash.

    One more thing - what processor are you using? If it's an FPU device I recall a bug fix in BIOS v5.33.03 to correct an issue which occasionally caused an illegal interrupt on the floating-point core. If this is the case, it might be worth upgrading to BIOS v5.33.03 or later.

    Hope this helps.

    Best regards,

    Richard

  • Thank you so much for the quick reply. I am using an FPU device (TMS320F28335) and am in process of updating the bios!! Hope it works, will post if it does.

  • So updating the BIOS did not work. Here is some more information:

    I am using the processor's UART in full duplex mode, seems like when an interupt happens simulataneously on the RX and TX is when the processor hangs. I wouldnt think that this would cause the processor to completely hang, I would think it would simply degrad performance for a short time. Can anyone help please?