Parsing failed

The file could not be parsed for debug symbols.

PARSE_FAILED

Symptoms

  • The upload completes, then parsing fails.
  • The same file loads in your debugger, or it does not — both cases are worth checking.

Likely causes

  • The image was linked without -g, so there are no DWARF sections to read.
  • The image was stripped after linking, by an explicit strip step or by -s in the link flags.
  • The file is a valid ELF for a host architecture, not an ARM Cortex-M image.
  • The debug info uses a DWARF version the parser does not cover.

How to fix it

  1. Check whether DWARF is present at all

    If this prints nothing, the problem is the build, not the upload — nothing on our side can recover symbols that were never emitted.

    arm-none-eabi-readelf -S firmware.elf | grep debug
  2. Rebuild with debug info and without stripping

    Add -g to the compile flags and remove -s from the link flags. A release build can keep -O2 and still carry full DWARF.

    CFLAGS  += -g
    LDFLAGS := $(filter-out -s,$(LDFLAGS))
  3. Confirm the target architecture

    The header should report an ARM machine type. A host-built binary will parse as something else entirely.

    arm-none-eabi-readelf -h firmware.elf | grep Machine