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.

TMS320F280023C: C2000 microcontrollers forum

Part Number: TMS320F280023C


Hello,

I'd like to understand what is going on in this expressions watch window:

It seems to happen randomly.

Whenever I see this, the microcontroller does not seem to respond to anything, but I can see some data coming in (the watch window in the above screenshot is in continuous refresh mode).

Please let me know what this is and why it's caused.

Regards,

Vishnu

  • Hello Vishnu,

    I'm unclear as to what exactly you are referring to in the screenshot. If you are referring to the yellow highlighting, then that means that the value recently changed. if you are referring to the "DEN", that refers to a "Denormalized" value: https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/676736/ccs-tms320f28377d-does-den-mean-denormalized

    Thanks

    ki

  • Hello Ki,

    I am referring to DEN - should've mentioned that.

    I gather (DEN) shows up sometimes when a variable is supposed to be zero.

    However, the variables in my screenshot were not supposed to be zero. They all had a proper value before suddenly everything showed (DEN).

    It seems as though the microcontroller was still running because a value recently changed, as you pointed out, so I suppose we can rule out microcontroller getting disconnected temporarily.

    So I am trying to find out what could have caused this. What exactly are the circumstances under which a variable will show (DEN) in the watch window?

    Thanks and regards,

    Vishnu

  • I gather (DEN) shows up sometimes when a variable is supposed to be zero.

    Or almost zero.

    So I am trying to find out what could have caused this. What exactly are the circumstances under which a variable will show (DEN) in the watch window?

    Assuming the variables are never supposed to come close to a zero value, It is difficult to provide any insight without more details. Can you provide a reproduceable test case that I can run locally? Please try to provide a simple example that is fairly target agnostic (so that I can run on various C2000 targets) but that can reproduce the variable. I would need the full project (with source and the executable).

    Thanks

    ki

  • Hello ki,

    Unfortunately the problem doesn't seem to be easily reproducible. It happened a couple of times yesterday but not even once today. Yesterday was also the second day I've ever seen this problem in the last year.

    The firmware I was running was almost identical between yesterday and today, because the only things that changed were kp and ki values for a PI loop that I was tuning.

    I will let you know if I'm able to gather any more useful information.

    I understand this might be a tough question to answer, but I should probably ask anyway - what are the effects of this during a regular operation? If you've seen this before, was it primarily because of a microcontroller issue or a CCS issue? Not really worried if it's a one time thing caused by JTAG corruption or something, but if it's symptomatic of an issue during regular operation of the microcontroller I'll have to keep an eye on it. Do let me know if you have any insight.

    Regards,

    Vishnu

  • If you have real-time mode enabled with the expressions view set to real-time refresh, there is a chance that it could be related to the debugger forcing the driver to make 16-bit accesses for 32-bit float values. This would cause the read to occur in two stages and if the expressions view is refreshing in the middle of the two stages, you can see a result such as this. One thing to try is if you can ever reproduce the issue in the view when the target is halted. If not, then the issue may be due to the multi-read scenario.