Notes on using USB TAP probe

The following topics provide information specific to USB TAP probe operation:

Also refer to the debugger documentation to become familiar with the system operation.

Run/Pause/Mixed mode states

When the host debugger is connected to the target via the USB TAP probe, the probe is always in one of these states (modes): run,pause or mixed mode. The Run/Pause LED on the probe will indicate the mode.

  • Run mode - in this mode, all target system processor cores execute the target code. The Run/Pause LED will be green.
  • Pause mode - in this mode, all target system processor cores have stopped executing the target code. The Run/Pause LED will be red.
  • Mixed mode - in this mode, some target system processor cores are in run mode and others are in pause mode. The Run/Pause LED will be orange.

Breakpoints in exception/interrupt handlers

Care must be taken when setting breakpoints in exception handler code. A typical exception consists of a preamble that saves processor context, the actual exception handler, and then a postamble that restores processor context. You can use software breakpoints in the actual exception handler code, but not in the preamble or postamble where the processor context is changing.

Note: For Embedded Power Architecture processors, placing the CPU into debug mode is just another interrupt. For example: your code is in an interrupt epilogue and has just placed the return address into SRR0 when a breakpoint occurs. The breakpoint causes the IP for the address of the breakpoint to be written to SRR0, destroying your original return address. Stepping through code which accesses SRR0 and SRR1 exhibits the same problem.

To avoid this problem, always set your breakpoints before or after code which accesses SRR0 and SRR1, and never step through such code. For example, you can set your breakpoint anywhere after the interrupt prologue, but before the epilogue.

Instructions that involve the SRR0 and SRR1 registers are "MTSPR SRR0/1,Rx" "MFSPR Rx,SRR0/1," and "RFI."

Connecting to multiple USB TAP probes

You can connect to multiple USB TAP probes from one host computer in the CodeWarrior IDE, however, procedures may differ for each CodeWarrior IDE variant.

  • For CodeWarrior tools that support creating multiple USB TAP probe connections in the IDE, simply define the connections, entering the unique probe serial number for each device. The IDE will manage the CCS sessions.
  • For CodeWarrior tools that do not support creating multiple USB TAP probe connections in the IDE, create a CCS Remote Connection for each, using unique port numbers. Then for each device, start the CCS Console and configure the connection, specifying the probe serial number. Tools that support creation of only one USB TAP probe connection within the IDE will not provide an option for entering the device serial number.
    Tip: If the CodeWarrior IDE variant requires using separate CCS sessions to connect to each USB TAP probe, and you would like the setup steps to run automatically when you launch the debugger, edit the \ccs\bin\ccs.cfg file with the new commands.
    Tip: If you are using a USB hub to connect the USB TAP probe to the host computer, be sure to use a powered hub.
    Tip: To set up the debug connection, you will need to know the 8-digit USB TAP probe serial number, located on a label on the bottom of the device.