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.

Why do I get "execution state prevented access" in the Watch view while debugging

Other Parts Discussed in Thread: TMS320F2808

When my target is running, I can not get updates to the Watch window and instead get "execution state prevented access".  When the target stops, all is updated correctly.

My Setup:

CCSv4 (Code Composer Studio Core Edition,  Version: 4.0.1.01001)

Code Generation tools version: 5.2.1

Target: Resonate DC Converter Kit (LLC) (TMDSRESDCKIT); TMS320F2808

Source Code: As distributed by TI for the development kit (CCS3.3) and imported into CCS4.

 

Regards,

Matthew

  • Hi Matthew,

    did you have a look at the release notes for CCSV4.x (http://www.tiexpressdsp.com/index.php/Release_Notes_CCSv4)? Maybe this is an issue which still needs to be fixed.

    aBUGSworstnightmare

  • Hi,

      Yes, I searched the release notes, the Wiki, and google before I posted, but no joy.  I tried several phrases in my search.  Always happy to be set straight if I missed something.  If anyone sees this as an existing bug, please post a link to the details.

    Regards,

    Matthew

  • ... I should add that I have been thru (tried all combinations) of the Realtime options (Tools, Debugger Options, Realtime Options), but no joy there either.

    Regards,

    Matthew

  • Matthew,

    By default, CCS 4 won't halt the target to perform an access.  There is an option to always halt the target to perform an access, and on the 28xx there's also realtime mode which will let you perform an access without halting. 

    But it sounds like you've tried this.  Is the target running or free running as realtime mode accesses will only work on a functional run.  Additionally, if the variable you are trying to view is a local, or a file static, it also won't work. 

    If it's a local variable, the time it would take to read the PC (and perhaps SP) to determine what the scope is and where the variable is stored means that by the time the actual access would be made, the target likely would have long since finished executing that function.  As such, you can't view local variables (although if you know that the local is always stored in a set area, you could add an expression to read that location).  Likewise, the time it would take to read the PC to determine which file has the scope means that by the time the access is made the target may be in another file.  However, file static variables can be accessed using the syntax 'filename.cpp'::identifier (note the quotes).

    Darian

  • One thing to add is that enabling the option 'Halt the target before any debug access' does not take into effect until you restart a new debug session. The option is under CCS->Debug->Debugger Option->Generic (under the heading Realtime Option).

    So if you are playing around with these options, but did not restart the debug session each time, you may miss it.

    Raj

  • Darian,

      Thanks for the post and sorry it took me until today to get back to this.  Target is running realtime and scope of variable is global.  I have found the issue - the TI debugger needed to be restarted as changes to the debugger configuration (ex Target - Realtime Options - Halt the target before any debugger access) does nothing until you restart.  I should have figured this would be the case.

    Matthew

  • Raj,

      Thanks - you are correct - this is where I was going wrong - debugger needed to be restarted.  All is OK now - thanks.

    Matthew