-
fix(firmware): add vTaskDelay(1) yields in process_frame() at tier>=2 to fix WDT storm (#683)
发布于
2026-05-21 13:20:21 +00:00 At edge tier>=2 on N16R8 PSRAM boards,
process_frame()runs
update_multi_person_vitals()(4 persons × 256 history samples) plus
wasm_runtime_on_frame()back-to-back before returning toedge_task().
The existingvTaskDelay(1)inedge_task()only fires after
process_frame()returns — under sustained 30 pps CSI load on PSRAM
boards this leaves IDLE1 on Core 1 starved long enough for the 5-second
Task Watchdog Timer to fire.Fix: add two
vTaskDelay(1)calls insideprocess_frame(), both gated
ons_cfg.tier >= 2:- After
update_multi_person_vitals()(Step 11) - After
wasm_runtime_on_frame()dispatch (Step 14)
Tier 0/1 paths are unaffected. Validated on COM7 (N16R8 board):
Edge DSP task started on core 1 (tier=2), no WDT panics in 20 s.Also bump firmware version 0.6.5 → 0.6.6 and refresh all 6 release_bins
with the new build (8MB + 4MB variants, built 2026-05-21).Fix-marker RuView#683 added to scripts/fix-markers.json.
Co-Authored-By: claude-flow ruv@ruv.net
下载附件
- After