ppc600 family debugger - lauterbach · ppc600 family debugger 6 ©1989-2019 lauterbach gmbh warning...

87
PPC600 Family Debugger 1 ©1989-2019 Lauterbach GmbH PPC600 Family Debugger TRACE32 Online Help TRACE32 Directory TRACE32 Index TRACE32 Documents ...................................................................................................................... ICD In-Circuit Debugger ................................................................................................................ Processor Architecture Manuals .............................................................................................. PQII, MPC5200, MPC603/7xx, MPC74xx ................................................................................ PPC600 Family Debugger .................................................................................................... 1 Introduction ....................................................................................................................... 5 Brief Overview of Documents for New Users 5 Warning .............................................................................................................................. 6 Signal Level 6 ESD Protection 6 Target Design Requirement/Recommendations ............................................................ 7 General 7 Quick Start ......................................................................................................................... 8 Troubleshooting ................................................................................................................ 10 Problems with Memory Access 11 FAQ 12 Configuration ..................................................................................................................... 28 System Overview 28 PowerPC 600 Family Specific Implementations ............................................................. 29 Breakpoints 29 Software Breakpoints 29 Software Breakpoint Handling 30 On-chip Breakpoints 32 Software Breakpoints in Interrupt Handlers 33 Breakpoints in FLASH/ROM 33 Breakpoints on Physical or Virtual Addresses 33 Examples for Breakpoints 34 Software Breakpoints 34 On-chip Program Address Breakpoints 34 On-chip Data Address Breakpoints 34 Access Classes 35 Access Classes to Memory and Memory Mapped Resources 35

Upload: others

Post on 17-Apr-2020

21 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

PPC600 Family Debugger

TRACE32 Online Help

TRACE32 Directory

TRACE32 Index

TRACE32 Documents ......................................................................................................................

ICD In-Circuit Debugger ................................................................................................................

Processor Architecture Manuals ..............................................................................................

PQII, MPC5200, MPC603/7xx, MPC74xx ................................................................................

PPC600 Family Debugger .................................................................................................... 1

Introduction ....................................................................................................................... 5

Brief Overview of Documents for New Users 5

Warning .............................................................................................................................. 6

Signal Level 6

ESD Protection 6

Target Design Requirement/Recommendations ............................................................ 7

General 7

Quick Start ......................................................................................................................... 8

Troubleshooting ................................................................................................................ 10

Problems with Memory Access 11

FAQ 12

Configuration ..................................................................................................................... 28

System Overview 28

PowerPC 600 Family Specific Implementations ............................................................. 29

Breakpoints 29

Software Breakpoints 29

Software Breakpoint Handling 30

On-chip Breakpoints 32

Software Breakpoints in Interrupt Handlers 33

Breakpoints in FLASH/ROM 33

Breakpoints on Physical or Virtual Addresses 33

Examples for Breakpoints 34

Software Breakpoints 34

On-chip Program Address Breakpoints 34

On-chip Data Address Breakpoints 34

Access Classes 35

Access Classes to Memory and Memory Mapped Resources 35

PPC600 Family Debugger 1 ©1989-2019 Lauterbach GmbH

Page 2: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

Access Classes to Other Addressable Core and Peripheral Resources 36

Cache 36

Memory Coherency 36

MESI States 37

Little Endian Operation 38

CPU specific SYStem Commands ................................................................................... 39

SYStem.BdmClock Set JTAG frequency 39

SYStem.CPU Select the CPU type 39

SYStem.CpuAccess Run-time memory access (intrusive) 40

SYStem.LOCK Lock and tristate the debug port 40

SYStem.MemAccess Real-time memory access (non-intrusive) 41

SYStem.Mode Select operation mode 42

SYStem.CONFIG.state Display target configuration 43

SYStem.CONFIG Configure debugger according to target topology 44

Daisy-Chain Example 46

TapStates 47

SYStem.CONFIG.CORE Assign core to TRACE32 instance 48

CPU specific System Commands .................................................................................... 49

SYStem.Option BASE Set base address for on-chip peripherals 49

SYStem.Option BUS32 Use 32-Bit data-bus mode 50

SYStem.Option CONFIG Select RCW configuration 50

SYStem.Option DCREAD Read from data cache 51

SYStem.Option DUALPORT Implicitly use run-time memory access 51

SYStem.Option FREEZE Freeze timebase when core halted 52

SYStem.Option HOOK Compare PC to hook address 52

SYStem.Option HRCWOVerRide Override HRCW on SYStem.Up 53

SYStem.Option ICFLUSH Invalidate instruction cache before go/step 53

SYStem.Option ICREAD Read from instruction cache 54

SYStem.Option IMASKASM Disable interrupts while single stepping 54

SYStem.Option IMASKHLL Disable interrupts while HLL single stepping 54

SYStem.Option IP Set MSR_IP value for breakpoints / SYStem.Up 55

SYStem.Option LittleEnd True little endian mode 55

SYStem.Option MemProtect Enable memory access safeguard 55

SYStem.Option MemSpeed Configure memory access timing 56

SYStem.Option MMUSPACES Separate address spaces by space IDs 56

SYStem.Option NoDebugStop Disable JTAG stop on debug events 57

SYStem.Option NOTRAP Use alternative software breakpoint instruction 58

SYStem.Option OVERLAY Enable overlay support 59

SYStem.Option PARITY Generate parity on memory access 59

SYStem.Option PINTDebug Program interrupt debugging 60

SYStem.Option PPCLittleEnd PPC little endian mode 60

SYStem.Option PTE Evaluate PTE table for address translation 61

SYStem.Option RESetBehavior Set behavior when target reset detected 61

PPC600 Family Debugger 2 ©1989-2019 Lauterbach GmbH

Page 3: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

SYStem.Option ResetMode Select reset mode for SYStem.Up 62

SYStem.Option SLOWRESET Relaxed reset timing 62

SYStem.Option STEPSOFT Use alternative method for ASM single step 63

SYStem.Option WATCHDOG Leave software watchdog enabled 64

CPU specific MMU Commands ........................................................................................ 65

MMU.DUMP Page wise display of MMU translation table 65

MMU.List Compact display of MMU translation table 67

MMU.SCAN Load MMU table from CPU 68

MMU.Set Write MMU TLB entries to CPU 69

CPU specific BenchMarkCounter Commands ................................................................ 70

BMC.FREEZE Freeze counters while core halted 70

BMC.<counter>.SIZE No function 70

CPU specific TrOnchip Commands ................................................................................. 71

TrOnchip.DISable Disable debug register control 71

TrOnchip.ENable Enable debug register control 71

TrOnchip.CONVert Adjust range breakpoint in on-chip resource 71

TrOnchip.VarCONVert Adjust complex breakpoint in on-chip resource 72

TrOnchip.RESet Reset on-chip trigger settings 72

TrOnchip.state Display on-chip trigger window 72

TrOnchip.TEnable Set filter for the trace 72

TrOnchip.TOFF Switch the sampling to the trace to OFF 73

TrOnchip.TON Switch the sampling to the trace to “ON” 73

TrOnchip.TTrigger Set a trigger for the trace 73

Mechanical Description .................................................................................................... 74

JTAG/COP Connector PPC603e/700/MPC8200 74

Technical Data ................................................................................................................... 75

Operation Voltage 75

Support ............................................................................................................................... 76

Available Tools 76

Compilers 78

Target Operating Systems 80

3rd-Party Tool Integrations 82

Products ............................................................................................................................. 84

Product Information 84

Order Information 86

PPC600 Family Debugger 3 ©1989-2019 Lauterbach GmbH

Page 4: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

PPC600 Family Debugger

Version 06-Nov-2019

B::Data.Listaddr/line code label mnemonic commentP:FFF021C0 39400000 li r10,0P:FFF021C4 915F0018 stw r10,18(r31)

567 for ( i = 0 ; i <= SIZE ; flags[ i++ ] = TRUE ) ;P:FFF021C8 39200000 li r9,0 ; i,0P:FFF021CC 2C890012 cmpwi cr1,r9,12 ; cr1,i,18P:FFF021D0 40850008 ble cr1,0FFF021D8P:FFF021D4 4800001C b 0FFF021F0

B::Register B::PERR0 0 R8 0 EXISR 80000000 CIS pending SRIS wait SR1 0FFFFFFD8 R9 0 D0IS wait D1IS wait DR2 0 R10 0 E0IS wait E1IS wait ER3 0 R11 0R4 0 R12 0 Input Output ConfigurationR5 0 R13 0 IOCR 00000000 E0T level E1T level E2T leR6 0 R14 0 E0L negative E1L negativeR7 0 R15 0 RDM disabled TCS sysclk SSPRG0 0 SRR0 0SPRG1 0 SRR1 0 Bank 0SPRG2 0 SRR2 0 BR0 FF183FFE BAS 0FF00000 BS 1MB BU rea

PPC600 Family Debugger 4 ©1989-2019 Lauterbach GmbH

Page 5: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

Introduction

This document describes the processor specific settings and features of TRACE32-ICD for the following CPU families:

• MPC603x

• MPC51xx, MPC5200, MPC5200B

• MPC7xx, MPC74xx

• MPC82xx, MPC83xx

• MPC86xx

Please keep in mind that only the Processor Architecture Manual (the document you are reading at the moment) is CPU specific, while all other parts of the online help are generic for all CPUs supported by Lauterbach. So if there are questions related to the CPU, the Processor Architecture Manual should be your first choice.

If some of the described functions, options, signals or connections in this Processor Architecture Manual are only valid for a single CPU or for specific families, the name(s) of the family(ies) is added in brackets.

Brief Overview of Documents for New Users

Architecture-independent information:

• “Debugger Basics - Training” (training_debugger.pdf): Get familiar with the basic features of a TRACE32 debugger.

• “T32Start” (app_t32start.pdf): T32Start assists you in starting TRACE32 PowerView instances for different configurations of the debugger. T32Start is only available for Windows.

• “General Commands” (general_ref_<x>.pdf): Alphabetic list of debug commands.

Architecture-specific information:

• “Processor Architecture Manuals”: These manuals describe commands that are specific for the processor architecture supported by your debug cable. To access the manual for your processor architecture, proceed as follows:

- Choose Help menu > Processor Architecture Manual.

• “OS Awareness Manuals” (rtos_<os>.pdf): TRACE32 PowerView can be extended for operating system-aware debugging. The appropriate OS Awareness manual informs you how to enable the OS-aware debugging.

PPC600 Family Debugger 5 ©1989-2019 Lauterbach GmbH

Page 6: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

Warning

Signal Level

ESD Protection

All The debugger drives the output pins of the BDM/JTAG/COP connector with the same level as detected on the VCCS pin. If the I/O pins of the processor are 3.3 V compatible then the VCCS should be connected to 3.3 V.See also System.up errors.Supported debug voltage:Debug cable with blue ribbon cable 2.5 … 5.0 V.Debug cable with gray ribbon cable 1.8 … 5.0 V (Available since 03/2004).

WARNING: To prevent debugger and target from damage it is recommended to connect or disconnect the debug cable only while the target power is OFF.

Recommendation for the software start:

1. Disconnect the debug cable from the target while the target power is off.

2. Connect the host system, the TRACE32 hardware and the debug cable.

3. Power ON the TRACE32 hardware.

4. Start the TRACE32 software to load the debugger firmware.

5. Connect the debug cable to the target.

6. Switch the target power ON.

7. Configure your debugger e.g. via a start-up script.

Power down:

1. Switch off the target power.

2. Disconnect the debug cable from the target.

3. Close the TRACE32 software.

4. Power OFF the TRACE32 hardware.

PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH

Page 7: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

Target Design Requirement/Recommendations

General

• Locate the JTAG / COP connector as close as possible to the processor to minimize the capacitive influence of the trace length and cross coupling of noise onto the JTAG signals. Don’t put any capacitors (or RC combinations) on the JTAG lines.

• Connect TDI, TDO, TMS and TCK directly to the CPU. Buffers on the JTAG lines will add delays and will reduce the maximum possible JTAG frequency. If you need to use buffers, select ones with little delay. Most CPUs will support JTAG above 50 MHz, and you might want to use high frequencies for optimized download and upload performance.

• Ensure that JTAG HRESET is connected directly to the HRESET of the processor. This will provide the ability for the debugger to drive and sense the status of HRESET. The target design should only drive HRESET with open collector/open drain.

• For optimal operation, the debugger should be able to reset the target board completely (processor external peripherals, e.g. memory controllers) with HRESET.

• In order to start debugging right from reset, the debugger must be able to control CPU HRESET and CPU TRST independently. There are board design recommendations to tie CPU TRST to CPU HRESET, but this recommendation is not suitable for JTAG debuggers.

• If the processor does not have QACK/QREQ pins, leave the corresponding pins on the debug connector N/C.

• If the processor has QACK/QREQ pins, QACK must be LOW in order to halt the core for debugging. If QACK is connected to the debug connector, the debugger can drive it LOW by command. If QACK is not connected to any system controller, it is recommended to tie it to GND.

• The debug cable uses VCCS on the JTAG-VREF pin to generate the power supply for the JTAG output buffers. The load on the JTAG-VREF pin caused by the debug cable depends on the debug cable version:

Gray ribbon cable

The VCCS pin is used as reference voltage for the internal power supply in the debug cable. This causes a load of about 50 k. It is recommended to use a resistor with max. 5 k to VCC, and max 1 k for systems with VCCS = 1. 8V

Blue ribbon cable

The VCCS pin should be connected to VCC through a resistor with max. 10 , as the output buffers are directly supplied by the VCCS pin.

PPC600 Family Debugger 7 ©1989-2019 Lauterbach GmbH

Page 8: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

Quick Start

Starting up the Debugger is done as follows:

1. Select the device prompt B: for the ICD Debugger, if the device prompt is not active after the TRACE32 software was started.

2. Select the CPU type to load the CPU specific settings.

3. Tell the debugger where’s FLASH/ROM on the target.

This command is necessary for the use of on-chip breakpoints.

4. Enter debug mode.

This command resets the CPU (HRESET) and enters debug mode. After this command is executed, it is possible to access the registers.

5. Show registers of on-chip peripherals.

6. Set the chip selects to get access to the target memory.

7. Load the program and debug symbols.

8. If the program was compiled on a different computer / environment, the source file path might have to be adopted.

B:

SYStem.CPU MPC8323

MAP.BOnchip 0xFF000000++0xFFFFFFFF

SYStem.Up

PER.view

Data.Set ANC:(IOBASE()|0x00010100) %Long 0xFF801801Data.Set ANC:(IOBASE()|0x00010104) %Long 0xFF800EF4;.....

Data.LOAD.Elf diabc.x

Data.LOAD.Elf diabc.x /StripPART 5. /SOURCEPATH "L:\prj\src"

PPC600 Family Debugger 8 ©1989-2019 Lauterbach GmbH

