Skip to content

Add L552 stack-corruption trace demo and source reports - #5

Merged
thorstendb-ARM merged 4 commits into
mainfrom
feature/stack-corruption
Oct 8, 2026
Merged

thorstendb-ARM merged 4 commits into
mainfrom
feature/stack-corruption

Conversation

@thorstendb-ARM

Copy link
Copy Markdown
Owner

Add the ULINKplus StackCorruption target set for NUCLEO-L552ZE-Q. It creates an additional thread that deliberately overwrites the magic word of its 256-byte RTX stack. A single DWT write watch emits the responsible PC over SWO; the normal debug start/stop workflow writes the capture and converts it to CSV. Other demo trace sources are disabled.

Add the Trace Stack Magic corruption test skill to verify the trace setup, run a capture, resolve PCs with arm-none-eabi-addr2line, and open a Markdown report with one section per CSV record. Each section contains source code, a project-relative location, and a source-based explanation. A report-only mode analyzes an existing CSV without a build or debug session. The CSV stays unchanged; no capture archives or sidecar files are created.

Validation:

  • Diff checks, Python syntax checks, and skill validation passed.
  • Offline helper tests covered report generation, report-only mode, and preservation of input files.
  • Hardware results documented in docs/VALIDATION.md from 2026-10-05 confirmed stack-magic corruption, RTX detection, and uninterrupted SWO capture with PC resolution. These are prior results; no new firmware build or hardware run was performed for this PR update.

Known limitation: breakpoints near the corrupting store can lose its PC packet. The automated capture runs uninterrupted through the write before stopping.

@thorstendb-ARM
thorstendb-ARM marked this pull request as ready for review October 8, 2026 12:23
@thorstendb-ARM
thorstendb-ARM merged commit c0b573f into main Oct 8, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant