FAQs for eTPU Debugger


The embedded tools company

Search FAQs



PDF document ( 31KB / 17-May-2017 )


TOP

Halt eTPU when e200 halts without using eTPU debugger (eTPU)

Ref: 0420
Can I halt and start the eTPU synchronized to the e200 core, without using the eTPU debugger?

When the eTPU debugger is used, synchronized debugging is enabled using the command TrOnchip.CBI ON in the eTPU debugger.

Without eTPU debugger, run control can be synchronized to the e200 core by enabling DC[DBE] and DC[CBI] in the NDEDI block. The DC register is accessible through the NEXUS.Register window of the e200 debugger.
Commands for MPC55XX, MPC56XX, SPC56X and MPC5777C:
PER.Set DBG:0x02120202 %Long 0x00006000 ; eTPU_A
PER.Set DBG:0x02120302 %Long 0x00006000 ; eTPU_B
PER.Set DBG:0x02160A02 %Long 0x00006000 ; eTPU_C
Commands for MPC5746R
PER.Set DBG:0x02300202 %Long 0x00006000 ; eTPU_A
PER.Set DBG:0x02300302 %Long 0x00006000 ; eTPU_B


TOP

View channel base relative variables (eTPU)

Ref: 0362
Some variables can not be displayed with run-time memory access (i.e. while the eTPU is running), even if the variable is declared static. How can this variables displayed?

eTPU variables can be bound to a context, i.e. even static sariables can have an address which is relative to the channel base address. While the eTPU runs, the current context can not be determined, so the debugger can not display these variables.
There are three ways to configure the debugger to displays those types of variable:
  • Generate static copies of the variables for each channel.
    • There is a ready-to-use script available in the folder demo\etpu\etc\channelvars.
    • Please refer to readme.txt in the same folder for instructions.

  • 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





Copyright © 2017 Lauterbach GmbH, Altlaufstr.40, D-85635 Höhenkirchen-Siegertsbrunn, Germany  Impressum
The information presented is intended to give overview information only.
Changes and technical enhancements or modifications can be made without notice. Report Errors
Last generated/modified: 24-May-2017