Page 9: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

The option of the Data.LOAD command depends on the file format generated by the compiler. For information on the compiler options refer to the section Compilers. A detailed description of the Data.LOAD command is given in the “General Commands Reference”.

9. Set a breakpoint to the function to be debugged.

10. Start application. The core will halt when the breakpoint is reached.

11. Open windows to show source code, core registers and local variables. The window position can be specified with the WinPOS command.

Break.Set main

Go

Data.ListRegister.view /SpotLightFrame.view /Locals /Caller

PPC600 Family Debugger 9 ©1989-2019 Lauterbach GmbH

Page 10: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

Troubleshooting

The SYStem.Up command is the first command of a debug session where communication with the target is required. If you receive error messages while executing this command this may have the following reasons.

Error Message Reason

target power fail Target has no power or debug cable is not connected. Check if the JTAG VCC pin is driven by the target.

emulation pod configuration error

The debugger was not able to determine the connected processor. There are two possible reasons for this error: The CPU you are using is not supported by the used software, or a communication error pre-vented a correct determination. Check the AREA window for more information.

target processor in reset The reset line is/was asserted by the target while the debugger per-formed a power-on reset. Try SYStem.Option SLOWRESET, and check signal level of the JTAG HRESET pin.

emulation debug port fail The debugger was unable to perform a power-on reset with the pro-cessor. Check all JTAG port signals.

emulation debug port fail

target reset fail

emulator debug port reset error

If the target reset is asserted for >500ms, or the target reset state is not reflected on the JTAG_HReset pin, SYStem.Option SLOWRESET might be necessary.

PPC600 Family Debugger 10 ©1989-2019 Lauterbach GmbH

Page 11: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

Problems with Memory Access

For processors of some device families (esp. MPC82XX/MPC83XX), it is important that no unimplemented memory addresses are accessed by the debugger. Unimplemented memory means address ranges which would cause a data access exception when accessed by the target application in the current target state. Memory that is only available after target initialization, like SDRAM is unimplemented memory until initialized (e.g. a Data.dump window (or the stack view in the Register window) to SDRAM directly after reset). Also, virtual addresses are unimplemented if the memory management unit is currently disabled or the address unmapped (e.g. a Data.List window to Linux code at 0xC0000000 directly after reset).

The effects of accessing unimplemented memory are temporarily flickering memory windows up to permanently hanging memory buses, which can only be recovered by a reset. The debugger can rarely detect if a memory bus is hanging or not. Typical values displayed in dump/list windows are 0x00000000, 0xDEADBEE0, 0xDEADBEE1 or “????????” (bus error).

Hints for safe memory accesses:

• directly after reset, set R1 to zero before opening the register window (which includes the stack view)

• directly after reset, close all windows that display data from SDRAM etc. which is not accessible directly after reset

• MPC82XX: close the peripheral view window before SYStem.UP. Usually the IMMR base address is different after reset and after target initialization. Always set the right base address with SYStem.Option BASE before opening the peripheral view.

• Protect the debugger from accessing unimplemented memory using MAP.DENYACCESS.

PPC600 Family Debugger 11 ©1989-2019 Lauterbach GmbH

Page 12: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

FAQ

Debugging via VPN

Ref: 0307

The debugger is accessed via Internet/VPN and the performance is very slow. What can be done to improve debug performance?

The main cause for bad debug performance via Internet or VPN are low data throughput and high latency. The ways to improve performance by the debugger are limited:

In PRACTICE scripts, use "SCREEN.OFF" at the beginning of the scriptand "SCREEN.ON" at the end. "SCREEN.OFF" will turn off screenupdates. Please note that if your program stops (e.g. on error) without exe-cuting "SCREEN.OFF", some windows will not be updated.

"SYStem.POLLING SLOW" will set a lower frequency for target statechecks (e.g. power, reset, jtag state). It will take longer for the debugger torecognize that the core stopped on a breakpoint.

"SETUP.URATE 1.s" will set the default update frequency ofData.List/Data.dump/Variable windows to 1 second (the slowest possiblesetting).

Prevent unneeded memory accesses using "MAP.UPDATEONCE<address_range>" for RAM and "MAP.CONST <address_range>" forROM/FLASH. Address ranged with "MAP.UPDATEONCE" will read thespecified address range only once after the core stopped at a breakpoint ormanual break. "MAP.CONST" will read the specified address range onlyonce per SYStem.Mode command (e.g. SYStem.Up).

PPC600 Family Debugger 12 ©1989-2019 Lauterbach GmbH

Page 13: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

Setting a Software Breakpoint fails

Ref: 0276

What can be the reasons why setting a software breakpoint fails?

Setting a software breakpoint can fail when the target HW is not able to implement the wanted breakpoint. Possible reasons:

The wanted breakpoint needs special features that are only possible torealize by the trigger unit inside the controller.

Example: Read, write and access (Read/Write) breakpoints ("type" in Break.Set window). Breakpoints with checking in real-time for data-values ("Data"). Breakpoints with special features ("action") like TriggerTrace, TraceEnable, TraceOn/TraceOFF.

TRACE32 can not change the memory.Example: ROM and Flash when no preparation with FLASH.Create, FLASH.TARGET and FLASH.AUTO was made. All type of memory if the memory device is missing the necessary control signals like WriteEnable or settings of registers and SpecialFunctionRegisters (SFR).

Contrary settings in TRACE32.Like: MAP.BOnchip for this memory range. Break.SELect.<breakpoint_type> Onchip (HARD is only available for ICE and FIRE).

RTOS and MMU:If the memory can be changed by Data.Set but the breakpoint doesn't work it might be a problem of using an MMU on target when setting the breakpoint to a symbolic address that is different than the writable and intended memory location.

!QACK Termination

Ref: 0131

Strange behavior during or after system.up; Step/Go do not work correctly; External memory flicker

The !QACK signal is a confirmation input for the CPU. The signal indicates that no other device will access/use the 603 bus and no bus snoop is necessary by the CPU. Only after this confirmation the CPU changes from user mode back to debug mode. Normally this signal is served by any external memory controller/bridge or any other logic. In this case the signal needs a pull-up because it's LOW active. If there is no device using the 603 bus or serving this signal, !QACK must have a pull-down or be tied to GND. On a target with a MPC107 bus controller, some boot loaders configure the MPC107 so, that !QACK is driven HIGH if it is not asserted. The MPC107 has to be configured to tristate the signal in this case. If the signal is LOW, the debugger is not able to control the CPU properly.

Cannot write to SYPCR

Ref: 0045

Writing SYPCR has no effect.

The SYPCR register can only be written one time. If the SYSTEM.OPTION.WATCHDOG is set to OFF then the CPU WATCHDOG function will be disabled by the debugger during a SYSTEM.UP. To disable the WATCHDOG on the CPU the debugger writes to SYPCR and uses the one-time write access to the SYPCR register.

PPC600 Family Debugger 13 ©1989-2019 Lauterbach GmbH

Page 14: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

Error Message: "emulation pod configuration error"

Ref: 0105

Error message "emulation pod configuration error" after starting the TRACE32 ICD software

This error can have three sources:

The CPU selection in the SYStem window does not match the CPU on thetarget. Check if the selection matches the processor on the target. Try touse auto detection (PPC..XX selection) if available.

The CPU detection failed. Check the JTAG connection to the target.

The CPU on the target is not supported by the used debugger softwarerelease. In most cases there is additional information given in the AREAwindow.

PPC600 Family Debugger 14 ©1989-2019 Lauterbach GmbH

Page 15: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

Debugging via VPN

Ref: 0307

The debugger is accessed via Internet/VPN and the performance is very slow. What can be done to improve debug performance?

The main cause for bad debug performance via Internet or VPN are low data throughput and high latency. The ways to improve performance by the debugger are limited:

In PRACTICE scripts, use "SCREEN.OFF" at the beginning of the scriptand "SCREEN.ON" at the end. "SCREEN.OFF" will turn off screenupdates. Please note that if your program stops (e.g. on error) without exe-cuting "SCREEN.OFF", some windows will not be updated.

"SYStem.POLLING SLOW" will set a lower frequency for target statechecks (e.g. power, reset, jtag state). It will take longer for the debugger torecognize that the core stopped on a breakpoint.

"SETUP.URATE 1.s" will set the default update frequency ofData.List/Data.dump/Variable windows to 1 second (the slowest possiblesetting).

Prevent unneeded memory accesses using "MAP.UPDATEONCE<address_range>" for RAM and "MAP.CONST <address_range>" forROM/FLASH. Address ranged with "MAP.UPDATEONCE" will read thespecified address range only once after the core stopped at a breakpoint ormanual break. "MAP.CONST" will read the specified address range onlyonce per SYStem.Mode command (e.g. SYStem.Up).

PPC600 Family Debugger 15 ©1989-2019 Lauterbach GmbH

Page 16: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

Setting a Software Breakpoint fails

Ref: 0276

What can be the reasons why setting a software breakpoint fails?

Setting a software breakpoint can fail when the target HW is not able to implement the wanted breakpoint. Possible reasons:

The wanted breakpoint needs special features that are only possible torealize by the trigger unit inside the controller.

Example: Read, write and access (Read/Write) breakpoints ("type" in Break.Set window). Breakpoints with checking in real-time for data-values ("Data"). Breakpoints with special features ("action") like TriggerTrace, TraceEnable, TraceOn/TraceOFF.

TRACE32 can not change the memory.Example: ROM and Flash when no preparation with FLASH.Create, FLASH.TARGET and FLASH.AUTO was made. All type of memory if the memory device is missing the necessary control signals like WriteEnable or settings of registers and SpecialFunctionRegisters (SFR).

Contrary settings in TRACE32.Like: MAP.BOnchip for this memory range. Break.SELect.<breakpoint_type> Onchip (HARD is only available for ICE and FIRE).

RTOS and MMU:If the memory can be changed by Data.Set but the breakpoint doesn't work it might be a problem of using an MMU on target when setting the breakpoint to a symbolic address that is different than the writable and intended memory location.

Error Message: "emulation pod configuration error"

Ref: 0105

Error message "emulation pod configuration error" after starting the TRACE32 ICD software

This error can have three sources:

The CPU selection in the SYStem window does not match the CPU on thetarget. Check if the selection matches the processor on the target. Try touse auto detection (PPC..XX selection) if available.

The CPU detection failed. Check the JTAG connection to the target.

The CPU on the target is not supported by the used debugger softwarerelease. In most cases there is additional information given in the AREAwindow.

MPC7448

Single Step over store instruction fails

Ref: 0339

Is there a workaround for MP7448 chip errata #24?

Due to MPC7448 chip errata #24, the processor may hang when store type instructions are single stepped with a JTAG debugger. If you encounter this problem while single stepping through code in RAM, there is also a workaround implemented in the debugger. Enable this workaround using the command: SYStem.Option.STEPSOFT ON See Processor Architecture Manual for details about this command.

PPC600 Family Debugger 16 ©1989-2019 Lauterbach GmbH

Page 17: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

MPC744X/745X

Flash/Memory Mapped Registers Invisible

Ref: 0206

The debugger can not display flash data and/or memory mapped registers, although the target program can access this memory/registers.

The MPC744X/5X debug controller only supports burst accesses for the debugger. Some devices however, like flash devices or peripherial controllers do not support burst accesses. There is a workaround, which can be activated using MAP.DENYBURST [address-range]. This workaround enables variable size memory accesses for the given address range. Please be aware that this workaround is very slow. Keep data.list/dump windows as small as possible and select a high JTAG frequency. This issue is documented in Freescale's MPC74XX chip errata, errata #8 "Variable size memory accesses via COP cannot be performed using the service bus". MPC7448 and newer are not affected.

MPC744X/745X/MPC86XX

SYStem.UP fails when FLASH erased

Ref: 0280

SYStem.UP fails with MPC744x/MPC745x or MPC86xx

