Commit Graph

3 Commits

Author SHA1 Message Date
Dr. Christian Giessen
22da85de66 Add DM cross-reference tool
tools/dm_xref.py extracts all DM address references from PM code
and shows the actual DM contents at those addresses:
- I-register loads with matching L-register buffer lengths
- Direct DM(addr) reads and writes
- CNTR loop counters
- Hex, decimal, and Q15 format for DM content
- Automatic detection of uninitialized (zero) regions
- Configurable context window (--context N words)
2026-04-27 13:52:41 +00:00
Dr. Christian Giessen
e790736868 Add firmware overview tool for quick structural analysis
tools/firmware_overview.py analyzes PM binaries and reports:
- Memory map (empty / DSP kernel / control flow / code+data)
- Entry point detection
- All DO UNTIL loops with MAC operation count
- All immediate constants with register names and addresses
- I/O operations with ADSP-2191 peripheral register names
- Optional DM cross-reference (I-reg targets)
- Summary statistics

Includes ADSP-2191 I/O register name table for SPORT, SPI,
UART, Timer, GPIO, DMA, System Controller, and Interrupts.
2026-04-27 13:49:40 +00:00
Dr. Christian Giessen
ddccae54a0 Add DM analysis tool
tools/analyze_dm.py scans 16-bit DM dumps for:
- Null regions (BSS, uninitialized memory)
- Q15 coefficient tables with range and average
- Periodic waveforms (sine/cosine lookup tables)
- ASCII strings
- Unclassified data regions with hex preview

Supports big-endian (default) and little-endian byte order.
Outputs DM word addresses for cross-reference with PM code.
2026-04-27 12:13:42 +00:00