Describing target hardware in debuggers Aaron Spear DEBUG
Describing target hardware in debuggers Aaron Spear DEBUG TECHNOLOGIES ARCHITECT ACCELERATED TECHNOLOGY DIVISION Feb 2006 DSDP Meeting/Toronto
Agenda n n Common needs for debuggers Quick look at AT’s proprietary solution Existing standards/SPIRIT Extending SPIRIT for debug use 2 Nucleus EDGE Architecture - company confidential Accelerated Technology
Debugger features tied to hw details n n n Board/connection information (e. g. JTAG scan chain info) Registers (native, coprocessor, peripherals) Memory maps Help building apps/validation — HW tools (e. g. memory testing, flashing) — Aid the debugger (e. g. ROM stepping) — n Initialization 3 Nucleus EDGE Architecture - company confidential Accelerated Technology
What is SPIRIT missing for debugger use? n n n Core internal register information Register use information (does reading a register change its contents? Important for a debugger!) Non-contiguous bitfields? 4 Nucleus EDGE Architecture - company confidential Accelerated Technology
Register specific information we need: n n n id, alternative id’s (e. g. “R 15”, “R 15_irq”) bit width register type (floating point? fixed point? ) access restrictions (RW) access hints/side effects — — — n n volatile contents reads are destructive writes may change state/invalidate other memory dependencies (visibility depends on another register/bit field) bit fields — — — which bits (non-contiguous!? ) value to text mapping formulas/masks for values default formatting hints (hex vs decimal) access (RW) 5 Nucleus EDGE Architecture - company confidential Accelerated Technology
Memory info we need? n address spaces — — — n id (“Memory”, “IO”, ”DATA”, “INST”) unit size (e. g. 8 bits) unit count (e. g. 2^32) Memory maps (core specific/shared) — — — — region name (“DRAM”, “FLASH”) space reference offset in space (units) unit count Access flags (RWXV) Required access sizes (none, 16 bit write? ) Memory type (RAM, Flash information) 6 Nucleus EDGE Architecture - company confidential Accelerated Technology
What is SPIRIT? SPIRIT stands for: “Structure for Packaging, Integrating and Reusing IP within Tool flows”, n n n Standard schema for description of HW IP blocks Standard interfaces for IP creation and configuration scripts (“generators”) Standard interfaces for “flow based” Electronic Design Automation (EDA) tools 7 Nucleus EDGE Architecture - company confidential Accelerated Technology
What is SPIRIT used for today? n Vendor neutral description of IP blocks for use by So. C design tools Interconnection of HW IP on an So. C — Routing of signals between IP blocks — Cores, peripherals, buses — n Focused on creation of So. C 8 Nucleus EDGE Architecture - company confidential Accelerated Technology
What does SPIRIT have that is cool for debugger vendors? n n n Standardized description of memory maps Address Spaces Buses/bridges between spaces Memory mapped registers (peripherals) Bit fields within registers If it was the memory map used in creation of the So. C, it is going to be correct! 9 Nucleus EDGE Architecture - company confidential Accelerated Technology
Thank You! www. acceleratedtechnology. com
- Slides: 10