HPM5301 高频 JTAG:25/30 MHz 开发实验¶
在本套 MKLink V4 与 HPM5301 接线上,30 MHz 开发路径两次持续 30 秒的单变量采集达到 109.236 / 108.955 kSa/s。本页记录其测量条件与适用范围,供评估后续开发方向。
本文为早期实验快照
后续开发版已保留 high=20 MHz 并新增 ultra=30 MHz,默认仍为 10 MHz,见四档用法。四档界面已实现,30 MHz 长测及脚本重连矩阵结果已补入上述说明;20 MHz 的 4 KB SBA 忙冲突修复版已完成 48 项底层验证,24 项 CLI/MCP 操作和 Chrome 四档实机操作也已通过(开发源码页面)。下文描述此前独立候选固件的 30 秒实验,不是 30 分钟验证报告,也未验证普通内存读写或 RTT 性能。早期 25/30 MHz 候选各自只包含一个实验内核。
时钟有多快,数据就一定有多快吗¶
调试时钟决定移位速度,但完整采样还包含数据打包、CRC、调度和 USB 交接。本实验采用探针时间戳计算平均采样率,保留批间间隔,不用最短间隔的倒数代替持续吞吐。
LA5032 以 500 MSa/s 采集,并根据完整 41 位 Shift-DR 解码测得:
| 路径 | 平均移位时钟 | 高电平中位数 | 低电平中位数 |
|---|---|---|---|
| 原始 20 MHz | 19.909 MHz | 18 ns | 34 ns |
| 修正后 25 MHz | 25.393 MHz | 14 ns | 24 ns |
| 修正后 30 MHz | 29.810 MHz | 18 ns | 16 ns |
采样量化为 2 ns,表中小数不代表校准仪表精度。统计排除了 IR、TAP 过渡等非连续移位时钟。
单变量持续采样¶
目标为 HPM5301,运行 SDK 1.11.0 hello_world 的 RTOS 扩展示例。请求周期 1 µs 进入满速模式;剔除启动前 200 ms 后统计,不代表实现 1 MHz 定时采样。
| 固件与路径 | 时长 | 有效样本 | kSa/s | P99 间隔 | 最大间隔 |
|---|---|---|---|---|---|
| 原始稳定固件 20 MHz | 3 s | 256560 | 94.559 | 78 µs | 279 µs |
| 最终候选固件 20 MHz | 30 s | 2571720 | 86.842 | 96 µs | 300 µs |
| 25 MHz 候选 | 30 s | 2837664 | 95.654 | 91 µs | 301 µs |
| 30 MHz 候选,第 1 次 | 30 s | 3240912 | 109.236 | 71 µs | 274 µs |
| 30 MHz 候选,第 2 次 | 30 s | 3232488 | 108.955 | 70 µs | 277 µs |
30 MHz 两轮合计 6,473,400 个有效样本,CRC、解析丢帧、固件错误标志及 DMI reserved/failed/busy 增量均为 0,没有超过 1 ms 的单变量采样间隔。这是本套设备、接线与运行环境的结果,不能外推到所有主机、温度或目标型号。
两种 20 MHz 基线必须分开理解。 原始固件的短测为 94.559 kSa/s,候选固件的长测为 86.842 kSa/s,差异尚未独立归因。不能选择较低值夸大收益,也不能据此声称原有三档没有性能回退。正式推广前仍需等时 A/B 测试。
连续数据块:同时检查速度与内容¶
运行中变量会变化,内容完整性另外通过已知 Flash 镜像逐块比较。64 B 为 16 个连续 32 位 word;4 KB 为周期块采样,不是普通单次 mem_read。
| 路径 | 64 B 采样率(30 s) | 完整 64 B 样本 | 4 KB 块/秒(3 s) | 4 KB 有效载荷 |
|---|---|---|---|---|
| 候选内 20 MHz 对照 | 未测 | — | 206.187 | 0.805 MiB/s |
| 25 MHz | 8.675 kSa/s | 256848 | 230.845 | 0.902 MiB/s |
| 30 MHz | 9.122 kSa/s | 270312 | 242.682 | 0.948 MiB/s |
上述已知内容逐块比较全部相等。每个 4 KB 逻辑样本由两个 2048 B 帧组成,只计完整样本;MiB/s 不含帧头与 CRC。一个 4 KB 样本需要约 4–5 ms,该时间不能当作异常停顿。
这次实验解决了什么,尚未证明什么¶
直接缩短延时的早期候选出现过错误。最终修正了退出 Shift-DR 时的 TMS 建立时间,并在 30 MHz 路径采用明确的一位 TDO 输入流水线,完整保留 41 位响应。失败证据与最终成功数据分开保存;USB CRC 正常不能替代目标数据内容校验。
最终候选还通过 4/10 MHz 各 3 秒的 64 B 内容回归,但内容正确不等于性能不变。本轮没有修改目标程序、测试普通内存写入或测量 RTT 吞吐,也没有进行新增 GUI 档位的操作验收。
最终 30 MHz UF2 SHA-256 为 751049018b8cf90150d55f857b367a846af99b8e11961c73192c4c8e0e65f717;25 MHz 候选为 7a8989b8d6148610759b2ca2661a7ef56407048a9f80fa42a920d2ffebbeff05。它们与使用指南性能表中的原基线固件不同。