模拟与调试

PXA DEVELOPER GUIDE

板子调试与故障定位

沿启动、显示、输入、运行时和存储的顺序排查,保留可复现证据。

中文指南 · 3 分钟阅读 · 开发版

先记录现场

保存板型、硬件修订、两个仓库提交号、ESP-IDF 版本、App 版本与 release sequence、供电条件和复现步骤。保留启动日志,不要一开始就擦除 Flash 或重建出厂数据分区。

启动与串口

tools/firmware.sh pai-touch monitor --port /dev/ttyACM0 --baud 115200

检查目标芯片、分区、PSRAM 初始化、显示驱动和 PXA 启动日志。出现重启时记录 reset reason、panic 与回溯,保留同次构建的 ELF 供 IDF 解析。

退出 monitor 后再运行 PXADB。烧录波特率、monitor 波特率和设备调试传输配置是不同设置,不要互相替代。

显示故障

症状 先验证什么
全黑 供电、复位、背光、LCD 初始化、display 返回值
花屏 / 色彩异常 像素格式、字节序、stride、传输长度
撕裂 / 随机损坏 DMA 完成通知、缓存一致性、缓冲所有权
边缘裁切 逻辑尺寸、旋转、圆屏安全区、显示窗口
截图正常而屏幕异常 板级 presenter、DMA、面板时序

先用固定色块排除 UI,再用 Hello 验证系统渲染。截图应对应最终可见帧;若板级截图路径未实现,不应据此认定应用没有输出。

输入故障

核对原始触控坐标,再核对旋转、缩放与逻辑坐标。测试四角与拖动释放;如果只收到 DOWN 没有 UP,检查中断、输入路由与事件合并。

pxadb input tap 148 120 --port /dev/ttyACM0
pxadb screenshot debug.png --port /dev/ttyACM0

远程点击正常、物理触控异常,优先检查触控驱动和变换。两者都异常时再检查窗口焦点与应用事件处理。

包与运行时

安装失败检查签名、空间与清单;启动失败检查芯片 target、WAMR ABI、Service 版本和权限;运行一段时间后失败检查泄漏、任务栈和线性内存峰值。

pxadb package list --port /dev/ttyACM0
pxadb logcat --port /dev/ttyACM0

网络、音频与性能

网络先验证 provider 与权限,再验证 DNS、连接、响应大小与超时。音频先验证硬件播放链路,再验证 Guest 服务。性能记录包括实际呈现帧率、堆与 PSRAM、最大连续块、CPU 和 DMA 占用;PXADB 预览 FPS 不能代替屏幕 FPS。

回归与恢复

重复 App 启停、安装更新、冷启动、断网、低内存和异常停止。安装中断测试使用专门测试设备并备份数据。首次挂载失败可能触发格式化,测试前检查相应 Kconfig。修复后用相同日志和截图步骤复测,避免只验证一次成功启动。

参考实现与资料pxadb/README.md ↗zh-CN/adding-a-board.md ↗zh-CN/pxa-app-delivery.md ↗

输入关键词,搜索全部教程。