Files
STM32F4-Base/tools/serial_tool/README.md
T

2.1 KiB

tools/serial_tool/ — Python 串口助手

常驻 daemon + CLI 架构的串口工具:后台持续收串口日志,CLI 按需查询/发送, 避免反复开关串口导致日志丢失(台架与测试的主力观测工具)。

文件一览

文件/目录 作用
serial_tool.py 串口助手主程序(daemon 与 CLI 合一)
state/ 运行时状态目录
state/serial.log 串口原始日志(stack_report.py -s 的输入之一)
state/daemon.log daemon 自身运行日志
state/meta.json daemon 元数据(端口、状态等)

使用方式

# 打开串口(daemon 自动拉起;端口缺省取 .serialtest/config.json,不必带参数)
& '.venv\Scripts\python.exe' tools/serial_tool/serial_tool.py open

# 看有哪些口 / 配置口是否还在位(单一候选时回 hint)
& '.venv\Scripts\python.exe' tools/serial_tool/serial_tool.py ports

# 读日志(先过滤后截尾)/ 发送 / 等静默
& '.venv\Scripts\python.exe' tools/serial_tool/serial_tool.py log --tail 50 --grep "App init OK"
& '.venv\Scripts\python.exe' tools/serial_tool/serial_tool.py send "<命令>"
& '.venv\Scripts\python.exe' tools/serial_tool/serial_tool.py wait-idle --settle-ms 8000 --max-ms 30000

# 状态 / 关闭
& '.venv\Scripts\python.exe' tools/serial_tool/serial_tool.py status
& '.venv\Scripts\python.exe' tools/serial_tool/serial_tool.py close

全部命令输出 JSON、退出码 0/1/2/3;具体子命令以 --help 为准。 抓开机日志的顺序是 open → clear → 烧录/复位 → wait-idle → 读日志(采集必须先于烧录)。

⚠️ 注意

  • 单写者:串口同一时刻只能被一个进程占用——别同时用本工具和其它串口程序
  • state/serial.log 是 [STACK] 运行时水位的来源,scripts/stack_report.py -s 直接读它
  • state/ 是运行时数据,不入库

相关文档

  • docs/测试说明/串口助手使用指南.md — 命令用法 / 工作流 / 排障
  • docs/测试说明/串口助手设计说明.md — 契约 / daemon 行为 / 陷阱