FAQ for FIRE-PPC The embedded tools company
Upper Address Lines on MPC850/823 (MPC850/823)
Access classes on MPC8xx (MPC8XX)
Breakpoints don't work (MPC8XX)
CPU does not Stop (MPC8XX)
Debug Port Fail (MPC8XX)
Device (MPC8XX)
Hints when Debugging PowerPC with Cache (MPC8XX)
Key Registers (MPC8XX)
Low Power Modes (MPC8XX)
SEI Interrupt (MPC8XX)
Verify Error at Single-Step or Breakpoint (MPC8XX)
Exceptions and Stepping (MPC8XX/5XX)



FAQ for FIRE-PPC

TOP       Upper Address Lines on MPC850/823 (MPC850/823)
The upper 6 addresses in the trace of the MPC850 are always 0. What can I do to get these addresses become true.
 
On the MPC850/MPC823, not all internal address lines are available on the external pins of the chip. For the trace, it is necessary to know the value of each CS Base Register to reconstruct the upper 6 addresslines. Use the
SYSTEM.OPTION CSxBR
to tell the tool these values.

TOP       Access classes on MPC8xx (MPC8XX)
What is the difference between the memory dump D: C: and P:
 
On the PowerPC, there is no difference. Because it is not recommended to split the memory in program/data using PowerPC, we don't divide program and data space. The two access classes are available out of the ICE history, to be compatible with processors that have these different access types.

TOP       Breakpoints don't work (MPC8XX)
My triggerunit doesn't react on Alpha breakpoints
 
The MPC8xx have a very tricky interface for adapting to different types of RAM. This User Programable Machine (UPM) is used to create a project specific timing for your hardware. If you are using a DRAM, the address lines of the CPU are multiplexed for this memory type. The FIRE emulator is not able to work with this multiplexed address lines.
For internal mapping or setting asynchronous hardware breakpoints, it is necessary that the CPU shows the complete address at the begin of each cycle. Therefore, the CSNT/SAM bit in the option register of the appropriate chip select has to be set to 0.
If this change is done, the timing of your target interface changes, and the setting of the UPM ram has to be changed according to this.

TOP       CPU does not Stop (MPC8XX)
My CPU runs fine, but does not stop if I press the break button.
 
The fire needs the information if the CPU runs in the user program or has stopped (freeze indication). There are two possibilitys to get the information that the CPU has stopped:
1. VFLS0 and VFLS1 line are high. The VFLS functionality is shared with different signals. To get the VFLS functionality, the debug pin configuration in the system interface unit module configuration register has to be set to 11.
2. The freeze line is high. The freeze functionality is shared with IRQ6. To get the freeze functionality, the FRC bit in the system interface unit module configuration register has to be set to 0.
By default, the VFLS pins are used for freeze indication. To switch the freeze line as freeze indcation, the SYSTEM.OPTION FREEZE has to be switched on.
Check if your software don't overwrite the value of the SIUMCR with a wrong value.

TOP       Debug Port Fail (MPC8XX)
I get the error message "emulation debug port fail" when activating the system with SYS.MODE EE or SYS.MODE EI in target
 
Probably the CPU gets no CPU clock due to problems of the internal PLL.
To be sure if this is the reason, check the cpuclock in the counter system.
Probably the MODCK configuration, the value of the filter capacitor on the XFC line or the value of the internal VCO don't match.

TOP       Device (MPC8XX)
When running in target memory, the CPU stops suddenly, status line showing stopped by see
 
Possibly, there is a problem of the bus interface between the CPU in the active probe of the emulator and the memory on the target.
1. Check if a data.test is possible in your memory
If possible, check if the CPU performs burst cycles, switch the burst inhibit bit of the appropriate CS on
If not possible, the timing of your target ram is probably very sharp. On UPM timing, try slower settings, on GPCM timing, add a waitstate.

TOP       Hints when Debugging PowerPC with Cache (MPC8XX)
Are there any usefull tricks to know when debugging with cache
 
SYS.OPTION ICREAD:
    The I-cache is considered when displaying data windows
SYS.OPTION DCREAD
    The D-cache is considered when displaying data windows
SYS.OPTION ICFLUSH
    The I-cache is flushed before a go or step (Necessary for removing the software breakpoints out of the instruction cache after a stop at a program breakpoint)


TOP       Key Registers (MPC8XX)
There are several key registers on the MPC8xx. It seems it is not possible to write the key value 55CCAA33.
 
The key registers are no read back registers. So, it is not possible to read the value back you have written to. The function of the key register (to enable/disable the access to the belonging control register) is available.

TOP       Low Power Modes (MPC8XX)
Are the Low Power Modes available?
 
All low power modes are available in general. It is possible to enter the low power mode and exit it through user program. While low power mode is active, no break is possible. The low power mode has to be exited by an user defined event (normaly an interrupt) before a break can be executed.

TOP       SEI Interrupt (MPC8XX)
I'm using the software emulation interrupt in my code. But every time an SEI occurs the CPU stops and doesn't process my interrupt handler
 
The decision if an interrupt stops the CPU or is processed in the handler is done by the debug enable register of the CPU. To manipulate this register use the Trigger.Onchip. The command is:
TO.SET SEIE OFF

TOP       Verify Error at Single-Step or Breakpoint (MPC8XX)
I get the error message: verify error at address ..., Stepping is possible, Go till is not possible
 
Normaly, the MPC8xx uses software BP as program breakpoints. If it is not possible to patch the code at the requested address, the debugger will display the error message:
    verfiy error at address (address)
HLL stepping is done in single stepping mode then: The debugger repeats assembler steps until the cpu reaches the next HLL line.
Reason for impossible write actions are:
    1. The target memory is a ROM/FLASH/EPROM
    2. The appropriate CS is switched to ReadOnly mode
If there is a read only memory in target, it is not possible to patch the code. Then it is necessary to tell the debugger the addresses where the internal on-chip breakpoints have to be used. Use the instruction:
    MAP.BOnchip (addressrange)


TOP       Exceptions and Stepping (MPC8XX/5XX)
What happens if I step through my code and an exception occurs?
 
If you step in the main program, an exception will be executed and the cpu returns to your main program (if the software of the exception handler is o.k.) while stepping. So, if you are using a FIRE, you can see the exception in the trace.
If the exception is switched to a debug event in the trigger onchip menu, the debugger will stop on the line and no more stepping is possible.



Navigation
Copyright © 2008 Lauterbach Datentechnik GmbH, Fichtenstr. 27, D-85649 Hofolding, Germany  Impressum
The information presented is intended to give overview information only.
Changes and technical enhancements or modifications can be made without notice.
Last generated/modified: Nov-4-2008