SYStem.UP of MPC744X/5X/MPC86XX can fail if the instruction at the reset address is invalid. This is a side effect of a chip errata (e.g. MPC7448 chip errata #7) If the FLASH memory at the reset address (0xFFF00100) is not programmed, the CPU will not stop at the reset address. The debugger will print an error message to the AREA window that the CPU stopped at a wrong address (0xFFF00800). In this case, use the sequence: SYStem.Mode.Attach Break to stop the CPU. If the SYStem.UP fails as described above, but it is known that the FLASH is programmed (e.g. boot loader running), usually the problem is that JTAG_HReset resets only the processor, but not other devices on the board, esp. the memory controller. If the memory controller will not be reset, the FLASH contents for the reset address are probably not mapped correctly. Make sure that JTAG_HReset resets processor and memory controller.

MPC74XX

Instruction/Data Address Breakpoints do not work

Ref: 0186

Data/Instruction address breakpoints do not work or stop working at a certain point in target code.

The instruction/data address breakpoints probably stop working if the target program enables the memory management unit, i.e. MSR_IR and/or MSR_DR bit set to 1. Solution: Type TRANSlation.ON to the command line. This command will enable MMU support of the debugger, which will configure the on-chip breakpoints properly.

PPC600 Family Debugger 17 ©1989-2019 Lauterbach GmbH

Page 18: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

Debugging via VPN

Ref: 0307

The debugger is accessed via Internet/VPN and the performance is very slow. What can be done to improve debug performance?

The main cause for bad debug performance via Internet or VPN are low data throughput and high latency. The ways to improve performance by the debugger are limited:

In PRACTICE scripts, use "SCREEN.OFF" at the beginning of the scriptand "SCREEN.ON" at the end. "SCREEN.OFF" will turn off screenupdates. Please note that if your program stops (e.g. on error) without exe-cuting "SCREEN.OFF", some windows will not be updated.

"SYStem.POLLING SLOW" will set a lower frequency for target statechecks (e.g. power, reset, jtag state). It will take longer for the debugger torecognize that the core stopped on a breakpoint.

"SETUP.URATE 1.s" will set the default update frequency ofData.List/Data.dump/Variable windows to 1 second (the slowest possiblesetting).

Prevent unneeded memory accesses using "MAP.UPDATEONCE<address_range>" for RAM and "MAP.CONST <address_range>" forROM/FLASH. Address ranged with "MAP.UPDATEONCE" will read thespecified address range only once after the core stopped at a breakpoint ormanual break. "MAP.CONST" will read the specified address range onlyonce per SYStem.Mode command (e.g. SYStem.Up).

PPC600 Family Debugger 18 ©1989-2019 Lauterbach GmbH

Page 19: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

Setting a Software Breakpoint fails

Ref: 0276

What can be the reasons why setting a software breakpoint fails?

Setting a software breakpoint can fail when the target HW is not able to implement the wanted breakpoint. Possible reasons:

The wanted breakpoint needs special features that are only possible torealize by the trigger unit inside the controller.

Example: Read, write and access (Read/Write) breakpoints ("type" in Break.Set window). Breakpoints with checking in real-time for data-values ("Data"). Breakpoints with special features ("action") like TriggerTrace, TraceEnable, TraceOn/TraceOFF.

TRACE32 can not change the memory.Example: ROM and Flash when no preparation with FLASH.Create, FLASH.TARGET and FLASH.AUTO was made. All type of memory if the memory device is missing the necessary control signals like WriteEnable or settings of registers and SpecialFunctionRegisters (SFR).

Contrary settings in TRACE32.Like: MAP.BOnchip for this memory range. Break.SELect.<breakpoint_type> Onchip (HARD is only available for ICE and FIRE).

RTOS and MMU:If the memory can be changed by Data.Set but the breakpoint doesn't work it might be a problem of using an MMU on target when setting the breakpoint to a symbolic address that is different than the writable and intended memory location.

MGT5100/MPC5200

Instruction/Data Address Breakpoints do not work

Ref: 0186

Data/Instruction address breakpoints do not work or stop working at a certain point in target code.

The instruction/data address breakpoints probably stop working if the target program enables the memory management unit, i.e. MSR_IR and/or MSR_DR bit set to 1. Solution: Type TRANSlation.ON to the command line. This command will enable MMU support of the debugger, which will configure the on-chip breakpoints properly.

PPC600 Family Debugger 19 ©1989-2019 Lauterbach GmbH

Page 20: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

Debugging via VPN

Ref: 0307

The debugger is accessed via Internet/VPN and the performance is very slow. What can be done to improve debug performance?

The main cause for bad debug performance via Internet or VPN are low data throughput and high latency. The ways to improve performance by the debugger are limited:

In PRACTICE scripts, use "SCREEN.OFF" at the beginning of the scriptand "SCREEN.ON" at the end. "SCREEN.OFF" will turn off screenupdates. Please note that if your program stops (e.g. on error) without exe-cuting "SCREEN.OFF", some windows will not be updated.

"SYStem.POLLING SLOW" will set a lower frequency for target statechecks (e.g. power, reset, jtag state). It will take longer for the debugger torecognize that the core stopped on a breakpoint.

"SETUP.URATE 1.s" will set the default update frequency ofData.List/Data.dump/Variable windows to 1 second (the slowest possiblesetting).

Prevent unneeded memory accesses using "MAP.UPDATEONCE<address_range>" for RAM and "MAP.CONST <address_range>" forROM/FLASH. Address ranged with "MAP.UPDATEONCE" will read thespecified address range only once after the core stopped at a breakpoint ormanual break. "MAP.CONST" will read the specified address range onlyonce per SYStem.Mode command (e.g. SYStem.Up).

PPC600 Family Debugger 20 ©1989-2019 Lauterbach GmbH

Page 21: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

Setting a Software Breakpoint fails

Ref: 0276

What can be the reasons why setting a software breakpoint fails?

Setting a software breakpoint can fail when the target HW is not able to implement the wanted breakpoint. Possible reasons:

The wanted breakpoint needs special features that are only possible torealize by the trigger unit inside the controller.

Example: Read, write and access (Read/Write) breakpoints ("type" in Break.Set window). Breakpoints with checking in real-time for data-values ("Data"). Breakpoints with special features ("action") like TriggerTrace, TraceEnable, TraceOn/TraceOFF.

TRACE32 can not change the memory.Example: ROM and Flash when no preparation with FLASH.Create, FLASH.TARGET and FLASH.AUTO was made. All type of memory if the memory device is missing the necessary control signals like WriteEnable or settings of registers and SpecialFunctionRegisters (SFR).

Contrary settings in TRACE32.Like: MAP.BOnchip for this memory range. Break.SELect.<breakpoint_type> Onchip (HARD is only available for ICE and FIRE).

RTOS and MMU:If the memory can be changed by Data.Set but the breakpoint doesn't work it might be a problem of using an MMU on target when setting the breakpoint to a symbolic address that is different than the writable and intended memory location.

Error Message: "emulation pod configuration error"

Ref: 0105

Error message "emulation pod configuration error" after starting the TRACE32 ICD software

This error can have three sources:

The CPU selection in the SYStem window does not match the CPU on thetarget. Check if the selection matches the processor on the target. Try touse auto detection (PPC..XX selection) if available.

The CPU detection failed. Check the JTAG connection to the target.

The CPU on the target is not supported by the used debugger softwarerelease. In most cases there is additional information given in the AREAwindow.

PPC600 Family Debugger 21 ©1989-2019 Lauterbach GmbH

Page 22: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

MPC826x/80/7x/41/42

BUS-ERRORS on valid addresses

Ref: 0110

After SYStem.Up or when opening a dump/register window all displayed memory data is invalid (e.g. 0xDEADBEEx)

Accesses to unimplemented memory address ranges (outside of valid chip selects), can cause a blocked memory bus which can only be resolved by a RESET. It is not possible to detect a blocked memory bus for the debugger, usually is appears that all displayed data has the value 0xDEADBEEx or random data.

Debugger software before 04/2004:Make sure that none of the windows access unimplemented memory. Close the peripherial view window while changing the IMMR base address (by program or via debugger)

Debugger software between 04/2004 and 11/2007:chip select 11 (or 7) will be activated on SYStem.UP . This prevents blocking the memory bus. NOTE: In some cases CS7/11 has to be disabled before changing the IMMR base address.

Debugger software since 11/2007 and newer: The handling of CS7/11 hasbeen improved, but has to be enabled using

SYStem.Option.MemProtect ON together with SYStem.Option.BASE AUTO . The debugger software can detect IMMR changes during assembler steps and will handle CS7/11 accordingly. The base address of the peripherial view is automatically updated.

Usage:

SetSYStem.Option.BASE to AUTO if RSTCONF is read from FLASH, or set the IMMR base address manually for any other options.

SYStem.Option.MemProtect ON; CS7 or 11 will be enable on system.up for safe memory accesses

SYStem.UP

SYStem.Option.BASE AUTO; enable automatic IMMR change detection

Start execution until the instruction that changes IMMR is reached, e.g.GO 0xFFF09038 /ONCHIP

Step.ASM; assembler single step

Now the debugger will use the new IMMR address for peripheral view andservicing the watchdog.

PPC600 Family Debugger 22 ©1989-2019 Lauterbach GmbH

Page 23: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

MPC82XX

Problems when changing IMMR (software before 11/2007)

Ref: 0287

When changing the IMMR base address to a new value memory access results in a buserror (for software before 11/2007)

The cause of the problem is that the MPC82XX series does not provide a possibility to read IMMR directly via JTAG. Only in a few cases the debugger can detect IMMR. If the IMMR known to the debugger does not match the IMMR of the processor, debugger accesses to the IMMR base can cause memory access errors. Here are the steps for handling IMMR address changes: For Software older than 11/2007: The debugger will only detect IMMR on SYStem.UP when SYStem.Option.BASE AUTO is used and RSTCONF can be read from FLASH. If the application changes IMMR, SYStem.Option.BASE has to be updated manually.

Use a PRACTICE script (*.cmm):

SCREEN.ON entry &NewBase IF "&NewBase"=="" ENDDO &OldBase=IOBASE() PER.S ASD:(&OldBase|0x101A8) %LONG &NewBase SYStem.Option.BASE &NewBase PRINT "change old (&OldBase) IOBASE address to =: " iobase() ENDDO With screen!=always the hole file will be executed up to the end then the next access from the debugger take place.

Iconize, close all windows or use a new emptyWinPAGE.Create . Iconized/closed windows are inactive and do not cause a repeatedly access to the target CPU.

Watchdog service (SYStem.Option.WatchDog.ON) will periodically accessto the SWSR register, which is also within the internal memory space!

If the IMMR register will be changed by the application, the SYS-tem.Option.BASE also has to be switched to the new value before the CPUis stopped or stops again!

NOTE:

This issue does not exist for MPC83XX and MPC85XX, as the IMMR baseaddress can always be read via JTAG

PPC600 Family Debugger 23 ©1989-2019 Lauterbach GmbH

Page 24: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

MPC82XX

Problems when changing IMMR (sw since 11/2007)

Ref: 0205

When changing the IMMR base address to a new value memory access results in a buserror (for software since 11/2007)

The cause of the problem is that the MPC82XX series does not provide a possibility to read IMMR directly via JTAG. Only in a few cases the debugger can detect IMMR. If the IMMR known to the debugger does not match the IMMR of the processor, debugger accesses to the IMMR base can cause memory access errors. Here are the steps for handling IMMR address changes:

New implementation for MPC82XX since 11/2007: SYStem.Option.BASE AUTO has been extended to detect IMMR changes automatically upon two events:

Memory write / modify viaData.Set

Assembler single stepThe new implementation makes it possible to change the IMMR base address with the debugger, even while SYStem.Option.WATCHDOG (watchdog is active and serviced by the debugger) is active, or single stepping a IMMR base address change.

Usage:

SetSYStem.Option.BASE to AUTO if RSTCONF is read from FLASH, or set the IMMR base address manually for any other options.

SYStem.UP

SYStem.Option.BASE AUTO; enable automatic IMMR change detection

Start execution until the instruction that changes IMMR is reached, e.g.GO 0xFFF09038 /ONCHIP

Step.ASM; assembler single step

Now the debugger will use the new IMMR address for peripheral view andservicing the watchdog.

NOTE:

ifSYStem.Option.BASE is not set to AUTO, the behavior is equal to software before 11/2007.

This issue does not exist for MPC83XX and MPC85XX, as the IMMR baseaddress can always be read via JTAG

PPC600 Family Debugger 24 ©1989-2019 Lauterbach GmbH

Page 25: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

MPC82XX

Processor seems to step backwards

Ref: 0112

Processor seems to step backwards.

A bus error happened which cannot be recognized and/or handled by the debugger. Maybe any indirect store/load command use an un-initialized GPR register (R1-R15). R0 can only be used as offset zero!!! A complete new SYStem.Up and target init is necessary.

MPC82XX

SYStem.Option.BASE.AUTO does not work

Ref: 0163

There are few exceptions where SYStem.Option.BASE.AUTO (default setting) does not work:

There are several MPC82xx CPU used as Master/Slave.

Multiprozessor/multicore using

CS0 memory will be changed right after HRESET from any target boardlogic.

The RSTCONF word has to be readable by the debugger after system.up (HRESET) at CS0!

RSTCONF[CIP] does not use the same memory area as the RST-CONF[BMS].

FLASH is empty/erased. Memory content is 0xffffffff.In this case the RSTCONF[CDIS] bit is set to "disable core" and the internal default RSTCONF word has to be used.

RSTCONF pin is HIGH. Internal/default RSTCONF word (0x00000000) is used. In this case set SYS.O.BASE to 0x0. In all these cases the SYStem.Option.BASE field has to be set to the true internal space base address which will be active right after HRESET. Only the 8 possible addresses from RSTCONF[ISP] are valid internal space base addresses.

MPC82XX

SYStem.Option.IP.AUTO does not work

Ref: 0164

There are few exceptions where SYStem.Option.IP.AUTO (default setting) does not work:

FLASH is empty/erased. Memory content is 0xffffffff. In this case the RSTCONF[CDIS] bit is set to "disable core" and the internal default RSTCONF word has to be used.

Wrong signal termination or a not finished board design prevent CPU tofetch the reset vector from the memory bus.

Additional target board logic needs a huge time after negating theHRESET, for a specific board, logic or memory controller initialisation.

The most time this problem could be solved with the SYStem.Option.SLOWRESET. In all these cases the SYStem.Option.IP field has to be set to:

0, if the reset vector is at 0x00000100 (RSTCONF[CIP]==1)

1, if the reset vector is at 0xfff00100 (RSTCONF[CIP]==0)

PPC600 Family Debugger 25 ©1989-2019 Lauterbach GmbH

Page 26: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

MPC82XX

SYStem.UP fails when flash is not programmed

Ref: 0132

Why does the debugger fail to connect to the processor after erasing FLASH memory?

The cause of this problem is that the CPU reads the HARD RESET CONFIGURATION WORD from the erased flash. The HRCW reads as 0xFFFFFFFF, which means that the CORE_DISABLE bit of the HRCW is set. Solution:

Switch the RSTCONF pin to HIGH to use the internal default reset configu-ration word (0x00000000).

Set SYStem.Option.BASE to 0x00000000

SYStem.UP

Set up chip select 0 for FLASH

program reset configuration word to flash

Switch the RSTCONF pin to LOW to use external reset configuration wordRecommendation: Make sure to program reset configuration word to flash immediately after erasing it.

MPC82XX/83XX

Instruction/Data Address Breakpoints do not work

Ref: 0186

Data/Instruction address breakpoints do not work or stop working at a certain point in target code.

The instruction/data address breakpoints probably stop working if the target program enables the memory management unit, i.e. MSR_IR and/or MSR_DR bit set to 1. Solution: Type TRANSlation.ON to the command line. This command will enable MMU support of the debugger, which will configure the on-chip breakpoints properly.

MPC83XX

Memory access fails after program ran

Ref: 0360

The debugger's memory access works after SYStem.UP, but fails after the running the application. What can be the problem?

For MPC834x, MPC837x and MPC831X, the unit performing memory accesses for the debugger is clocked together with another peripheral block. For proper memory access, make sure that this unit does not get disabled by your application. The units which must be kept enabled are:

MPC834x: TSEC2

MPC837x: eSDHC / I2C1

MPC831x: encryption engineMake sure that the corresponding peripheral block does not get disabled in the System Clock Control Register (SCCR).

PPC600 Family Debugger 26 ©1989-2019 Lauterbach GmbH

Page 27: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

MPC83XX

SYStem.UP fails when flash is not programmed

Ref: 0288

Why does the debugger fail to connect to the processor after erasing FLASH memory?

The cause of this problem is that the CPU reads the HARD RESET CONFIGURATION WORD from the erased flash. The HRCW reads as 0xFFFFFFFF, which menas that the CORE_DISABLE bit of the HRCW is set. Solution: Use SYStem.Option.HRCWOVR to override the HRCW with the debugger. Example:

SYStem.CPU MPC8349

SYStem.Option.HRCWOVR 0xB060A00004040000 ; 64-bit HRCW set bydebugger

SYStem.UP

SYStem.Option.HRCWOVR ; disable HRCW overrideNotes:

The Processor will keep the overridden HRCW intil the next power cycle orpower-on reset

If HRESET of the JTAG connector asserts PORESET on the target, thenSYStem.Option.HRCWOVR does not work. When designing a target, is isrecommended to connect JTAG_HRESET to CPU_HRESET.

PPC600 Family Debugger 27 ©1989-2019 Lauterbach GmbH

Page 28: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

Configuration

System Overview

POWER DEBUG INTERFACE / USB2PODBUS IN

POWER

SELECT

EMULATE

TRIG

POWER7-9 V

US

B

LAUTERBACH

PODBUS OUT

DE

BU

G C

AB

LE

Target

POWER DEBUG INTERFACE / USB 2

USBCable

Debug Cable

JTA

G

Co

nnec

tor

DE

BU

G C

AB

LE

LA

UTE

RB

AC

H

AC/DC Adapter

PC

POWER DEBUG IIPODBUS SYNC

TRIG

POWER7-9 V

US

B

LAUTERBACHPODBUS OUT

DE

BU

G C

AB

LE

Target

POWER DEBUG II

EthernetCable

POWER

SELECT

RUNNING

LINK

ACTIVITY

ET

HE

RN

ET

HUB

1 GBit Ethernet

Debug Cable

DE

BU

G C

AB

LE

JTA

GC

onn

ecto

r

LA

UT

ER

BA

CH

PODBUS EXPRESS OUT

PC orWorkstation

AC/DC Adapter

PPC600 Family Debugger 28 ©1989-2019 Lauterbach GmbH

Page 29: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

PowerPC 600 Family Specific Implementations

Breakpoints

There are two types of breakpoints available: Software breakpoints (SW-BP) and on-chip breakpoints.

Software Breakpoints

Software breakpoints are the default breakpoints. They can only be used in RAM areas. There is no restriction in the number of software breakpoints. Please consider that setting a large number of software breakpoints will reduce the debug speed.

For software breakpoint functionality, the debugger must set an on-chip breakpoint to the program interrupt address. In some applications, especially during the target initialization stage, some applications have interrupts disabled and use the interrupt address range for non-interrupt code. In this situation, there are two possible workarounds:

• Configure CPU and debugger to use the interrupt addresses that are not used at this stage. This can be done by setting MSR_IP. Please note that the target application can modify this value any time.

• Force on-chip breakpoints to a different address until target initialization is finished. E.g. set the on-chip breakpoint to the address where the code at the interrupt addresses is not executed anymore. If this point is reached, clear the on-chip breakpoint and continue debugging. If the used CPU has more than one on-chip breakpoint, set the second breakpoint to an unused address

All Since this CPU can only be stopped by an on-chip breakpoint, TRACE32-ICD sets an on-chip breakpoint to the Trap exception handler, whenever a software breakpoint is used. Because of that, software breakpoints can not be used if all on-chip breakpoints are directly used.

MPC60X, MPC7XX, MPC824X/6X, MPC74XX, MPC5100, MPC86XX

The current exception position must be known by the debugger at that time the SW-BP take place. See also SYStem.Option IP.

MPC512X, MPC5200,MPC8280, MPC827X,MPC8247, MPC8248, MPX83XX

CPUs with at least two on-chip breakpoints can use SYStem.Option IP BOTH. The debugger will set on-chip breakpoints to both interrupt addresses.

PPC600 Family Debugger 29 ©1989-2019 Lauterbach GmbH

Page 30: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

Software Breakpoint Handling

For software breakpoint functionality, the debugger must set an on-chip breakpoint to the program interrupt address. As PPC603-based cores have two possible interrupt addresses based on MSR[IP].

In situations where there are less than two on-chip breakpoints available there is a resource conflict. The unavailability can be caused by CPU design, or if the user makes direct use of on-chip breakpoints.

If the source code modifies MSR[IP], then a manual correction is necessary to use the correct exception handler.

Following some logic structure examples to explain this special situations.

Source code structure for all modes:

AUTO-Mode:

Manual-Mode 0/1

0x000x040x080x0C0x100x140x180x1C0x20…

codecode1. SW-BPcodecodecode change MSR[IP] bit to 0code2. SW-BPcode…

Command Sequence / CPU Status MSR[IP] Exception Pos Comment

CPU is stopped, PC at 0x00go CPU stop at 0x08goCPU is still running

1111/00

11111

Break OK.

Break error!

Command Sequence / CPU Status MSR[IP] Exception Pos Comment

CPU is stopped, PC at 0x00go CPU stop at 0x08set sys.option.ip 0goCPU stop at 0x1C

11111/00

111000

Break OK.

Break OK.

PPC600 Family Debugger 30 ©1989-2019 Lauterbach GmbH

Page 31: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

Conclusion:

This means, if you know, that your source code will change the MSR[IP] bit and your first SW-BP will take affect after this alteration, so use the SYStem.Option IP to select the right exception handler.

NOTE: If the target application uses page tables, software breakpoints can only be set to page tables which are already available. If it is necessary to set breakpoints in pages not yet mapped, only on-chip breakpoints can be used.

Software breakpoints can be overwritten by the target application, e.g. if a breakpoint is set in an area which will be loaded by a boot loader. Use on-chip breakpoints in this case.

PPC600 Family Debugger 31 ©1989-2019 Lauterbach GmbH

Page 32: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

On-chip Breakpoints

The following list gives an overview of the usage of the on-chip breakpoints by TRACE32-ICD:

• CPU family

• Instruction breakpoints: Number of on-chip breakpoints that can be used for program and spot breakpoints

• Read/Write breakpoints: Number of on-chip breakpoints that can be used as read or write breakpoints. Can be only set on 8 byte boundaries

• Data breakpoints: Number of on-chip data breakpoints that can be used to stop the program when a specific data value is written to an address or when a specific data value is read from an address.

NOTE: On-chip breakpoints can be cleared by the target application or by a target reset. If an on-chip breakpoint is not hit, first check (with the peripheral view), if the on-chip breakpoint is set or not.

CPU Family InstructionBreakpoints

Read/WriteBreakpoints

Data ValueBreakpoints

Notes

PPC603RHPPCMPC8240MPC8245MPC8255MPC8260MPC8265MPC8266

1 single address

— — Instruction breakpoint is not available if software breakpoints are used

MGT5100PPC7XXMPC74XXMPC86XX

1 single address

1 single address

— Instruction breakpoint is not available if software breakpoints are used

MPC512XMPC5200MPC8247MPC8248MPC8270MPC8275MPC8280MPC83XX

2 single addressesor1 range

2 single addressesor1 range

If software breakpoints are used, instruction breakpoints are reduced to one single address

PPC600 Family Debugger 32 ©1989-2019 Lauterbach GmbH

Page 33: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

Software Breakpoints in Interrupt Handlers

If software breakpoints are used in interrupt handlers, the registers SRR0 and SRR1 will be overwritten, because software breakpoints also use SRR0/1. There are several ways to debug interrupt handlers without corrupting SRR0/1:

• If MPC82XX, MPC5200 or RHPPC (G2_LE cores) is under debug, set SYStem.Option NOTRAP ILL.

• Use on-chip breakpoints. On-chip breakpoints will not corrupt SRR0/1. Please note that if only a single on-chip instruction address breakpoint is available, using the on-chip breakpoint will prevent using any further software breakpoints.

• Patch the interrupt handler, so that SRR0/1 are saved upon interrupt entry and restored before interrupt exit. If the interrupt handler it patched that way, it is safe to use software breakpoints after SRR0/1 have been saved.

Breakpoints in FLASH/ROM

If an instruction breakpoint is set, per default, the debugger tried to set a software breakpoint. If writing to the breakpoint address failed, the debugger will set an on-chip breakpoint.

With the command MAP.BOnchip <range> it is possible to inform the debugger where you have ROM (FLASH, EPROM) on the target. If a breakpoint is set within the specified address range, the debugger uses automatically the available on-chip breakpoints. Use this command, if write accesses to a read-only memory space are forbidden, e.g. because it could cause a reset etc.

Example:

Breakpoints on Physical or Virtual Addresses

On-chip breakpoints of almost all PPC603 based processors have a TE bit to configure if the breakpoint matches, if the access was performed on physical addresses (MSR_IR / MSR_DR off) of on virtual addresses (MSR_IR / MSR_DR on). In order to match, the processor compares IABR_TE / DABR_TE with MSR_IR for instruction and with MSR_DR for data accesses.

Per default, the debugger configures the breakpoints to match on physical addresses. In order to set the on-chip breakpoints to virtual addresses, use the command TRANSlation.ON (Activate MMU translation). This command will enable MMU support, including breakpoint configuration.

Software breakpoints hit on virtual addresses if MSR_IR is set, and on physical addresses if MSR_IR is not set, regardless of any other configuration.

MAP.BOnchip 0xFF800000--0xFFFFFFFF

PPC600 Family Debugger 33 ©1989-2019 Lauterbach GmbH

Page 34: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

Examples for Breakpoints

Software Breakpoints

Software breakpoints on ranges not possible.

On-chip Program Address Breakpoints

NOTE: Address ranges are only possible with CPUs that have at least two on-chip program address breakpoints. The option /program is optional.

On-chip Data Address Breakpoints

Data address breakpoints of all PPC603e based cores will operate on 8 byte boundaries.

Break.Set 0x101000 ; single address

Break.Set FooBar ; function name

Break.Set 0xFFF00244 /onchip /program ; single address

Break.Set 0xFFF00244 /onchip ; single address

Break.Set MyFlashFunction /onchip ; function name

Break.Set 0x2000--0x2fff /onchip ; address range

Break.Set 0xFFF00244 /read ; single address read

Break.Set 0xFFF00244 /write ; single address write

Break.Set 0xFFF00244 /readwrite ; single address any

Break.Set nMyValue /write ; variable name

Break.Set 0x2000--0x2fff /readwrite ; address range

PPC600 Family Debugger 34 ©1989-2019 Lauterbach GmbH

Page 35: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

Access Classes

Access classes are used to specify how TRACE32 PowerView accesses memory, registers of peripheral modules, addressable core resources, coprocessor registers and the TRACE32 Virtual Memory.

Addresses in TRACE32 PowerView consist of:

• An access class, which consists of one or more letters/numbers followed by a colon (:)

• A number that determines the actual address

Here are some examples:

Access Classes to Memory and Memory Mapped Resources

The following memory access classes are available:

In addition to the access classes, there are access class attributes: Examples:

Command: Effect:

Data.List P:0x1000 Opens a List window displaying program memory

Data.dump D:0xFF800000 /LONG Opens a DUMP window at data address 0xFF800000

Data.Set SPR:415. %Long 0x00003300 Write value 0x00003300 to the SPR IVOR15

PRINT Data.Long(ANC:0xFFF00100) Print data value at physical address 0xFFF00100

Access Class Description

P Program (memory as seen by core’s instruction fetch)

D Data (memory as seen by core’s data access)

IC L1 Instruction Cache (or L1 Unified cache)

DC L1 Data Cache

L2 L2 Cache

NC No Cache (access with caching inhibited)

Command: Effect:

Data.List SP:0x1000 Opens a List window displaying supervisor program memory

Data.Set ED:0x3330 0x4F Write 0x4F to address 0x3330 using real-time memory access

PPC600 Family Debugger 35 ©1989-2019 Lauterbach GmbH

Page 36: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

The following access class attributes are available:

If an Access class attributes is specified without an access class, TRACE32 PowerView will automatically add the default access class of the used command. For example, Data.List U:0x100 will be changed to Data.List UP:0x100.

Access Classes to Other Addressable Core and Peripheral Resources

The following access classes are used to access registers which are not mapped into the processor’s memory address space.

SPRs and PMRs are addressed by specifying the register number after the access class.

Cache

Memory Coherency

The following table describes which memory will be updated depending on the selected access class

Access Class Attributes Description

E Use real-time memory access

A Given address is physical (bypass MMU)

U TS (translation space) == 1 (user memory)

S TS (translation space) == 0 (supervisor memory)

Access Class Description

SPR Special Purpose Register (SPR) access

PMR Performance Monitor Register (PMR) access

Access Class D-Cache I-Cache L2 Cache Memory (uncached)

DC: updated not updated not updated not updated

IC: not updated updated not updated not updated

L2: not updated not updated updated not updated

NC: not updated not updated not updated updated

D: updated not updated updated updated

P: not updated updated (*) updated updated

PPC600 Family Debugger 36 ©1989-2019 Lauterbach GmbH

Page 37: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

(*) Depending on the debugger configuration, the coherency of the instruction cache will not be achieved by updating the instruction cache, but by invalidating the instruction cache. See “SYStem.Option ICFLUSH Invalidate instruction cache before go/step” (debugger_ppc600.pdf) for details.

MESI States

The cache logic of e300, e600, e700 and PPC603e based cores is described as MESI states. This MESI state are represented in the CPU as the flags Valid and Dirty. The debugger will display both MESI state and the status flag representation.

State translation table:

MESI state Flag

M (modified) Valid && Dirty

E (exclusive) Valid && NOT Dirty

S (shared) Shared

I (invalid) NOT Valid

PPC600 Family Debugger 37 ©1989-2019 Lauterbach GmbH

Page 38: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

Little Endian Operation

TRACE32 supports debugging processors which are operated in big-endian mode, true little-endian mode and modified (PowerPC) little-endian mode. The debugger switched to little-endian presentation, if MSR[LE] and one of the following system options is set:

• For true little-endian mode, enable SYStem.Option LittleEnd.

• For modified (PowerPC) little-endian mode, enable SYStem.Option PPCLE.

The following table lists processors which support one or both little endian modes:

Processor true little endian

modified little endian

Notes

MPC603MPC745MPC750 (FSL)MPC755PPC750xx (IBM)

— Yes

MPC5121MPC5123MPC5125

Yes — e300 core only supports true little endian

MGT5100MPC5200

Yes Yes HID2[TLE] == 1 for true little endian

MPC74XX — Yes

MPC8247MPC8248MPC8271MPC8272

— Yes

MPC83XX Yes — e300 core only supports true little endian

MPC86XX — Yes

PPC600 Family Debugger 38 ©1989-2019 Lauterbach GmbH

Page 39: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

CPU specific SYStem Commands

SYStem.BdmClock Set JTAG frequency

Default: 10.0 MHz

Selects the frequency for the debug interface. Usually, the maximum allowed JTAG frequency for PowerPC is 1/10th of the core frequency.

SYStem.CPU Select the CPU type

Selects the CPU type. If the needed CPU type is not available in the CPU selection of the SYStem window, or if the command results in an error,

• check if the licence of the debug cable includes the desired CPU type. You will find the information in the VERSION window.

• check if the debugger software is up-to-date. Please check the VERSION window to see which version is installed. CPUs that appeared later than the software release are usually not supported. Please check www.lauterbach.com for updates. If the needed CPU appeared after the release date of the debugger software, please contact technical support and request a software update.

• if the CPU name matches one the names in the CPU selection. Search for the CPU name in the SYStem window, or type SYStem.CPU to the command line and click through the hot keys.

Format: SYStem.BdmClock <frequency>

<frequency>: 0.1 … 50.0 MHz.

Format: SYStem.CPU <cpu>

<cpu>: 603EV2 | 750 | 8240 | 8260 | 7448 | 5200 …

PPC600 Family Debugger 39 ©1989-2019 Lauterbach GmbH

Page 40: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

SYStem.CpuAccess Run-time memory access (intrusive)

Default: Denied.

SYStem.LOCK Lock and tristate the debug port

Default: OFF.

If the system is locked, no access to the debug port will be performed by the debugger. While locked, the debug connector of the debugger is tristated. The main intention of the SYStem.LOCK command is to give debug access to another tool.

Format: SYStem.CpuAccess Enable | Denied | Nonstop

Enable Allows intrusive run-time memory access.In order to perform a memory read or write while the CPU is executing the program, the debugger stops the program execution shortly. Each short stop takes 1 … 100 ms depending on the speed of the debug interface and on the number of the read/write accesses required.A white S against a red background in the state line of the TRACE32 main window indicates this intrusive behavior of the debugger.

Denied Locks intrusive run-time memory access.

Nonstop Locks all features of the debugger that affect the run-time behavior. Nonstop reduces the functionality of the debugger to:• Run-time access to memory and variables• Trace displayThe debugger inhibits the following:• To stop the program execution• All features of the debugger that are intrusive (e.g. action Spot for

breakpoints, performance analysis via StopAndGo mode, condi-tional breakpoints, etc.)

Format: SYStem.LOCK [ON | OFF]

PPC600 Family Debugger 40 ©1989-2019 Lauterbach GmbH

Page 41: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

SYStem.MemAccess Real-time memory access (non-intrusive).

CPU specific:

The run-time memory access has to be activated for each window by using the access class E: (e.g. Data.dump E:0x100) or by using the format option %E (e.g. Var.View %E var1). It is also possible to activate this non-intrusive memory access for all memory ranges displayed on the TRACE32 screen by setting SYStem.Option DUALPORT ON.

NOTE: SYStem.MemAccess CPU is only available for the MPC86XX.

Format: SYStem.MemAccess CPU | Denied | <cpu_specific>SYStem.ACCESS (deprecated)

CPU Real-time memory access during program execution to target is enabled.

Denied (default) Real-time memory access during program execution to target is disabled.

QMON Select QNX monitor (pdebug) for Run Mode Debugging of embedded QNX. Ethernet is used as communication interface. For more information, “Run Mode Debugging Manual QNX” (rtos_qnx_run.pdf).

PPC600 Family Debugger 41 ©1989-2019 Lauterbach GmbH

Page 42: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

SYStem.Mode Select operation mode

Select target reset mode.

Format: SYStem.Mode <mode>

<mode>: Down | NoDebug | Go | Attach | StandBy | Up

Down Disables the Debugger. The debugger does not influence the target or the running application. The output signals of the debug cable are tristated.

NoDebug Resets the target with debug mode disabled. In this mode no debugging is possible. The CPU state keeps in the state of NoDebug and the output signals of the debug cable are tristated.

Go Resets the target with debug mode enabled and prepares the CPU for debug mode entry. After this command the CPU is in the system.up mode and running. Now, the processor can be stopped with the break command or until any break condition occurs.

Attach Connect to the processor without asserting reset. The state of the target/application does not change. After this command the CPU is in the system.up mode and running.

StandBy If this mode is used to start debugging from power-on. The debugger will wait until power-on is detected and then stop the CPU at the first instruction at the reset address. Not available for all PowerPC families covered by this manual.

Up Resets the target and sets the CPU to debug mode. After execution of this command the CPU is stopped and prepared for debugging. All register are set to the default value.

PPC600 Family Debugger 42 ©1989-2019 Lauterbach GmbH

Page 43: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

SYStem.CONFIG.state Display target configuration

Opens the SYStem.CONFIG.state window, where you can view and modify most of the target configuration settings. The configuration settings tell the debugger how to communicate with the chip on the target board and how to access the on-chip debug and trace facilities in order to accomplish the debugger’s operations.

Alternatively, you can modify the target configuration settings via the TRACE32 command line with the SYStem.CONFIG commands. Note that the command line provides additional SYStem.CONFIG commands for settings that are not included in the SYStem.CONFIG.state window.

Format: SYStem.CONFIG.state [/<tab>]

<tab>: DebugPort | Jtag

<tab> Opens the SYStem.CONFIG.state window on the specified tab. For tab descriptions, see below.

DebugPort Lets you configure the electrical properties of the debug connection, such as the communication protocol or the used pinout.

Jtag Informs the debugger about the position of the Test Access Ports (TAP) in the JTAG chain which the debugger needs to talk to in order to access the debug and trace facilities on the chip.

PPC600 Family Debugger 43 ©1989-2019 Lauterbach GmbH

Page 44: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

SYStem.CONFIG Configure debugger according to target topology

The four parameters IRPRE, IRPOST, DRPRE, DRPOST are required to inform the debugger about the TAP controller position in the JTAG chain, if there is more than one core in the JTAG chain (e.g. ARM + DSP). The information is required before the debugger can be activated e.g. by a SYStem.Up. See Daisy-chain Example.For some CPU selections (SYStem.CPU) the above setting might be automatically included, since the required system configuration of these CPUs is known.

TriState has to be used if several debuggers (“via separate cables”) are connected to a common JTAG port at the same time in order to ensure that always only one debugger drives the signal lines. TAPState and TCKLevel define the TAP state and TCK level which is selected when the debugger switches to tristate mode. Please note: nTRST must have a pull-up resistor on the target, TCK can have a pull-up or pull-down resistor, other trigger inputs need to be kept in inactive state.

Format: SYStem.CONFIG <parameter> <number_or_address>SYStem.MultiCore <parameter> <number_or_address> (deprecated)

<parameter>: CORE <core>

<parameter>:(JTAG):

DRPRE <bits>DRPOST <bits>IRPRE <bits>IRPOST <bits>TAPState <state>TCKLevel <level>TriState [ON | OFF]Slave [ON | OFF]

Multicore debugging is not supported for the DEBUG INTERFACE (LA-7701).

CORE For multicore debugging one TRACE32 PowerView GUI has to be started per core. To bundle several cores in one processor as required by the system this command has to be used to define core and processor coordinates within the system topology.Further information can be found in SYStem.CONFIG.CORE.

DRPRE (default: 0) <number> of TAPs in the JTAG chain between the core of interest and the TDO signal of the debugger. If each core in the system contributes only one TAP to the JTAG chain, DRPRE is the number of cores between the core of interest and the TDO signal of the debugger.

PPC600 Family Debugger 44 ©1989-2019 Lauterbach GmbH

Page 45: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

DRPOST (default: 0) <number> of TAPs in the JTAG chain between the TDI signal of the debugger and the core of interest. If each core in the system contributes only one TAP to the JTAG chain, DRPOST is the number of cores between the TDI signal of the debugger and the core of interest.

IRPRE (default: 0) <number> of instruction register bits in the JTAG chain between the core of interest and the TDO signal of the debugger. This is the sum of the instruction register length of all TAPs between the core of interest and the TDO signal of the debugger.

IRPOST (default: 0) <number> of instruction register bits in the JTAG chain between the TDI signal and the core of interest. This is the sum of the instruction register lengths of all TAPs between the TDI signal of the debugger and the core of interest.

TAPState (default: 7 = Select-DR-Scan) This is the state of the TAP controller when the debugger switches to tristate mode. All states of the JTAG TAP controller are selectable.

TCKLevel (default: 0) Level of TCK signal when all debuggers are tristated.

TriState (default: OFF) If several debuggers share the same debug port, this option is required. The debugger switches to tristate mode after each debug port access. Then other debuggers can access the port. JTAG: This option must be used, if the JTAG line of multiple debug boxes are connected by a JTAG joiner adapter to access a single JTAG chain.

Slave (default: OFF) If more than one debugger share the same debug port, all except one must have this option active.JTAG: Only one debugger - the “master” - is allowed to control the signals nTRST and nSRST (nRESET).

PPC600 Family Debugger 45 ©1989-2019 Lauterbach GmbH

Page 46: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

Daisy-Chain Example

Below, configuration for core C.

Instruction register length of

• Core A: 3 bit

• Core B: 5 bit

• Core D: 6 bit

SYStem.CONFIG.IRPRE 6. ; IR Core D

SYStem.CONFIG.IRPOST 8. ; IR Core A + B

SYStem.CONFIG.DRPRE 1. ; DR Core D

SYStem.CONFIG.DRPOST 2. ; DR Core A + B

SYStem.CONFIG.CORE 0. 1. ; Target Core C is Core 0 in Chip 1

Core A Core B Core C Core D TDOTDI

Chip 0 Chip 1

PPC600 Family Debugger 46 ©1989-2019 Lauterbach GmbH

Page 47: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

TapStates

0 Exit2-DR

1 Exit1-DR

2 Shift-DR

3 Pause-DR

4 Select-IR-Scan

5 Update-DR

6 Capture-DR

7 Select-DR-Scan

8 Exit2-IR

9 Exit1-IR

10 Shift-IR

11 Pause-IR

12 Run-Test/Idle

13 Update-IR

14 Capture-IR

15 Test-Logic-Reset

PPC600 Family Debugger 47 ©1989-2019 Lauterbach GmbH

Page 48: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

SYStem.CONFIG.CORE Assign core to TRACE32 instance

Default coreindex: depends on the CPU, usually 1. for generic chips

Default chipindex: derived from CORE= parameter of the configuration file (config.t32). The CORE parameter is defined according to the start order of the GUI in T32Start with ascending values.

To provide proper interaction between different parts of the debugger the systems topology must be mapped to the debuggers topology model. The debugger model abstracts chips and sub-cores of these chips. Every GUI must be connect to one unused core entry in the debugger topology model. Once the SYStem.CPU is selected a generic chip or none generic chip is created at the default chipindex.

None Generic Chips

None generic chips have a fixed amount of sub-cores with a fixed CPU type.

First all cores have successive chip numbers at their GUIs. Therefore you have to assign the coreindex and the chipindex for every core. Usually the debugger does not need further information to access cores in none generic chips, once the setup is correct.

Generic Chips

Generic chips can accommodate an arbitrary amount of sub-cores. The debugger still needs information how to connect to the individual cores e.g. by setting the JTAG chain coordinates.

Start-up Process

The debug system must not have an invalid state where a GUI is connected to a wrong core type of a none generic chip, two GUI are connected to the same coordinate or a GUI is not connected to a core. The initial state of the system is value since every new GUI uses a new chipindex according to its CORE= parameter of the configuration file (config.t32). If the system contains fewer chips than initially assumed, the chips must be merged by calling SYStem.CONFIG.CORE.

Format: SYStem.CONFIG.CORE <core_index> <chip_index>SYStem.MultiCore.CORE <core_index> <chip_index> (deprecated)

<chip_index>: 1 … i

<core_index>: 1 … k

PPC600 Family Debugger 48 ©1989-2019 Lauterbach GmbH

Page 49: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

CPU specific System Commands

SYStem.Option BASE Set base address for on-chip peripherals

MPC8260, MPC8280 and compatible

Set SYStem.Option BASE to the base address of the internal memory map.The debugger uses this address to disable the watchdog and to show the memory mapped registers of the on-chip peripherals (see PER).

MPC8240

SYStem.Option BASE is not required and can be set to AUTO or 0x00000000.

MPC83XX, MPC512X, MPC5200, MPC86XX

The debugger will determine the current base address via JTAG access. This option has no effect.

PPC603x, PPC750xx, MPC755, PPC74XX

SYStem.Option BASE is usually not required. It can be used to set the base address of the memory mapped registers of an external memory/peripheral controller (MPC10X, TSI1xx, MV6xxxx, etc.)

Format: SYStem.Option Base [AUTO | <value>]

AUTO The debugger reads the RCW from FLASH to detect the base address of the internal memory map address. Only works during SYStem.Up.AUTO does not work, if the default reset configuration is used or if the RCW is only visible during reset (e.g. when provided by an EPLD).

<value> Use if AUTO does not work, if using SYStem.Attach, or if the application changes IMMR.

Before SYStem.Up:If the default reset configuration is used, set value 0x00000000. If the RCW is only visible during reset (e.g. when provided by an EPLD), set the appropriate value.

SYStem.Attach, or when application changes IMMR:Set the value that the internal memory map address set by the application. Must be set correctly before core is halted.

PPC600 Family Debugger 49 ©1989-2019 Lauterbach GmbH

Page 50: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

SYStem.Option BUS32 Use 32-Bit data-bus mode

Default: OFF. Enable this option if the CPU is operated in the reduced 32-bit data bus width mode. This mode is often used in designs with PPC603e processors.

SYStem.Option CONFIG Select RCW configuration

For MPC82XX only. When SYStem.Option BASE is set to AUTO, this setting defines if the RCW is read from the location designated to the configuration master, or from one of the seven locations designated to the configuration slaves. By default setting, the debugger will read from the configuration master location.

Format: SYStem.Option BUS32 [ON | OFF]

Format: SYStem.Option CONFIG [Master | Slave1..7]

PPC600 Family Debugger 50 ©1989-2019 Lauterbach GmbH

Page 51: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

SYStem.Option DCREAD Read from data cache

Data.dump windows for access class D: displays the memory value from the data caches if valid. If no valid data is found in the caches, the physical memory will be read. If supported by the CPU unified L2/L3 caches will also be used if this system option is enabled

The following table describes how DCREAD and ICREAD influence the behavior of the debugger commands that are used to display memory.

SYStem.Option DUALPORT Implicitly use run-time memory access

Forces all list, dump and view windows to use the access class E: (e.g. Data.dump E:0x100) or to use the format option %E (e.g. Var.View %E var1) without being specified. Use this option if you want all windows to be updated while the processor is executing code. This setting has no effect if SYStem.Option MemAccess is disabled or real-time memory access not available for used CPU.

Please note that while the CPU is running, MMU address translation can not be accesses by the debugger. Only physical addresses accesses are possible. Use the access class modifier “A:” to declare the access physical addressed, or declare the address translation in the debugger-based MMU manually using TRANSlation.Create.

Format: SYStem.Option DCREAD [ON | OFF]

If caching is disabled via the appropriate hardware registers (HID0 for PPC603 Series) or cache is invalid, read and writes from/to memory will directly reflect to contents of physical memory even if a cache access class is selected.

DC: IC: NC: D: P:

ICREAD offDCREAD off

D-Cache I-Cache phys. mem. phys. mem. phys. mem.

ICREAD onDCREAD off

D-Cache I-Cache phys. mem. phys. mem. I-Cache

ICREAD offDCREAD on

D-Cache I-Cache phys. mem. D-Cache phys. mem.

ICREAD onDCREAD on

D-Cache I-Cache phys. mem. D-Cache I-Cache

Format: SYStem.Option DUALPORT [ON | OFF]

PPC600 Family Debugger 51 ©1989-2019 Lauterbach GmbH

Page 52: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

SYStem.Option FREEZE Freeze timebase when core halted

When enabled, the core’s timebase is stopped when the core is halted in debug mode. It is recommended to set this option ON.

SYStem.Option HOOK Compare PC to hook address

The command defines the hook address. After program break the hook address is compared against the program counter value.

If the values are equal, it is supposed that a hook function was executed. This information is used to determine the right break address by the debugger.

Format: SYStem.Option FREEZE [ON | OFF]

Format: SYStem.Option HOOK <address> | <address_range>

PPC600 Family Debugger 52 ©1989-2019 Lauterbach GmbH

Page 53: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

SYStem.Option HRCWOVerRide Override HRCW on SYStem.Up

MPC83XX and MPC512X only. Override the HRCW on SYStem.Up via JTAG. To disable this system option, call without parameter. This command is usually required to connect to a processor with erased/empty flash (HRCW not set).

Usage:

SYStem.Option ICFLUSH Invalidate instruction cache before go/step

Format: SYStem.Option HRCWOVerRide <value>

<value> Hard reset configuration word (64 bit) in the order 0xHHHHHHHHLLLLLLLL

NOTE: • The CPU will remember and use the overridden HRCW until the next power cycle or power-on reset.

• If JTAG_HRESET is connected to CPU_PORESET, SYStem.Option HRCWOVerRide will only work in conjunction with SYStem.Option ResetMode JTAG_HRST.

SYStem.CPU MPC8360SYStem.Option HRCWOVerRide 0x8060000004040006SYStem.UpSYStem.Option HRCWOVerRide

; select CPU; desired HRCW; reset processor; disable HRCW; override

Format: SYStem.Option ICFLUSH [ON | OFF]

ON Invalidates the instruction cache before starting the target program (Step or Go).

OFF Write accesses by the debugger to the memory of the class P: are performed in the instruction cache and the memory.

PPC600 Family Debugger 53 ©1989-2019 Lauterbach GmbH

Page 54: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

SYStem.Option ICREAD Read from instruction cache

Data.List window and Data.dump window for access class P: displays the memory value from the instruction cache if valid. If I-cache is not valid the physical memory will be read. If supported by the CPU, L2 caches will also be used if this system option is enabled.

SYStem.Option IMASKASM Disable interrupts while single stepping

Default: OFF. If enabled, the interrupt mask bits of the CPU will be set during assembler single-step operations. The interrupt routine is not executed during single-step operations. After single step the interrupt mask bits are restored to the value before the step.

SYStem.Option IMASKHLL Disable interrupts while HLL single stepping

Default: OFF. If enabled, the interrupt mask bits of the cpu will be set during HLL single-step operations. The interrupt routine is not executed during single-step operations. After single step the interrupt mask bits are restored to the value before the step.

NOTE: Don’t enable this option for code that disables MSR_EE. The debugger will disable MSR_EE while the CPU is running and restore it after the CPU stopped. If a part of the application is executed that disables MSE_EE, the debugger can not detect this change and will restore MSE_EE.

Format: SYStem.Option ICREAD [ON | OFF]

Format: SYStem.Option IMASKASM [ON | OFF]

Format: SYStem.Option IMASKHLL [ON | OFF]

PPC600 Family Debugger 54 ©1989-2019 Lauterbach GmbH

Page 55: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

SYStem.Option IP Set MSR_IP value for breakpoints / SYStem.Up

This option is used by the debugger to use the correct exception handler for the software breakpoints. See also Software Breakpoints.

SYStem.Option LittleEnd True little endian mode

Enable this system option if the PowerPC core is operated in true little endian mode. If the CPU is operated in modified (PowerPC) little endian mode, use command SYStem.Option PPCLittleEnd.

To find out which mode is supported by the target processor, see Little Endian Operation.

SYStem.Option MemProtect Enable memory access safeguard

PowerQuicc II (MPC824X, MPC826X, MPC827X, MPC8280) only.

This option can help to prevent a hanging memory bus caused by debugger accesses to unimplemented memory. USe together with SYStem.Option BASE AUTO.

Format: SYStem.Option IP [0 | 1 | AUTO | BOTH]

AUTO Depend on the current/last state of the MSR[IP] bit the debugger uses the lower or the higher exception handler.

0 Independent of the MSR[IP] the debugger uses the lower exception handler at 0x00000700.

1 Independent of the MSR[IP] the debugger uses the higher exception handler at 0xFFFF0700.

BOTH Use both exception handler addresses. Only available for CPUs with two or more instruction address on-chip breakpoints (MPC8280, MPC83XX and compatible).

Format: SYStem.Option LittleEnd [ON | OFF]

Format: SYStem.Option MemProtect [ON | OFF]

PPC600 Family Debugger 55 ©1989-2019 Lauterbach GmbH

Page 56: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

Usage:

• Set SYStem.Option BASE to AUTO if RSTCONF is read from FLASH, or set the IMMR base address manually for any other options.

• SYStem.Option MemProtect ON; CS7 or 11 will be enable on system.up for safe memory accesses

• SYStem.Up

• SYStem.Option BASE AUTO ; enable automatic IMMR change detection

• Start execution until the instruction that changes IMMR is reached, e.g. GO 0xFFF09038 /ONCHIP

• Step.ASM; assembler single step

• Now the debugger will use the new IMMR address for peripheral view and servicing the watchdog.

SYStem.Option MemSpeed Configure memory access timing

This option can be used to configure the access speed for memory accesses by the debugger. Only use this option when advised by Lauterbach.

SYStem.Option MMUSPACES Separate address spaces by space IDs

Default: OFF.

Enables the use of space IDs for logical addresses to support multiple address spaces.

Format: SYStem.Option MemSpeed <value>

<value>: 1 (fastest) … 255 (slowest)0 (default speed)

Format: SYStem.Option MMUSPACES [ON | OFF]SYStem.Option MMUspaces [ON | OFF] (deprecated)SYStem.Option MMU [ON | OFF] (deprecated)

PPC600 Family Debugger 56 ©1989-2019 Lauterbach GmbH

Page 57: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

For an explanation of the TRACE32 concept of address spaces (zone spaces, MMU spaces, and machine spaces), see “TRACE32 Glossary” (glossary.pdf).

Examples:

SYStem.Option NoDebugStop Disable JTAG stop on debug events

Default: OFF.

On-chip debug events Breakpoint (instruction/data address), single step and branch trace can be configured to cause one of two actions. If a JTAG debugger is used, the CPU is configured to stop for JTAG upon these debug events.

If this option is set to ON, the CPU will be configured to not stop for JTAG, but to enter the breakpoint/trace interrupt, like it does when no JTAG debugger is used.

Enable this option if the CPU should not stop for JTAG on debug events, in order to allow a target application to use debug events. Typical usages for this option are run-mode debugging (e.g. with t32server/gdbserver) or setting up the system for a branch trace via LOGGER (trace data in target RAM) or INTEGRATOR.

NOTE: SYStem.Option MMUSPACES should not be set to ON if only one translation table is used on the target.

If a debug session requires space IDs, you must observe the following sequence of steps:

1. Activate SYStem.Option MMUSPACES.

2. Load the symbols with Data.LOAD.

Otherwise, the internal symbol database of TRACE32 may become inconsistent.

;Dump logical address 0xC00208A belonging to memory space with ;space ID 0x012A:Data.dump D:0x012A:0xC00208A

;Dump logical address 0xC00208A belonging to memory space with ;space ID 0x0203:Data.dump D:0x0203:0xC00208A

Format: SYStem.Option NoDebugStop [ON | OFF]

PPC600 Family Debugger 57 ©1989-2019 Lauterbach GmbH

Page 58: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

SYStem.Option NOTRAP Use alternative software breakpoint instruction

Defines which instruction is used as software breakpoint instruction.

If the program interrupt is required by the application, and both FPU and ILL are not usable, use SYStem.Option PINTDebug as workaround.

Format: SYStem.Option NOTRAP <type>

<type>: OFF | FPU | ILLON (deprecated, same as FPU)

OFF Use TRAP instructions as software breakpoint (default setting). Software breakpoint will overwrite SRR0/1 registers.

FPU Use an FPU instruction as software breakpoint. Gives the ability to use the program interrupt in the application without halting for JTAG.This setting only works if the application does not use floating point instructions (neither hardware nor software emulated). MSR[FP] must be set to 0 at all times.Software breakpoint will overwrite SRR0/1 registers.

ILL Use an illegal instruction as software breakpoint. This setting is recommended for MPC82XX, MPC5200, RHPPC (G2/G2_LE cores) and MPC830X, MPC831X, MPC832X and MPC512X (e300c2/3/4). Gives the ability to use the program interrupt in the application without halting for JTAG.Illegal instructions as software breakpoints will preserve SRR0/1 registers.

PPC600 Family Debugger 58 ©1989-2019 Lauterbach GmbH

Page 59: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

SYStem.Option OVERLAY Enable overlay support

Default: OFF.

Example:

SYStem.Option PARITY Generate parity on memory access

Compute the parity bit for the Data.Set command to support memory with parity.

Format: SYStem.Option OVERLAY [ON | OFF | WithOVS]

ON Activates the overlay extension and extends the address scheme of the debugger with a 16 bit virtual overlay ID. Addresses therefore have the format <overlay_id>:<address>. This enables the debugger to handle overlaid program memory.

OFF Disables support for code overlays.

WithOVS Like option ON, but also enables support for software breakpoints. This means that TRACE32 writes software breakpoint opcodes to both, the execution area (for active overlays) and the storage area. This way, it is possible to set breakpoints into inactive overlays. Upon activation of the overlay, the target’s runtime mechanisms copies the breakpoint opcodes to the execution area. For using this option, the storage area must be readable and writable for the debugger.

SYStem.Option OVERLAY ON Data.List 0x2:0x11c4 ; Data.List <overlay_id>:<address>

Format: SYStem.Option PARITY [ON | OFF]

PPC600 Family Debugger 59 ©1989-2019 Lauterbach GmbH

Page 60: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

SYStem.Option PINTDebug Program interrupt debugging

Software breakpoints for e300/e600 (former PPC603e based) cores are implemented using the TRAP instruction. However, the CPU will not stop for JTAG directly on the TRAP instruction. Instead, the TRAP instruction causes a program interrupt. To let the CPU stop for JTAG, the debugger sets an on-chip breakpoint to the program interrupt address (’0700).

The on-chip breakpoint at the program interrupt address will stop on all program interrupts, not just for TRAP instructions. If the cause of the program interrupt is other than TRAP, the debugger will print a message, the instruction pointer will be set to the instruction that caused the interrupt.

Enable this option, if it is necessary to execute program interrupts not caused by TRAP. The debugger will restart the CPU automatically. This event will be displayed in the status line. Please note that this feature has an impact on the real-time behavior, because the CPU will stop for a short time every time a program interrupt occurs.

SYStem.Option PPCLittleEnd PPC little endian mode

Enable this system option if the PowerPC core is operated in modified (PowerPC) little endian mode. If the CPU is configured for true little endian mode, use the command SYStem.Option LittleEnd.

To find out which mode is supported by the target processor, see Little Endian Operation.

Format: SYStem.Option PINTDebug [ON | OFF]

NOTE: • On some PowerPC core derivatives, SYStem.Option PINTDebug can not support debugging of illegal instruction type program interrupts. In this case, illegal instructions halt the core similar to software breakpoints, but without affecting SRR registers).

