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 每月下载量

Apache-2.0 OR MIT

70KB
1.5K SLoC

ECPDAP

crates.io docs.rs CI

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编程到ECP5
  • ecpdap flash id:读取闪存制造商和产品ID
  • ecpdap flash scan:读取闪存SFDP元数据和状态寄存器
  • ecpdap flash write bitstream.bit:将bitstream.bit写入闪存。

许可证

ecpdap遵循以下任一许可证:

您可选择其中之一。

依赖项

~8–17MB
~226K SLoC