BUS-ERRORS on valid addresses (MPC826x/80/7x/41/42) |
||
![]() |
![]() |
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. Usage:
|
|
Problems when changing IMMR (software before 11/2007) (MPC82XX) |
||
![]() |
![]() |
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.
|
|
Problems when changing IMMR (sw since 11/2007) (MPC82XX) |
||
![]() |
![]() |
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:
Usage:
|
|
Processor seems to step backwards (MPC82XX) |
||
![]() |
![]() |
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. |
|
SYStem.Option.BASE.AUTO does not work (MPC82XX) |
||
![]() |
![]() |
There are few exceptions where SYStem.Option.BASE.AUTO (default setting) does not work: |
|
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. |
|
SYStem.Option.IP.AUTO does not work (MPC82XX) |
||
![]() |
![]() |
There are few exceptions where SYStem.Option.IP.AUTO (default setting) does not work: |
|
In all these cases the SYStem.Option.IP field has to be set to:
|
|
SYStem.UP fails when flash is not programmed (MPC82XX) |
||
![]() |
![]() |
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:
|
|
Cannot write to SYPCR (MPC82XX/83XX) |
||
![]() |
![]() |
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. |
|
Error Message: "emulation pod configuration error" (MPC82XX/83XX) |
||
![]() |
![]() |
Error message "emulation pod configuration error" after starting the T32 ICD software |
|
This error can have three sources:
|
|
Instruction/Data Address Breakpoints do not work (MPC82XX/83XX) |
||
![]() |
![]() |
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 MMU.ON to the command line. This command will enable MMU support of the debugger, which will configure the on-chip breakpoints properly. |
|
SYStem.UP fails when flash is not programmed (MPC83XX) |
||
![]() |
![]() |
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:
|
|


|
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: Oct-10-2008 |