#tap #jtag #chain #cable #bits #scan #read

jtag-taps

用于与 JTAG 扫描链中的单个 TAP 交互的库

9 个版本 (4 个重大更新)

0.5.0 2023 年 10 月 24 日
0.4.0 2023 年 10 月 21 日
0.3.0 2023 年 10 月 17 日
0.2.3 2023 年 10 月 16 日
0.1.1 2023 年 9 月 30 日

#470 in 硬件支持


用于 3 crates

MIT 许可证

57KB
1.5K SLoC

jtag-taps

此 crate 允许以各种抽象层次与 JTAG 测试链交互。在最低层次,您可以直接与 JTAG 电缆交互,例如基于 "jtagkey" 设计的电缆。还可以轻松添加其他基于 FT2232 的电缆以及直接 GPIO 控制。Cable trait 允许更改模式并在 JTAG 链中移位位。

下一个更高的抽象层次是 JtagSM,它跟踪 TAP 的模式。您告诉它您想要的模式(例如,复位或空闲),并以最少的模式更改达到那里。您还可以读取和写入指令和数据寄存器。read_write 和 write_reg 会根据需要将 ShiftDR 或 ShiftIR 模式处理妥当。

如果 JTAG 链中有多个 TAP,您可能想使用与 Taps struct 相关的方法。您告诉 Taps 存在多少 TAP 以及每个 TAP 的 IR 长度。然后您可以读取和写入该 TAP 的指令和数据寄存器,它会将其他 TAP 设置为 BYPASS 并根据需要移位数据。Taps 还提供了一些自动检测 TAP 的 IR 长度和 ID 代码的支持。

依赖关系

~9MB
~106K SLoC