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
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