Affected processors are:- MPC82XX, MPC5200 and RHPPC (G2/G2_LE cores)- MPC830x (e200c4), MPC831x (e300c3) and MPC832x (e200c2)- MPC512x (e200c4)

• If SYStem.Option PINTDebug is enabled, on-chip breakpoints at the first instruction of the program interrupt handler (’0700) are not possible. Set the on-chip breakpoint to ’0704 or other.

Format: SYStem.Option PPCLittleEnd [ON | OFF]

PPC600 Family Debugger 60 ©1989-2019 Lauterbach GmbH

Page 61: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

SYStem.Option PTE Evaluate PTE table for address translation

When OFF, the debugger will only evaluate BAT and ITLB/DTLB for address translation. When set to ON, the debugger will also evaluate the PTE table in memory for address translation.

Important: At the time this option is enabled, PTE table and SDR1 register have to be fully set up. If this option is enabled without PTE ready (or when memory is not yet initialized), wrong address translation or even general memory access fail can result. Related to this, make sure to disable this option before SYStem.Up or target reset.

SYStem.Option RESetBehavior Set behavior when target reset detected

Defines the debugger’s action when a reset is detected. Default setting is Disabled. The reset can only be detected and actions taken if it is visible to the debugger’s reset pin.

Format: SYStem.Option PTE [ON | OFF]

