10 个版本
0.2.0 | 2022 年 10 月 2 日 |
---|---|
0.1.8 | 2022 年 7 月 31 日 |
0.1.7 | 2021 年 7 月 3 日 |
0.1.6 | 2021 年 4 月 30 日 |
0.1.5 | 2021 年 1 月 21 日 |
#410 在 硬件支持
40 每月下载量
70KB
1.5K SLoC
ECPDAP
ECPDAP 允许您使用 CMSIS-DAP 探针在 JTAG 模式下编程 ECP5 FPGA 和连接的 SPI 闪存。
此 crate 使用 jtagdap 处理 CMSIS-DAP 和 JTAG,以及 spi-flash-rs 处理 SPI 闪存本身。例如,当使用 iCE40 FPGA 时,直接编程 SPI 闪存,请查看 spidap,它使用相同的库。
JTAG 扫描链
ECP5 FPGA 可以在任意长度的 JTAG 扫描链上进行编程;您可能需要指定 --ir-lengths
,并根据您的扫描链上的其他设备可能需要指定更高的 --scan-chain-length
。
但是,访问连接的 SPI 闪存需要 ECP5 是扫描链上的唯一设备(换句话说,探针的 TDI 和 TDO 直接连接到 ECP5 引脚)。
预构建的二进制文件
预构建的二进制文件可在 发布页面 上找到。您必须在您的系统上安装或可用 libusb,并且您必须有权限或设置驱动程序以访问您的 CMSIS-DAP 探针。有关设置信息,请参阅 驱动程序页面。
ECPDAP 还在 NixOS 中打包为 ecpdap
属性。
构建
- 您必须安装一个有效的 Rust 编译器。访问 rustup.rs 以安装 Rust。
- 建议使用 libusb 以支持探针的 CMSIS-DAPv2 高速协议。
- 您可能需要设置驱动程序或权限以访问 USB 设备。
要为您自己的用户构建和安装,而不检出仓库
cargo install ecpdap
或者,在检出此仓库后本地构建
cargo build --release
您可以直接从 target/release/ecpdap
运行 ecpdap 可执行文件,或者您可以使用 cargo install --path .
为您的用户安装它。
用法
运行 ecpdap help
查看详细用法。常用命令:
ecpdap probes
:列出所有检测到的CMSIS-DAP探头ecpdap scan
:扫描JTAG链以检测ECP5设备ecpdap program bitstream.bit
:将bitstream.bit
编程到ECP5ecpdap flash id
:读取闪存制造商和产品IDecpdap flash scan
:读取闪存SFDP元数据和状态寄存器ecpdap flash write bitstream.bit
:将bitstream.bit
写入闪存。
许可证
ecpdap遵循以下任一许可证:
- Apache License,版本2.0 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
您可选择其中之一。
依赖项
~8–17MB
~226K SLoC