8个版本
0.3.0 | 2022年2月4日 |
---|---|
0.2.0 | 2021年5月27日 |
0.1.5 | 2020年8月27日 |
0.1.4 | 2020年7月25日 |
0.1.0 | 2019年12月8日 |
#312 in 调试
1,661 个月下载量
82KB
1.5K SLoC
用于控制J-Link调试探针的crate
此crate允许通过USB与J-Link调试探针通信。可以控制探针的引脚,并可以通过JTAG或SWD执行I/O操作,从而实现对目标MCU的控制。
请参阅变更日志,了解最近版本的变化。
用法
在您的Cargo.toml
中添加条目
[dependencies]
jaylink = "0.3.0"
查看API文档,了解如何使用crate的功能。
Rust版本支持
此crate针对最新的稳定版Rust。
lib.rs
:
用于通过USB与J-Link调试探针通信的crate
此crate允许访问用于控制JTAG / SWD操作和其他功能的供应商特定USB接口。它不提供对虚拟COM端口功能的访问(这是一个常规的CDC设备,因此不需要特殊支持)。
灵感来源于libjaylink(尽管这个库不是移植的)。
引脚排列
J-Link使用基于标准20针ARM JTAG连接器的引脚排列,扩展以兼容SWD,并带有UART引脚。
JTAG引脚排列
┌───────────┐
VTref │ * 1 2 * │ NC
nTRST │ * 3 4 * │ GND
TDI │ * 5 6 * │ GND
TMS │ * 7 8 * │ GND
TCK ┌┘ * 9 10 * │ GND
RTCK └┐ * 11 12 * │ GND
TDO │ * 13 14 * │ GND
RESET │ * 15 16 * │ GND
DBGRQ │ * 17 18 * │ GND
5V-Supply │ * 19 20 * │ GND
└───────────┘
SWD (+ UART)引脚排列
┌───────────┐
VTref │ * 1 2 * │ NC
- │ * 3 4 * │ GND
J-Link TX │ * 5 6 * │ GND
SWDIO │ * 7 8 * │ GND
SWCLK ┌┘ * 9 10 * │ GND
- └┐ * 11 12 * │ GND
SWO │ * 13 14 * │ GND
RESET │ * 15 16 * │ GND
J-Link RX │ * 17 18 * │ GND
5V-Supply │ * 19 20 * │ GND
└───────────┘
PIC32 ICSP引脚排列(未测试)
┌───────────┐
VTref │ * 1 2 * │ NC
- │ * 3 4 * │ GND
- │ * 5 6 * │ GND
PGED │ * 7 8 * │ GND
PGEC ┌┘ * 9 10 * │ GND
- └┐ * 11 12 * │ GND
- │ * 13 14 * │ GND
RESET │ * 15 16 * │ GND
- │ * 17 18 * │ GND
5V-Supply │ * 19 20 * │ GND
└───────────┘
参考
Segger发布了关于USB协议的PDF文档:“J-Link USB协议参考手册”(文档RM08001-R2)。
archive.org版本是最新的。
依赖项
~2MB
~36K SLoC