v2.3
Rockchip DDR Test Utility v2.3
本次包含一项 GUI 稳定性修复、一项 CLI 判定修正,以及 CLI 命令行接口的重构。CLI 接口有不兼容变更,依赖脚本请阅读“CLI 接口变更”一节。
修复
- GUI 在设备拔插或复位时偶发卡死约 22 秒。原因是 USB 传输对象在主线程销毁时调用
libusb_exit,与 libusb 处理设备拔出的事件线程争用同一把全局锁而死锁。现改为进程级共享 libusb 上下文(仅初始化一次、不再libusb_exit),对象销毁时只关闭设备句柄,消除该竞态。 - CLI 眼图测试判定过宽。此前仅检查“扫描完成”标记,一次以失败 DQ eye 收尾的扫描仍会判为通过。现与 GUI 一致:要求存在完成标记,且至少一条
all result:汇总行,且每条汇总行均为pass。
CLI 接口变更(不兼容)
- 移除复合模式
--auto。三个测试项改为各自独立的命令运行;测试间的时序与设备重枚举间隔由上层编排负责。 - 命令收敛为三项:
--detect、--solder、--eyescan。其中--detect-then-test重命名为--solder。 - 移除文件输出参数
--output-log与--eye-out。设备输出(去帧后的 USB printfsolder.log、eyescan.transcript)改为内嵌在 JSON 结果中,每次测试输出一个自包含对象,不再产生附带文件。 --detect的 JSON 增加csPerDie及逐通道geometry[](每通道含 rank、col、bank、cs0Row、cs1Row、busWidthBits、dieWidthBits),规格核对可直接读取 JSON。
构建
- 独立 CLI 在打包时对 libusb 及可执行文件执行 ad-hoc 签名。
lipo与install_name_tool会使链接器生成的每架构 ad-hoc 签名失效,导致在 Apple Silicon 上启动即被 SIGKILL;现在于所有 Mach-O 改写完成后、打包之前重新签名。
下载
| 产物 | 用途 |
|---|---|
RockchipDDRTestUtility.dmg |
图形界面(拖入 Applications 即用;universal,Apple Silicon 与 Intel) |
RockchipDDRTestUtilityCLI-macos.tar.gz |
命令行 / 自动化(解压得 RockchipDDRTestUtilityCLI 与 libusb-1.0.0.dylib,两者需置于同一目录) |
CLI 用法(--auto 已移除,三项独立运行):
tar -xzf RockchipDDRTestUtilityCLI-macos.tar.gz
./RockchipDDRTestUtilityCLI --list
./RockchipDDRTestUtilityCLI --detect --json
./RockchipDDRTestUtilityCLI --solder --json
./RockchipDDRTestUtilityCLI --eyescan --json
./RockchipDDRTestUtilityCLI --helpFull Changelog: v2.2...v2.3