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.

TMS320F28335 illegal isr

Other Parts Discussed in Thread: TMS320F28335

Hi,

I developed a program and tested  with eZDSP28335 kit which worked as expected, later a custom board with TMS320F28335 was designed, the same program was loaded but after few seconds it is going to illegal isr (or any one of the trap) I couldn't figure out the reason. Do any one have any idea what could be the reason?

In project properties I changed the device information when changing the board other than that no change was made.

XDS100V2 emulater used in both the cases. 

I tested some of the example program available from control suite, the response is same the program is working fine in eZDSP kit but going to illegal isr (or any one of the trap) in the custom board.

  • Hi,

    Can you give us more details as in this thread: e2e.ti.com/.../104980

    Also, check these threads:
    e2e.ti.com/.../274190
    processors.wiki.ti.com/.../Interrupt_FAQ_for_C2000

    Regards,
    Gautam
  • When running from flash the program always goes to illegal isr while executing
    DELAY_US(ADC_usDELAY);
    which is called in InitAdc(void) function,
    but while running from RAM its going to illegal isr randomly every time illegal isr happens at different instruction.
    Is there any possibility for illegal isr or trap to occur due to bad layout of the board, because the same program is working fine in eZDSP kit, or should any other setting to be changed while changing the board?
    Thanks for your support.

    Pragathees
  • Try increasing your stack. You can also check your current stack in memory browser.
  • Hi Gautam
    The stack is increased from 0x300 to 0x400 then 0x1000 still no improvement, how to confirm that this is due to stack overflow? Is there any other possibility for this to happen?
  • Pragatheeswaran Chandrasekaran said:
    how to confirm that this is due to stack overflow?

    By checking the stack memory in memory browser.

  • if the code works on one platform but not your new board, you may want to check the hardware with your hw engineer to see if some pins may be floating or subject to external interference. disable all unused isrs and make sure your power is stable, reset pins are sufficiently held by by pass capacitors.
  • Pragatheeswaran,

    Between the 2 Hardware
    1. Are you using the same boot mode configuration?
    2. Is there any external stimulus that different - like the External Interruputs, Tripzones etc.
    3. Is clocking (external Oscillator), SYSCLK frequency the same?
    4. Is watch dog firing?

    -Bharathi
  • Leong,
    The list of pins and connections were given below,
    TRST - pull down using 4.99k (2.2k recommended in datasheet)
    EMU0/1 - pull up using 4.99k (2.2k - 4.7k recommended in datasheet)
    XCLKIN - grounded (used crystal)
    XCLKOUT - connected to a test point
    X1/2 - connected with crystal and C1/C2
    XRS - has by pass cap
    ADCLO - grounded
    ADCRESEXT - grounded using 20k (22k recommended in datasheet)
    ADCREFIN - grounded
    ADCREFP - 2.2uF electrolytic (2.2uF Low ESR ceramic recommended in datasheet)
    ADCREFM - 2.2uF electrolytic (2.2uF Low ESR ceramic recommended in datasheet)
    XRD - connected to a connector (floating as of now)
    All power pins are properly connected to respective power/ground signals
    All ADC inputs are connected to signal conditioning circuit which gives 0-3.3V (protection included)
    Few gpios were connected to buffer circuit and rest are not connected
    Is there anything wrong with this?
  • Bharathi,
    1. Yes the boot mode are the same
    2. No external/tripzone interrupt used in both the cases
    3. SYSCLK is same but ezdsp uses external oscillator but this board uses crystal
    4. Watch dog disabled in both the cases

    I tested with few of the program given in control suite also all are working in ezdsp board but ending up in illegal isr in the new board, but some times illegal isr happens after few (10- 20) seconds (during cold start and PWM out put are proper as like ezdsp board) later it happens immediately (within 1 sec).
  • Pragatheeswaran,

    Difficult to make a guess since the issue seems to be specific to the hardware used -
    Clock source seems to be different, so did you monitor the clock? Is there any clock fail occurring?
    You also mentioned earlier that it's the same code you are running across 2 different h/w, I can only suggest to look at all external connectivity and any differences in the interfaces.

    -Bharathi.
  • Bharathi,
    I did an experiment, I removed the crystal and caps, connected the output of oscillator from eZDSP board to XCLKIN of custom board using a short wire, the response is same, program goes to illegal isr so I hope the clock is not a problem.

    I couldn't check missing clock coz the clock freq is 150MHz the DSO is not able to measure such high freq, so i did such experiment.
    Is it correct to take a 30MHz signal via wire? Whether the conclusion is correct or the experiment is wrong? need suggestions.
    ADCRESEXT - ADC External Current Bias Resistor 20k is connected instead of 22k which is recommended in datasheet does it cause any problem?