# K1 设备日志导出(J-Link RTT) ## 用途 固件运行时将启动/关机、触摸、按键、UI 切换、异常等事件写入 RAM 环形缓冲(约 4KB / 32 条),并通过 SEGGER RTT 实时输出。现场复现问题后,用 J-Link 一键导出日志文件发回分析。 ## 前置条件 - J-Link 调试器 + SWD 连接设备 - Python 3.8+ - 依赖:`pip install pylink-square` - 已烧录包含 `app_log` 模块的固件 ## 操作步骤 1. 设备上电,复现问题(例如模式选择页触摸无响应)。 2. PC 连接 J-Link,**不要**随意 Reset(会丢失 RAM 日志;若必须复位,请先导出或复现后再导出)。 3. 在项目 `tools` 目录执行: ```bash python rtt_log_dump.py --out problem.log ``` 4. 将生成的 `problem.log` 发送给研发分析。 ## 其他 RTT 命令(RTT Viewer 终端输入) | 命令 | 说明 | |------|------| | `log dump` | 导出 RAM 中全部历史日志 | | `log clear` | 清空 RAM 日志 | | `log status` | 查看 boot 次数、条数、溢出、当前 UI 页 | | `log level D` | 开启 Debug 级(含触摸细节);`I` 仅 Info 以上 | ## 日志格式 ``` [tick_ms][LVL][CAT] message key=val ... ``` 类别 CAT:`BOOT` `PWR` `UI` `TP` `KEY` `MSG` `NVM` `TASK` `ERR` `ADC` ## 配套工具 - 屏幕截图:`python rtt_lcd_capture.py --out screen.png` - 日志导出:`python rtt_log_dump.py --out problem.log` ## 触摸问题排查要点 导出后重点 grep: - `[TP]` — raw/cal 坐标、irq 状态 - `[MSG] id=12` — 触摸消息是否发出 - `[UI] mode_select miss` — UI 命中测试是否失败