Format: SYStem.Option RESetBehavior <mode>

<mode>: DisabledAsyncHalt

Disabled No actions to the processor take place when a reset is detected. Information about the reset will be printed to the message AREA.

AsyncHalt Halt core as soon as possible after reset was detected. The core will halt shortly after the reset event.

PPC600 Family Debugger 61 ©1989-2019 Lauterbach GmbH

Page 62: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

SYStem.Option ResetMode Select reset mode for SYStem.Up

MPC83XX and MPC512x only. Default: PIN. Selects the method the debugger uses to reset the processor at SYStem.Up.

SYStem.Option SLOWRESET Relaxed reset timing

This system option defines, how the debugger will test JTAG_HRESET. For some system mode changes, the debugger will assert JTAG_HRESET. PEr default (OFF), the debugger will release RESET and then read the HRESET signal until the HRESET pin is released. Reset circuits of some target boards prevent that the current level of HRESET can be determined via JTAG_HRESET. If this system option is enabled, the debugger will not read JTAG_HRESET, but instead waits four seconds and then assumes that the boards HRESET is released.

Format: SYStem.Option ResetMode <mode>

<mode> PIN | JTAG_PORST | JTAG_HRST | JTAG_SRST

<mode> Effect at SYStem.Up.

PIN The reset pin (debug connector: pin 13) is asserted to reset the processor.

