summaryrefslogtreecommitdiff
path: root/test/vendor/ceedling/docs/UnityHelperScriptsGuide.md
diff options
context:
space:
mode:
authorhathach <[email protected]>2026-09-03 17:14:39 +0700
committerhathach <[email protected]>2026-09-04 04:21:57 +0700
commit463ff1f3d2d97b53659364d7c4cde99693688100 (patch)
treefe241055450ca900d947af7cd32ae6b2ac6a3802 /test/vendor/ceedling/docs/UnityHelperScriptsGuide.md
parentd2de029fd9def460d66e87fd1088cc49ed0f4574 (diff)
sysview: add the skill - headless SystemView capture and reporting
SKILL.md leads with the capture routes ranked by evidence: OpenOCD RTT streaming through the rtt skill's tools/rtt.py (--channel 1 --reset-before-attach, since the Init record that carries the timestamp frequency and sync preamble is emitted once at boot; 238 KB captured without it decodes to zero events), the live GUI recorder under Xvfb for depth, and --from-raw post-mortem decode last. boards.md holds the per-board reference: probe routes, RAM bases, measured buffer sizes, the full-pool campaign table and the honest capture status of every board tried, including the gaps: nrf5340dk HardFaults in vTaskStartScheduler before any task runs; PIO-USB host ISRs are invisible to level-1 coverage (fruit_jam); metro_m4_express is attach-only (the SAMD5x DSU CPU Reset Extension holds the core after an in-session reset run); WCH is dump-only - the QingKe SDI has no autonomous memory access, so a persistent debug session corrupts the running core ~1.9 s into USB traffic, ruled out against lock, post-mortem mode and firmware; a stray TU_ASSERT still halts for inspection rather than being silenced. sysview_record.py drives the capture end to end and refuses to back up its own ini stub as the user's SystemView config (a SIGKILLed run had consumed the real backup that way). sysview_report.py turns the exported CSV into the JSON report: ISR load, function pairing and durations, workload-window CPU load from the scheduling events. Returns are classified on the bare 'Returns' detail - SystemView annotates a duration on only ~0.5% of them (measured on stm32f407disco and raspberry_pi_pico), and when the annotation is absent the duration comes from the recorded timestamps, verified the same quantity at 167.998 vs a declared 168.000 ticks/us over 264 annotated returns. Both loss markers count as overflow: explicit '*** Overflow ***' rows and 'Returns to *** OVERFLOW ***' exit contexts - only counting the first understated real loss by two orders of magnitude.
Diffstat (limited to 'test/vendor/ceedling/docs/UnityHelperScriptsGuide.md')
0 files changed, 0 insertions, 0 deletions