
Embedded Firmware Debugger
Debug embedded firmware crashes in minutes with dump analysis
What You Can Do
You can analyze firmware crash dumps, register states, and memory layouts to identify root causes without manual hex digging. This skill reconstructs stack traces, detects memory corruption patterns, and flags real-time constraint violations. It supports ARM Cortex-M, RISC-V, and other architectures, helping you pinpoint elusive bugs in production scenarios or post-mortem investigations.
Features
Extract meaningful data from ELF binaries and core dumps with symbol resolution
Decode ARM/RISC-V registers and identify suspicious values and state anomalies
Map stack, heap, and data segments to detect corruption boundaries and overflow
Link addresses to function symbols and source code lines for fast navigation
Spot priority inversion, deadlocks, and scheduler constraint violations
Debug ARM Cortex-M, RISC-V, x86, and PowerPC firmware issues
Parse GDB output and breakpoint logs for correlating crashes with system state
Trace initialization sequences and memory remapping issues
Example Output
Example 1: Hard Fault Diagnosis
Input: ARM Cortex-M4 crash dump with registers r0-r15, PSR, CFSR, BFAR
Output:
- Root Cause: Stack overflow in ISR context
- Evidence: PSR.SPSEL=1, stack pointer 0x20000100 collides with heap at 0x20000104
- Call Stack: HardFault_Handler ← SysTick_ISR ← malloc (recursive call)
- Recommendation: Increase stack size or refactor ISR to use static buffers
Example 2: Memory Corruption Detection
Input: Heap corruption at 0x20002000, adjacent block overwritten
Output:
- Corruption Pattern: Size marker overwritten with 0xDEADBEEF
- Suspect Allocation: malloc at main.c:142 allocated 64 bytes, wrote 128
- Root Cause: strcpy without bounds checking in parse_config()
- Fix: Replace with strncpy and verify bounds at compile-time
What's Included
- SKILL.md: Embedded firmware debugging workflows and decision trees
- Crash Dump Analysis Checklist: Step-by-step guide for interpreting register states and stack traces
- Register Reference: ARM Cortex-M and RISC-V register field meanings and exception codes
- Memory Corruption Template: Heap/stack overflow detection and boundary analysis
- GDB Command Cheat Sheet: Extract memory, dump registers, set breakpoints, automate inspection
- Post-Mortem Workflow: Analyze production crashes without live device access
Who It's For
- Embedded Systems Engineers — Debug firmware in microcontrollers and SoCs
- Firmware Developers — Diagnose RTOS and bootloader issues
- Device Driver Engineers — Analyze kernel crashes and memory violations
- IoT/Edge Developers — Troubleshoot production deployments remotely
- Hardware Validation Engineers — Correlate crashes with hardware state transitions
Best For
- Production Crash Analysis — Diagnose crashes without live device access
- Memory Corruption — Detect heap overflow, stack corruption, and use-after-free bugs
- Real-Time Issues — Identify priority inversion, missed deadlines, and scheduler violations
- Bootloader Debugging — Trace initialization sequences and memory remapping problems
- RTOS Integration — Analyze task state, semaphore deadlocks, and context switch anomalies