JTAG_HRST A hard reset issue is issued via JTAG. The debug connector’s reset pin is not asserted. This option requires that the HRCW is set via JTAG (see SYStem.Option HRCWOVerRide).

JTAG_PORST A power-on reset is issued via JTAG. The debug connector’s reset pin is not asserted. This option requires that the HRCW is set via JTAG (see SYStem.Option HRCWOVerRide).

JTAG_SRST A soft reset is issued via JTAG. The debug connector’s reset pin is not asserted.

Format: SYStem.Option SLOWRESET [ON | OFF]

PPC600 Family Debugger 62 ©1989-2019 Lauterbach GmbH

Page 63: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

SYStem.Option STEPSOFT Use alternative method for ASM single step

The alternative method circumvents a processor problem when a store type instruction is executed at the time a debug event occurs. This option is a workaround for the following errata:

• MPC7448 errata #24

• MPC8610 errata JTAG #2

• MPC8640/41 errata JTAG #4

Only enable this option, if one of the above processors is used and if the effect of this errata has been observed.

If the code to be debugged is located in RAM, SYStem.Option STEPSOFT can be used without further configuration.

If the code to be debugged is located in read-only memory, the alternative method can be used if RAM is available and free for debugger use. In this case, declare the read-only memory using MAP.BOnchip, and the RAM used by the debugger using FLASH.TARGET.

