ESP32-S3 用 --edge-tier 1 或 2 烧录后启动循环怎么排查?
ESP32-S3 用 --edge-tier 1 或 2 烧录后启动循环怎么排查【免费下载链接】RuViewπ RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.项目地址: https://gitcode.com/GitHub_Trending/wi/RuView给 RuView 的 ESP32-S3 CSI 节点执行provision.py --edge-tier 1或--edge-tier 2写入 NVS 后节点无法正常运行反复重启。--edge-tier把节点切到片上 DSP 处理档位1基础统计2完整体征管线而这个档位恰好会在部分固件版本里触发 Core 1 的 FreeRTOS 任务看门狗。本文按仓库 docs/TROUBLESHOOTING.md 中针对 issue #438 的条目给出从确认现象到刷入修复版本、再到验证启动的完整排查路径。适用对象是 ESP32-S3 节点固件firmware/esp32-csi-node--edge-tier 0原始 CSI 直通不受此问题影响。症状与适用范围文档记录的现象是同一个固件用--edge-tier 0烧录时 ESP32-S3 能正常启动改成--edge-tier 1或2后进入启动循环串口输出能走到cpu_start和heap_init然后反复 reset。该问题是在固件v0.4.3.1-esp32-3-g66e2fa083-dir上报告的。如果你的串口输出没有停在上述位置而是完全没有输出先按下文第一步检查串口接线和波特率再回到这条路径。原因为什么只有 tier 1/2 会循环Tier 0 是原始 CSI 直通不激活片上处理管线。Tier 1 和 2 会在 Core 1 上启用片上 DSP 管线tier 1 做相位展开、Welford 统计、top-K 子载波选择tier 2 在此之上加存在检测、呼吸/心率、跌倒检测。在受影响的构建里edge_dsp任务以紧循环逐帧运行且不主动让出yieldCore 1 的 FreeRTOS 任务看门狗因此超时触发并 panic表现就是反复重启。修复DSP 任务让出已经合入main随 v0.4.3.1-esp32 之后的发布版本提供。第一步接好串口确认现象启动循环的判定依赖串口日志所以先保证串口链路可用ESP32-S3-DevKitC 板子上面向板子时左侧USB-C 口才是 USB-UART 桥CP2102/CH340用于烧录和串口监控右侧口是原生 USBUSB-JTAGRuView 固件不使用它。插错口会看不到串口设备见 docs/TROUBLESHOOTING.md 第 8 条。打开串口监视波特率固定用115200python -m serial.tools.miniterm COM7 115200COM7是文档示例端口替换为你机器的实际端口Linux 常见/dev/ttyUSB0macOS 常见/dev/cu.SLAB_USBtoUART见 firmware/esp32-csi-node/README.md。如果完全看不到串口输出文档给出的对应检查项是波特率错误——确认使用115200。循环节点在串口上应能反复看到启动日志走到cpu_start、heap_init后复位如果你看到的正是这个模式就与本文对应的问题一致。第二步确认当前固件版本在串口输出里找App version这一行确定节点跑的构建是否早于修复版本python -m serial.tools.miniterm COM7 115200 # 文档给出的判定期望看到 App version: v0.4.3.1-esp32 或更高版本如果版本早于 v0.4.3.1-esp32例如报告中出问题的v0.4.3.1-esp32-3-g66e2fa083-dir进入第三步刷入包含 DSP 任务让出修复的发布版本。第三步刷入 v0.4.3.1-esp32 或之后的发布固件排查条目给出的修复是刷入v0.4.3.1-esp32发布版本或更新版本。以 firmware/esp32-csi-node/README.md 记录的发布包安装流程为例每个发布包包含对应的 bootloader、分区表、OTA 元数据、应用固件、校验和和烧录说明先按芯片和闪存大小选包S3 有 8 MB 与 4 MB flash 两种包切勿把 S3 包刷到 C6 上。解压后按文档示例8 MB flash 的 ESP32-S3执行python -m esptool --chip esp32s3 --port COM7 --baud 460800 \ write_flash --flash_mode dio --flash_size 8MB \ 0x0 bootloader.bin \ 0x8000 partition-table.bin \ 0xf000 ota_data_initial.bin \ 0x20000 esp32-csi-node.bin这是文档示例COM7需替换为实际端口4 MB flash 的板子改用发布包里的 4 MB 分区表并对应调整--flash_size。四段偏移0x0/0x8000/0xf000/0x20000对应 bootloader、分区表、otadata、应用镜像必须与发布包的分区布局一致。刷完后注意一点完整发布包不包含 NVS 分区这个四偏移安装只替换启动和应用镜像不触碰 NVS。也就是说你之前写入的edge_tier值1 或 2会保留节点重启后直接进入你设定的处理档位——如果它还有看门狗问题会立刻循环如果修复生效它应该正常起来。第四步验证启动与档位生效重新上电在串口115200确认两件事App version达到v0.4.3.1-esp32或更高启动日志走到流媒体激活。文档给出的示例输出来自一个 v0.6.5 构建仅作格式参考I (396) csi_collector: Early capture node_id1 (before WiFi init, #232/#390) I (406) main: ESP32-S3 CSI Node (ADR-018) -- v0.6.5 -- Node ID: 1 I (566) main: WiFi STA initialized, connecting to SSID: wifi-densepose I (1023) main: Connected to WiFi I (1025) main: CSI streaming active - 192.168.1.100:5005 (edge_tier2, OTAready, WASMready)最后一行括号里的edge_tier字段直接标明节点当前运行的档位。看到CSI streaming active且不再复位说明 tier 1/2 的启动循环已解决。如果刷完新固件后需要重新确认或改动档位例如之前被--reset清过 NVS再执行一次配置写入即可--edge-tier只接受0、1、2三个值python firmware/esp32-csi-node/provision.py --port COM7 \ --ssid YourSSID --password YourPass --target-ip 192.168.1.20 \ --edge-tier 2YourSSID/YourPass/192.168.1.20是文档示例值替换为你自己的 WiFi 凭据和聚合服务器 IP。注意 firmware/esp32-csi-node/provision.py 会做 WiFi 三件套校验合并本机 per-port 状态后若--ssid、--password、--target-ip仍缺失脚本会直接报错退出除非显式传--force-partial此时设备刷完不会连 WiFi。脚本采用增量合并策略只覆盖你本次显式传入的键其余 NVS 键沿用上次从本机写入的状态。仍然循环时的处理文档给出的后续路径只有一条如果刷入发布版本后启动循环依然存在抓取一份完整的串口 trace包含看门狗 backtrace携带新的构建 hash 重新打开 issue #438。除此之外文档没有给出其他降级或调参手段不要用改vital_win、subk_count等参数来尝试绕过——这些参数在文档中都没有被记录为能影响该看门狗问题。边界与限制档位语义以文档为准--edge-tier 0 关闭原始 CSI 直通1 统计stats2 体征vitals。排查过程中可以临时切回--edge-tier 0让节点先恢复上线但问题本身要靠升级固件解决改回 1/2 只是复现手段。Tier 2 的体征估计是启发式 BPM 提取文档明确标注不适用于医疗用途这与启动循环无关但刷完固件后使用 tier 2 时要知道这一点。排查时不要混用右侧原生 USB 口抓日志RuView 固件不通过该口工作。更多节点侧已知问题USB 口、UDP 收包、OTA 失败等可以继续对照 docs/TROUBLESHOOTING.md 逐条查看档位的完整参数表见 firmware/esp32-csi-node/README.md 的 NVS Key Reference 与 docs/user-guide.md 的 Edge Intelligence 章节。【免费下载链接】RuViewπ RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.项目地址: https://gitcode.com/GitHub_Trending/wi/RuView创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考