Workshop - November 2011 - Toulouse
Socket - PSI-E
Use Case SocketDebug Blocks
PSI-E
GoalsIncrease observability of operations within SOC
[Event, Bus Monitoring, …]Modular and progressive solution to address a large
panel of applicationsLimited pin counts to access all debug resources
HW and SW
Integration
U-BootCom/PSI-E
Dual Core LeonGaisler
ToolsMagilem
Debug BlockPSI-S
RtemsGaisler
LinuxCom/PSI-E
GDB serverCom/PSI-S
GDB hostCom/Gaisler/
PSI-S
OpenOCDCom/PSI-S
UART Debug Linux Driver
PSI-S
HW/SW IF
Kernel/User IF
ADIUART PSI
Xilinx ML506
I386 Host Linux
InterCore SwitchPSI-E
UART Debug Rtems Driver
PSI-S
GDB serverCom/PSI-S
UART Debug Linux Driver
PSI-S
UART Debug Linux Driver
PSI-S
Hardware DebugBackground
Event and bus Monitoring available via OpenOCD (telnet session)No high level functionality available to driver monitoring (trigger
done via rw access to configuration registers)
TestMonitoring of dual core AHB bus during 15 minutes (buffering).
Results buffered (target) and uploaded (host) in a file for offline analysis.
Useful time ordered log files available for tracing system events
Software DebugBackground
Bootloader and Kernel Debugging via DSU using OpenOCD/GDB features
Application Debugging using GDB server running on the target and GDB client on host (use of pseudo uart).
TestSimple Kernel debugging [breakpoints, variable
watching]Simple Hello world application debugging [breakpoint,
variable watching] All commonly used GDB functionalities are available
ConclusionConvenience of SOC added debug observables
verifiedAll in One Debug interface for HW and SW offers a
convenient way of debugging Need of new high Level functionalities to access
debug blocks HW feature for a more convenient use and possible debug automation