Format: SYStem.Option STEPSOFT [ON | OFF]

NOTE: The alternative workaround can only fix issues caused by single steps. Manual breaks and on-chip breakpoints can still be affected by the problem.

PPC600 Family Debugger 63 ©1989-2019 Lauterbach GmbH

Page 64: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

SYStem.Option WATCHDOG Leave software watchdog enabled

MPC8260, MPC8280, MPC83XX and compatible CPUs only.

Format: SYStem.Option WATCHDOG [ON | OFF]

ON While the CPU is stopped, the debugger will service the watchdog. When the application is running, the application is expected to service the watchdog.

OFF The debugger permanently disables the watchdog at SYStem.Up.

Software Watchdog Timer (SWT) — The SWT asserts a reset or non-maskable interrupt (as selected by the system protection control register) if the software fails to service the SWT for a designated period of time (e.g., because the software is trapped in a loop or lost). After a system reset, this function is enabled with a maximum time-out period and asserts a system reset if the time-out is reached. The SWT can be disabled or its time-out period can be changed in the SYPCR. Once the SYPCR is written, it cannot be written again until a system reset.

PPC600 Family Debugger 64 ©1989-2019 Lauterbach GmbH

Page 65: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

CPU specific MMU Commands

MMU.DUMP Page wise display of MMU translation table

Displays the contents of the CPU specific MMU translation table.

• If called without parameters, the complete table will be displayed.

• If the command is called with either an address range or an explicit address, table entries will only be displayed if their logical address matches with the given parameter.

Format: MMU.DUMP <table> [<range> | <address> | <range> <root> | <address> <root>] MMU.<table>.dump (deprecated)

<table>: PageTableKernelPageTableTaskPageTable <task_magic> | <task_id> | <task_name> | <space_id>:0x0<cpu_specific_tables>

<root> The <root> argument can be used to specify a page table base address deviating from the default page table base address. This allows to display a page table located anywhere in memory.

PageTable Displays the current MMU translation table entries of the CPU. This command reads all tables the CPU currently uses for MMU translation and displays the table entries.

KernelPageTable Displays the MMU translation table of the kernel.If specified with the MMU.FORMAT command, this command reads the MMU translation table of the kernel and displays its table entries.

TaskPageTable <task_magic> | <task_id> | <task_name> | <space_id>:0x0

Displays the MMU translation table entries of the given process. Specify one of the TaskPageTable arguments to choose the process you want.In MMU-based operating systems, each process uses its own MMU translation table. This command reads the table of the specified process, and displays its table entries.• For information about the first three parameters, see “What to

know about the Task Parameters” (general_ref_t.pdf).• See also the appropriate OS Awareness Manuals.

PPC600 Family Debugger 65 ©1989-2019 Lauterbach GmbH

Page 66: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

CPU specific tables in MMU.DUMP <table>

ITLB Displays the contents of the Instruction Translation Lookaside Buffer.

DTLB Displays the contents of the Data Translation Lookaside Buffer.

BAT Displays the contents of the BAT table.

PTE Displays the contents of the PTE table.

PPC600 Family Debugger 66 ©1989-2019 Lauterbach GmbH

Page 67: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

MMU.List Compact display of MMU translation table

Lists the address translation of the CPU-specific MMU table.

• If called without address or range parameters, the complete table will be displayed.

• If called without a table specifier, this command shows the debugger-internal translation table. See TRANSlation.List.

• If the command is called with either an address range or an explicit address, table entries will only be displayed if their logical address matches with the given parameter.

Format: MMU.List <table> [<range> | <address> | <range> <root> | <address> <root>] MMU.<table>.List (deprecated)

<table>: PageTableKernelPageTableTaskPageTable <task_magic> | <task_id> | <task_name> | <space_id>:0x0

<root> The <root> argument can be used to specify a page table base address deviating from the default page table base address. This allows to display a page table located anywhere in memory.

PageTable Lists the current MMU translation of the CPU. This command reads all tables the CPU currently uses for MMU translation and lists the address translation.

KernelPageTable Lists the MMU translation table of the kernel.If specified with the MMU.FORMAT command, this command reads the MMU translation table of the kernel and lists its address translation.

TaskPageTable <task_magic> | <task_id> | <task_name> | <space_id>:0x0

Lists the MMU translation of the given process. Specify one of the TaskPageTable arguments to choose the process you want.In MMU-based operating systems, each process uses its own MMU translation table. This command reads the table of the specified process, and lists its address translation.• For information about the first three parameters, see “What to

know about the Task Parameters” (general_ref_t.pdf).• See also the appropriate OS Awareness Manuals.

PPC600 Family Debugger 67 ©1989-2019 Lauterbach GmbH

Page 68: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

MMU.SCAN Load MMU table from CPU

Loads the CPU-specific MMU translation table from the CPU to the debugger-internal static translation table.

• If called without parameters, the complete page table will be loaded. The list of static address translations can be viewed with TRANSlation.List.

• If the command is called with either an address range or an explicit address, page table entries will only be loaded if their logical address matches with the given parameter.

Use this command to make the translation information available for the debugger even when the program execution is running and the debugger has no access to the page tables and TLBs. This is required for the real-time memory access. Use the command TRANSlation.ON to enable the debugger-internal MMU table.

Format: MMU.SCAN <table> [<range> <address>]MMU.<table>.SCAN (deprecated)

<table>: PageTableKernelPageTableTaskPageTable <task_magic> | <task_id> | <task_name> | <space_id>:0x0ALL<cpu_specific_tables>

PageTable Loads the current MMU address translation of the CPU. This command reads all tables the CPU currently uses for MMU translation, and copies the address translation into the debugger-internal static translation table.

KernelPageTable Loads the MMU translation table of the kernel.If specified with the MMU.FORMAT command, this command reads the table of the kernel and copies its address translation into the debugger-internal static translation table.

TaskPageTable <task_magic> | <task_id> | <task_name> | <space_id>:0x0

Loads the MMU address translation of the given process. Specify one of the TaskPageTable arguments to choose the process you want.In MMU-based operating systems, each process uses its own MMU translation table. This command reads the table of the specified process, and copies its address translation into the debugger-internal static translation table.• For information about the first three parameters, see “What to know

about the Task Parameters” (general_ref_t.pdf).• See also the appropriate OS Awareness Manual.

ALL Loads all known MMU address translations. This command reads the OS kernel MMU table and the MMU tables of all processes and copies the complete address translation into the debugger-internal static translation table. See also the appropriate OS Awareness Manual.

PPC600 Family Debugger 68 ©1989-2019 Lauterbach GmbH

Page 69: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

CPU specific Tables in MMU.SCAN <table>

MMU.Set Write MMU TLB entries to CPU

Loads the specified MMU translation table from the CPU to the debugger-internal MMU table. Writing ITLB and DTLB is not supported for all processors.

ITLB Loads the instruction translation table from the CPU to the debugger-internal translation table.

DTLB Loads the data translation table from the CPU to the debugger-internal translation table.

BAT Loads the Block Address Translation table from the CPU to the debugger-internal translation table.

PTE Loads the PTE table from the CPU to the debugger-internal translation table.

Format: MMU.Set <table> <index> <way> <tlbhi> <tlblo> [<tlbext>]

<table>: ITLBDTLB

<index> Index (entry/set number) in TLB table

<tlbhi>, <tlblo>, <tlbext>

Data of the TLB entry.

<way> Way number within the set

DTLB Translation lookaside buffer for data load and store accesses

ITLB Translation lookaside buffer for instruction fetches

PPC600 Family Debugger 69 ©1989-2019 Lauterbach GmbH

Page 70: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

CPU specific BenchMarkCounter Commands

The BenchMarkCounter features are based on the core’s performance monitor, accessed through the performance monitor registers (PMR). Only processors with e300c3 and e300c4 cores have performance monitor registers:

• MPC830X

• MPC831X

• MPC512X

PMR access is only possible while the core is halted. For other processors, the BenchMarkCounter features are not available.

BMC.FREEZE Freeze counters while core halted

Enable this setting to prevent that actions of the debugger have influence on the performance counter. As this feature software controlled (no on-chip feature), some events (especially clock cycle measurements) may be counted inaccurate even if this setting is set ON.

BMC.<counter>.SIZE No function

Since only one counter size is possible, this command is only available for compatibility reasons.

NOTE: • For information about architecture-independent BMC commands, refer to “BMC” (general_ref_b.pdf).

• For information about architecture-specific BMC commands, see command descriptions below.

• Events can be assigned to the BMC commands BMC.<counter>.EVENT <event> and BMC.<counter>.RATIO X/<counter n>. For descriptions of available events, see Freescale’s e300 core reference manual (Table 11-9, Performance Monitor Event Selection).

Format: BMC.FREEZE [ON | OFF]

Format: BMC.<counter>.SIZE <size>

PPC600 Family Debugger 70 ©1989-2019 Lauterbach GmbH

Page 71: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

CPU specific TrOnchip Commands

TrOnchip.DISable Disable debug register control

Not supported. The debugger always controls the debug registers.

TrOnchip.ENable Enable debug register control

Not supported. The debugger always controls the debug registers.

TrOnchip.CONVert Adjust range breakpoint in on-chip resource

The on-chip breakpoints can only cover specific ranges. If a range cannot be programmed into the breakpoint, it will automatically be converted into a single address breakpoint when this option is active. This is the default. Otherwise an error message is generated.

The features supported by the TrOnchip command for TRACE32-ICD vary for the different PowerPC families.

Format: TrOnchip.DISable

Format: TrOnchip.ENable

Format: TrOnchip.CONVert [ON | OFF]

TrOnchip.CONVert ONBreak.Set 0x1000--0x17ff /WriteBreak.Set 0x1001--0x17ff /Write…

TrOnchip.CONVert OFFBreak.Set 0x1000--0x17ff /WriteBreak.Set 0x1001--0x17ff /Write

; sets breakpoint at range; 1000--17ff sets single breakpoint; at address 1001

; sets breakpoint at range; 1000--17ff; gives an error message

PPC600 Family Debugger 71 ©1989-2019 Lauterbach GmbH

Page 72: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

TrOnchip.VarCONVert Adjust complex breakpoint in on-chip resource

The on-chip breakpoints can only cover specific ranges. If you want to set a marker or breakpoint to a complex variable, the on-chip break resources of the CPU may be not powerful enough to cover the whole structure. If the option TrOnchip.VarCONVert is set to ON, the breakpoint will automatically be converted into a single address breakpoint. This is the default setting. Otherwise an error message is generated.

TrOnchip.RESet Reset on-chip trigger settings

Resets the trigger system to the default state.

TrOnchip.state Display on-chip trigger window

Opens the TrOnchip.state window.

TrOnchip.TEnable Set filter for the trace

Refer to the Break.Set command to set trace filters.

Format: TrOnchip.VarCONVert [ON | OFF]

Format: TrOnchip.RESet

Format: TrOnchip.state

Format: TrOnchip.TEnable <par> (deprecated)

PPC600 Family Debugger 72 ©1989-2019 Lauterbach GmbH

Page 73: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

TrOnchip.TOFF Switch the sampling to the trace to OFF

Refer to the Break.Set command to set trace filters.

TrOnchip.TON Switch the sampling to the trace to “ON”

Refer to the Break.Set command to set trace filters.

TrOnchip.TTrigger Set a trigger for the trace

Refer to the Break.Set command to set a trigger for the trace.

Format: TrOnchip.TOFF (deprecated)

Format: TrOnchip.TON EXT | Break (deprecated)

Format: TrOnchip.TTrigger <par> (deprecated)

PPC600 Family Debugger 73 ©1989-2019 Lauterbach GmbH

Page 74: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

Mechanical Description

JTAG/COP Connector PPC603e/700/MPC8200

Signal Pin Pin Signal

TDO 1 2 (QACK-)TDI 3 4 TRST-

(QREQ-) 5 6 JTAG-VREFTCK 7 8 (PRESENT-)TMS 9 10 N/C

(SRESET-) 11 12 GNDHRESET- 13 - N/C (KEY PIN)

(CKSTOP-) 15 16 GND

NOTE: • This is a standard 16 pin double row (two rows of eight pins) connector (pin-to-pin spacing: 0.100 in).

• Pin 6 (connected to VCCS) should have a resistance less than 5kOhm for 3.0~5.0V, less than 2kOhm for 1.8~3.0V.

• Pin 8 is permanently driven high (level of VCCS) by the debug cable.• Signal in brackets are not needed by the debugger and can be left uncon-

nected.• If CPUs have an QACK input and this input is unused, QACK should be

connected to GND. If the processor does not have QACK/QREQ pins, leave pin 2 and 15 N/C

PPC600 Family Debugger 74 ©1989-2019 Lauterbach GmbH

Page 75: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

Technical Data

Operation Voltage

Adapter OrderNo Voltage Range

JTAG Debugger for PPC603/MPC74x/75x (ICD) LA-7721 1.6 .. 5.5 V

Adapter OrderNo Voltage Range

JTAG Debugger for MPC74xx (ICD) LA-7719 1.6 .. 5.5 V

PPC600 Family Debugger 75 ©1989-2019 Lauterbach GmbH

Page 76: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

Support

Available Tools

CP

U

ICE

FIR

E

ICD

DE

BU

G

ICD

MO

NIT

OR

ICD

TR

AC

E

PO

WE

RIN

TE

GR

ATO

R

INS

TR

UC

TIO

NS

IMU

LA

TOR

MPC603E3 YES YESMPC603EV2 YES YESMPC740 YES YESMPC745 YES YESMPC750 YES YESMPC755 YES YESPC603R YES YESPC745 YES YESPC755 YES YESPPC603E3 YES YESPPC603EV2 YES YESPPC740 YES YESPPC750 YES YESPPC750CL YES YESPPC750CX YES YESPPC750CXE YES YESPPC750CXR YES YESPPC750FL YES YESPPC750FX YES YESPPC750GL YES YESPPC750GX YES YESRHPPC YES YESTSPC603R YES YES

PPC600 Family Debugger 76 ©1989-2019 Lauterbach GmbH

Page 77: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

CP

U

ICE

FIR

E

ICD

DE

BU

G

ICD

MO

NIT

OR

ICD

TR

AC

E

PO

WE

RIN

TE

GR

ATO

R

INS

TR

UC

TIO

NS

IMU

LA

TOR

MPC7400 YES YESMPC7410 YES YESMPC7441 YES YESMPC7445 YES YESMPC7447 YES YESMPC7447A YES YESMPC7448 YES YESMPC7450 YES YESMPC7451 YES YESMPC7455 YES YESMPC7457 YES YESPC7410 YES YESPC7447A YES YESPC7448 YES YESPC7457 YES YES

CP

U

ICE

FIR

E

ICD

DE

BU

G

ICD

MO

NIT

OR

ICD

TR

AC

E

PO

WE

RIN

TE

GR

ATO

R

INS

TR

UC

TIO

NS

IMU

LA

TOR

MPC603E3 YES YESMPC603EV2 YES YESMPC740 YES YESMPC745 YES YESMPC750 YES YESMPC755 YES YESPC603R YES YESPC745 YES YESPC755 YES YESPPC603E3 YES YESPPC603EV2 YES YESPPC740 YES YESPPC750 YES YESPPC750CL YES YESPPC750CX YES YES

PPC600 Family Debugger 77 ©1989-2019 Lauterbach GmbH

Page 78: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

Compilers

PPC750CXE YES YESPPC750CXR YES YESPPC750FL YES YESPPC750FX YES YESPPC750GL YES YESPPC750GX YES YESRHPPC YES YESTSPC603R YES YES

CP

U

ICE

FIR

E

ICD

DE

BU

G

ICD

MO

NIT

OR

ICD

TR

AC

E

PO

WE

RIN

TE

GR

ATO

R

INS

TR

UC

TIO

NS

IMU

LA

TOR

MGT5100 YES YESMPC5121 YES YESMPC5123 YES YESMPC5125 YES YESMPC5200 YES YESMPC5200B YES YES

Language Compiler Company Option Comment

ADA GNAT PRO AdaCore ELF/DWARF not all ADA constructs/DWARF

ADA GNAT GNU Compiler Collection

ELF/DWARF

C CXPPC Cosmic Software ELF/DWARFC XCC-V GAIO Technology Co.,

Ltd.SAUF

C GREEN-HILLS-C Greenhills Software Inc. ELF/DWARFC MCCPPC Mentor Graphics

CorporationELF/DWARF

CP

U

ICE

FIR

E

ICD

DE

BU

G

ICD

MO

NIT

OR

ICD

TR

AC

E

PO

WE

RIN

TE

GR

ATO

R

INS

TR

UC

TIO

NS

IMU

LA

TOR

PPC600 Family Debugger 78 ©1989-2019 Lauterbach GmbH

Page 79: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

C CC NXP Semiconductors XCOFFC ULTRA-C Radisys Inc. ROFC HIGH-C Synopsys, Inc ELF/DWARFC DCPPC TASKING ELF/DWARFC D-CC Wind River Systems IEEEC D-CC Wind River Systems COFFC D-CC Wind River Systems ELF/DWARFC++ GCC GNU Compiler

CollectionELF/DWARF

C++ GREEN-HILLS-C++

Greenhills Software Inc. ELF/DWARF

C++ CCCPPC Mentor Graphics Corporation

ELF/DWARF

C++ MSVC Microsoft Corporation EXE/CV5 WindowsCEC++ HIGH-C++ Synopsys, Inc ELF/DWARFC++ D-C++ Wind River Systems ELF/DWARFC++ GCCPPC Wind River Systems ELF/STABSC/C++ GNAT PRO AdaCore ELF/DWARFC/C++ GCC HighTec EDV-Systeme

GmbHELF/DWARF

C/C++ CODEWARRIOR NXP Semiconductors ELF/DWARFGCC GCC GNU Compiler

CollectionELF/DWARF

JAVA FASTJ Wind River Systems ELF/DWARF

Language Compiler Company Option Comment

PPC600 Family Debugger 79 ©1989-2019 Lauterbach GmbH

Page 80: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

Target Operating Systems

Company Product Comment

KadakProducts Ltd. AMXOracle Corporation ChorusOSCMX Systems Inc. CMX-RTXDDC-I, Inc. DEOS implemented by DDC-IElektrobit Automotive GmbH

EB tresos AutoCore OS via ORTI

Elektrobit Automotive GmbH

EB tresos Safety OS via ORTI

eCosCentric Limited ECOS 1.3, 2.0 and 3.0ETAS GmbH ERCOSEK via ORTIEvidence Erika via ORTIfreeRTOS FreeRTOS up to v9HIPPEROS S.A. HIPPEROS implemented by HIPPEROS- Linux Kernel Version 2.4 and 2.6, 3.x, 4.xMontaVista Software, LLC Linux 3.0, 3.1, 4.0, 5.0Lynx Software Technologies Inc.

LynxOS 3.1.0, 3.1.0a, 4.0

NXP Semiconductors MQX 3.x and 4.xSynopsys, Inc MQX 2.40 and 2.50- NetBSDMISPO Co. Ltd. NORTiMentor Graphics Corporation

Nucleus PLUS

Radisys Inc. OS-9Enea OSE Systems OSE Delta 4.x and 5.x- OSEK via ORTINXP Semiconductors OSEKturbo via ORTI/former MetrowerksOSEKSysgo AG PikeOS up to 4.2.1Elektrobit Automotive GmbH

ProOSEK via ORTI

Wind River Systems pSOS+ 2.1 to 2.5, 3.0, with TRACE32QNX Software Systems QNX 6.0 to 7.0RTEMS RTEMS up to v5Quadros Systems Inc. RTXC 3.2Quadros Systems Inc. RTXC QuadrosSciopta ScioptaMicro Digital Inc. SMX 3.4 to 4.3Express Logic Inc. ThreadX 3.0, 4.0, 5.0Micrium Inc. uC/OS-II 2.0 to 2.92- uITRON HI7000, RX4000, NORTi,PrKernelMentor Graphics Corporation

VRTXsa

Wind River Systems VxWorks 5.x to 7.x

PPC600 Family Debugger 80 ©1989-2019 Lauterbach GmbH

Page 81: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

PPC600 Family Debugger 81 ©1989-2019 Lauterbach GmbH

Page 82: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

3rd-Party Tool Integrations

CPU Tool Company Host

WINDOWS CE PLATF. BUILDER

- Windows

CODE::BLOCKS - -C++TEST - WindowsADENEO -X-TOOLS / X32 blue river software GmbH WindowsCODEWRIGHT Borland Software

CorporationWindows

CODE CONFIDENCE TOOLS

Code Confidence Ltd Windows

CODE CONFIDENCE TOOLS

Code Confidence Ltd Linux

EASYCODE EASYCODE GmbH WindowsECLIPSE Eclipse Foundation, Inc WindowsRHAPSODY IN MICROC IBM Deutschland GmbH WindowsRHAPSODY IN C++ IBM Deutschland GmbH WindowsCHRONVIEW Inchron GmbH WindowsLDRA TOOL SUITE LDRA Technology, Inc. WindowsUML DEBUGGER LieberLieber Software

GmbHWindows

SIMULINK The MathWorks Inc. WindowsATTOL TOOLS MicroMax Inc. WindowsVISUAL BASIC INTERFACE

Microsoft Corporation Windows

LABVIEW NATIONAL INSTRUMENTS Corporation

Windows

TPT PikeTec GmbH WindowsCANTATA QA Systems Ltd WindowsRAPITIME Rapita Systems Ltd. WindowsTESSY Razorcat Development

GmbHWindows

DA-C RistanCASE WindowsTRACEANALYZER Symtavision GmbH WindowsECU-TEST TraceTronic GmbH WindowsUNDODB Undo Software LinuxTA INSPECTOR Vector WindowsVECTORCAST UNIT TESTING

Vector Software Windows

VECTORCAST CODE COVERAGE

Vector Software Windows

POWERPC OSE ILLUMINATOR Enea OSE Systems WindowsPOWERPC DIAB RTA SUITE Wind River Systems Windows

PPC600 Family Debugger 82 ©1989-2019 Lauterbach GmbH

Page 83: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

PPC600 Family Debugger 83 ©1989-2019 Lauterbach GmbH

Page 84: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

Products

Product Information

OrderNo Code Text

LA-7721 DEBUG-PPC603

JTAG Debugger for PPC603/MPC74x/75x (ICD)supports (1.8V - 5.0V) PPC603, MPC74x and MPC75xincludes software for Windows, Linux and MacOSXrequires Power Debug Moduledebug cable with 16 pin connector

LA-7721X DEBUG-PPC603-X

JTAG Debugger Extension for PPC603(ICD)JTAG Debugger for PPC603/MPC74x/75xrequires a valid software guaranty or a validsoftware maintenance keyplease add the serial number of the base debugcable to your order

OrderNo Code Text

LA-7719 DEBUG-PPC74XX

JTAG Debugger for MPC74xx (ICD)supports (1.8V - 5.0V) MPC7410includes software for Windows, Linux and MacOSXrequires PowerDebug Moduledebug cable with 16 pin connector

LA-7719X DEBUG-PPC74XX-X

JTAG Debugger Extension for MPC74xx (ICD)supports MPC74XXrequires a valid software guaranty or a validsoftware maintenance keynot suitable for debug cables older than 02/2004(blue ribbon cable)please add the serial number of the base debugcable to your order

OrderNo Code Text

LA-7734 JTAG-MPC5200

JTAG Debugger for MPC5200/MPC512x (ICD)supports (1.8V - 5.0V) MGT5100, MPC512x, MPC5200includes software for Windows, Linux and MacOSXrequires Power Debug Moduledebug cable with 16 pin connector

LA-7734X JTAG-MPC5200-X

JTAG Debugger Extension for MPC5200/MPC512xsupports MGT5100, MPC5200, MPC512xrequires a valid software guaranty or a validsoftware maintenance keyplease add the serial number of the base debugcable to your order

PPC600 Family Debugger 84 ©1989-2019 Lauterbach GmbH

Page 85: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

OrderNo Code Text

LA-7729 DEBUG-MPC8260

JTAG Debugger for MPC82xx/MPC83xx(ICD)supports (1.8V - 5.0V) MPC82xx, MPC83xxincludes software for Windows, Linux and MacOSXrequires Power Debug Moduledebug cable with 16 pin connector

LA-7729X DEBUG-MPC8260-X

JTAG Debugger Extension for MPC82xx/MPC83xxsupports (1.8V - 5.0V) MPC82xx, MPC83xx(whisker version of the debug cable)requires a valid software guaranty or a validsoftware maintenance keyplease add the serial number of the base debugcable to your order

PPC600 Family Debugger 85 ©1989-2019 Lauterbach GmbH

Page 86: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

Order Information

Order No. Code Text

LA-7721 DEBUG-PPC603 JTAG Debugger for PPC603/MPC74x/75x (ICD)LA-7721X DEBUG-PPC603-X JTAG Debugger Extension for PPC603(ICD)

Additional OptionsLA-7729X DEBUG-MPC8260-X JTAG Debugger Extension for MPC82xx/MPC83xxLA-3735X DEBUG-MPC86XX-X JTAG Debugger Extension for MPC86xxLA-3794X DEBUG-PPC-QORIQ64-X JTAG Debugger Ext. QorIQ PowerPC 64-BitLA-7719X DEBUG-PPC74XX-X JTAG Debugger Extension for MPC74xx (ICD)LA-3796X DEBUG-PQ3-X JTAG Debugger Ext. for MPC85XX/QorIQ e500LA-3795X DEBUG-QORIQ32-X JTAG Debugger Ext. for QorIQ PowerPC 32-BitLA-7734X JTAG-MPC5200-X JTAG Debugger Extension for MPC5200/MPC512xLA-7960X MULTICORE-LICENSE License for Multicore Debugging

Order No. Code Text

LA-7719 DEBUG-PPC74XX JTAG Debugger for MPC74xx (ICD)LA-7719X DEBUG-PPC74XX-X JTAG Debugger Extension for MPC74xx (ICD)

Additional OptionsLA-7729X DEBUG-MPC8260-X JTAG Debugger Extension for MPC82xx/MPC83xxLA-3735X DEBUG-MPC86XX-X JTAG Debugger Extension for MPC86xxLA-3794X DEBUG-PPC-QORIQ64-X JTAG Debugger Ext. QorIQ PowerPC 64-BitLA-7721X DEBUG-PPC603-X JTAG Debugger Extension for PPC603(ICD)LA-3796X DEBUG-PQ3-X JTAG Debugger Ext. for MPC85XX/QorIQ e500LA-3795X DEBUG-QORIQ32-X JTAG Debugger Ext. for QorIQ PowerPC 32-BitLA-7734X JTAG-MPC5200-X JTAG Debugger Extension for MPC5200/MPC512xLA-7960X MULTICORE-LICENSE License for Multicore Debugging

PPC600 Family Debugger 86 ©1989-2019 Lauterbach GmbH

Page 87: PPC600 Family Debugger - Lauterbach · PPC600 Family Debugger 6 ©1989-2019 Lauterbach GmbH Warning Signal Level ESD Protection All The debugger drives the output pins of the BDM/JTAG/COP

Order No. Code Text

LA-7734 JTAG-MPC5200 JTAG Debugger for MPC5200/MPC512x (ICD)LA-7734X JTAG-MPC5200-X JTAG Debugger Extension for MPC5200/MPC512x

Additional OptionsLA-7729X DEBUG-MPC8260-X JTAG Debugger Extension for MPC82xx/MPC83xxLA-3735X DEBUG-MPC86XX-X JTAG Debugger Extension for MPC86xxLA-3794X DEBUG-PPC-QORIQ64-X JTAG Debugger Ext. QorIQ PowerPC 64-BitLA-7721X DEBUG-PPC603-X JTAG Debugger Extension for PPC603(ICD)LA-7719X DEBUG-PPC74XX-X JTAG Debugger Extension for MPC74xx (ICD)LA-3796X DEBUG-PQ3-X JTAG Debugger Ext. for MPC85XX/QorIQ e500LA-3795X DEBUG-QORIQ32-X JTAG Debugger Ext. for QorIQ PowerPC 32-Bit

Order No. Code Text

LA-7729 DEBUG-MPC8260 JTAG Debugger for MPC82xx/MPC83xx(ICD)LA-7729X DEBUG-MPC8260-X JTAG Debugger Extension for MPC82xx/MPC83xx

Additional OptionsLA-3735X DEBUG-MPC86XX-X JTAG Debugger Extension for MPC86xxLA-3794X DEBUG-PPC-QORIQ64-X JTAG Debugger Ext. QorIQ PowerPC 64-BitLA-7721X DEBUG-PPC603-X JTAG Debugger Extension for PPC603(ICD)LA-7719X DEBUG-PPC74XX-X JTAG Debugger Extension for MPC74xx (ICD)LA-3796X DEBUG-PQ3-X JTAG Debugger Ext. for MPC85XX/QorIQ e500LA-3795X DEBUG-QORIQ32-X JTAG Debugger Ext. for QorIQ PowerPC 32-BitLA-7734X JTAG-MPC5200-X JTAG Debugger Extension for MPC5200/MPC512x

PPC600 Family Debugger 87 ©1989-2019 Lauterbach GmbH