55 lines
1.6 KiB
Markdown
55 lines
1.6 KiB
Markdown
|
|
# 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 命中测试是否失败
|