The embedded tools company

Search FAQs

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

ARM WFI and power down modes

Ref: 0395
After booting Linux, why does the target die or loose connection to the debugger?

Many CPUs have special power saving modes if they spin in the idle loop. Usually these are encoded in pm_idle() - Check this. While the debugger tries to recover from power saving modes, this is not always possible. E.g. the WFI mode of some i.MX CPUs does not work with JTAG, and many Cortex-A CPUs power down the JTAG interface in idle. Check your distribution - In Freescale's Linux distribution for i.MX set the command line parameter "jtag=on" to disable WFI mode. In some other distributions there is a "nohlt" parameter to disable power down modes.

e500 breakpoints

Ref: 0426
Breakpoint are not working properly or stop working completely for the e500 cores

The Linux kernel for e500 cores (PQ3/MPC85XX/QorIQ P10XX/P2020) has to be patched to enable debugging via JTAG. The MSR_KERNEL macro defined in arch/powerpc/include/asm/reg_book.h needs to be changes to include the MSR_DE bit: #define MSR_KERNEL (MSR_ME|MSR_RI|MSR_CE|MSR_DE)

Kernel message "soft lockup"

Ref: 0388
What does the kernel message soft lockup mean?

The kernel detects when there is too much time gone between two timer ticks. This easily happens, if the system is halted with the debugger. Please switch off the soft lockup detection by disabling CONFIG_DETECT_SOFTLOCKUP in the kernel configuration.

Linux trace in simulator

Ref: 0304
What is needed to revise a Linux trace with a TRACE32 instruction set simulator?

Example for ARM926
; save trace recording
Trace.SAVE trace.ad
; save whole RAM address range
Data.SAVE.Binary image.bin ASD:<address_range>
; save registers
STORE regs.cmm register
; save important CP15 registers
Data.SAVE.Binary p15.bin C15:0x0--0xfff /Long
SYStem.Option MMUspaces ON    ; enable space ID
; load linux image
Data.LOAD.Binary image.bin ASD:address_range
; load registers
do regs.cmm
Data.LOAD.Binary cp15.bin c15:0
; load symbol information
Data.LOAD.Elf vmlinux /GNU /NOCODE
; specifiy MMU table format
MMU.FORMAT LINUX swapper_pg_dir <kernel-range> <RAM phys. address>
TRANSlation.COMMON 0xc000000--0xfffffff
TRANSlation.TableWalk ON
; configure Linux awareness
Menu.ReProgram linux
Help.Filter.ADD rtoslinux
; load trace recording
Trace.LOAD trace.ad

MMU.FORMAT LINUX swapper_pg_dir

Ref: 0255
Why does "MMU.FORMAT LINUX swapper_pg_dir" report "invalid combination"?

Space IDs must be switched on for this command to work: "SYStem.Option MMUSPACES ON".


Ref: 0425
The error message "PPCSIM Trap <number>" appears when using the Linux awareness

This error message is due to an incompatibility between the TRACE32 software and the loaded Linux awareness.

Problems with Onchip Breakpoints

Ref: 0252
After halting at a function entry point with an on-chip breakpoint, or after stepping into a new function, the Data.List window shows "???"for all assembler lines, even after rescanning the MMU.

You probably fell over the demand paging mechanism of Linux.
Please read the "On-Demand Paging" chapter in the Linux Awareness Manual.

SYstem.Option MMUSPACES ON/OFF Error

Ref: 0256
Why does "SYstem.Option MMUSPACES ON/OFF" report "Cannot change from short to long"?

This command executes only, if no symbols are loaded. Delete previous loaded symbols with "sYmbol.Delete".

TASK.MODULE Display Problems

Ref: 0254
After loading a new kernel module, TASK.MODULE shows nothing, dashed lines or errors.

The debugger couldn't resolve the virtual addresses of the new kernel module. Check the MMU and TRANSlation settings in your startup script. See also chapter "MMU Support" in the Linux Awareness Manual.

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