|
eTPU variables - even static variables - can have an address which is relative to the channel base address. That means that on the eTPU, even static variables can be context-bound. While the eTPU runs, the current context can not be determined, so the debugger can not display these variables.
There are two ways to configure the debugger to displays those types of variable:
- Casting "trick":
- Stop inside a function where this variable is used
- Show the address of that variable in a window "Variable.View %e &event_ref_count"
- Right click on the address and select "Show Constant" from the pulldown
- This will open another window that shows the same variable as typecast from a fixed address (which will remain valid even when the core runs)
- Register.GOTO command:
- Select the scope AND channel base with Register.GOTO, e.g. "Register.GOTO My_eTPU_FUNC <CHBASE>".
- The second parameter is the value of CHBASE for the channel in which you expect the code to run.
It is possible to use the "host" memory access class (H:) to extract this information from the PowerPC side.
- Show the local variable with "Variable.View %e event_ref_count"
- Note: Stopping the core will revert to "normal" display of variables
|