Skip to question
asic.fyi
DesignVerificationSystemVerilogFirmwareArchitectureInterviews
asic.fyi/Interview questions/Triage an intermittent firmware hang from a crash dump

Hardware interview practice

Triage an intermittent firmware hang from a crash dump

MediumHardware-Software IntegrationC

A Cortex-M system occasionally trips its watchdog. You have PC=0x08001234, LR=0x08005679, SP=0x20001000, 64 stack bytes, fault registers, a build ID, and the exact ELF/map candidate. Describe a deterministic triage sequence.

Try it in the question bankReason first. Then compare.

Keep this exact question selected while you check your answer and review the full solution.

Practice this question →
Reviewed example

Work through one case

Input
PC maps to queue_pop+0x18 in the matching ELF, but SP=0x10000003 is outside the documented SRAM range
Expected output
Report queue_pop as the fault site, mark the unwind unreliable, and prioritize stack-corruption and invalid-SP evidence

A symbolized PC is useful even when the stack is bad, but arbitrary stack words must not be presented as a trustworthy call chain.

What to cover

Requirements

  1. Confirm the dump build ID matches the ELF before symbolizing any address.
  2. Symbolize PC and LR, decode the exception frame and fault registers, and inspect the faulting instruction and stacked arguments.
  3. Validate SP range and alignment; unwind only frames supported by valid stack data and identify task versus interrupt context.
  4. If the evidence is insufficient, add a bounded timestamped flight recorder rather than guessing from an unreliable backtrace.
asic.fyi · Learn silicon end to end.info@asic.fyi