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: program hangs with certain lot code. Remove ADC initialization or adding a variable declaration fixes it. Change in the DSP?

Part Number: TMS320F28335


Hello,

I have several boards that are using TMS320F28335 with lot code of CA-68C9LHW and CA-68C9LJW where the program will hang.

The same code runs fine in different lot code (CA-0A..., CA-3A..., CA-88...).

After some investigation, I found that if I comment out the call to AdcInit the code continues to run.  

If I declare a variable, the code will also run (with AdcInit present).  Very strange...

This was consistent in the 4 boards I get back, and they all have the same year and month lot code (2006 or 2016?, August).

Is there something different about that batch of DSPs?

Thank you.

  • Stefani,

    I am not aware of anything unique for that lot code. Can you confirm the other lot trace codes? The Y/M numbers don't look right to me.

    -Tommy
  • Tommy,

    Thank you for responding to my post.
    The other lot code (the working ones) are 0AA3QQW and 8BA5Y4W (not 88...). They are all CA-

    Does 68... means 2006 or 2016?
  • Stefani,

    The 6 can refer to either 2006 or 2016. For your original codes, I see that it was manufactured in 2016. I can't seem to find information about the codes from your working boards.

    Do you have an estimate for how many of the newer devices are giving you trouble? For example, 5/50 or 90/100?

    What happens when the program hangs? Does CCS disconnect? Are you able to recover without a power-down?

    Can you single-step into your AdcInit() call to see what line of code is causing the problem? Can you check the Program Counter while doing this to see if the CPU might be executing instructions near the boundary of valid memory?

    -Tommy
  • Tommy,

    Sorry, I was pulled to another project the past two days and just now finally able to come back to this.

    About the lot codes of good boards, that is interesting.  I found one more good board,  CA-68C9LHW.  2016 August but different lot?

    One other thing I found was that the power supply had too low of a current limit.  Increasing the current limit salvages one of the boards, but two of them are still not working with the "release" code.  One other boards is not accessible to me at the moment.  So I have 2 bad boards and 1 good board now.

    I tried to find out how many of the newer devices, with lot code of 68... have problems or how many we have but I cannot get that information.

    So now when I am in debug mode, after I run it and it hangs (we have LEDs on the board and one of them should blink, it does not in the case of bad boards), I stop it.  After stopping it (stops at a valid code, not AdcInit, and before AdcInit is called, so I cannot single step in AdcInit), I single step, and what I got is this:

    Can't Single Step Target Program:
    Error 0x00000020/-1041
    Error during: Execution,
    Device driver: Problem with the Emulation Controller.
    It is recommended to RESET EMULATOR. This will disconnect each
    target from the emulator. The targets should then be power cycled
    or hard reset followed by an emureset and reconnect to each target.

    If I select Cancel, I get this:

    Error:

    Error 0x00001020/-1135
    Error during: Execution, Target,
    Unrecoverable emulation error

    I tried it one more time by commenting the call to AdcInit function and it is working (LED blinking).

    The AdcInit is just setting up the AdcRegs.  

    Thank you.

  • Stefani,

    Your three CA-68x devices all came from the same batch.

    It sounds like you may have an asynchronous event that is interfering with operation.

    Can you check the input clock, supply levels, and XRSn to make sure that they are stable?

    You may also want to check PLLSTS[MCLKSTS] and WDCR[WDFLAG] to see if one of these modules may have encountered an error condition.

    -Tommy