#嵌入式-hal-driver #FPGA #嵌入式-hal #驱动

ice40

ice40 FPGA设备配置的嵌入式-hal 驱动程序

4个版本

0.3.0 2024年5月15日
0.2.2 2022年11月9日
0.2.1 2022年10月6日
0.2.0 2022年2月7日
0.1.0 2022年1月17日

#320 in 嵌入式开发

MIT 许可证

13KB
84

CI

ice40-rs

这是用于配置来自 Lattice iCE40系列FPGALattice嵌入式-hal 驱动程序。

参阅技术笔记 TN1248 - iCE40 编程和配置 了解从属配置接口的工作原理。

快速入门

[dependencies]
ice40-rs = "0.3"

示例

// Configure device with bitstream
let mut device = ice40::Device::new(spi, ss, done, reset, DummyDelay);
device
    .configure(&bitstream[..])
    .expect("Failed to configure FPGA");

示例文件夹包含一个用于使用linux和ftdi嵌入式-hal配置设备的实用程序。

您可以使用以下命令使用它们

FTDI

假设FTDI电路连接方式与ice40-breakout板相同。

cargo运行 --示例ftdi --my_image.bin

ice40-rs/ftdi 0.1.0
FTDI demo

USAGE:
    ftdi [OPTIONS] <binary>

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
    -f, --frequency <frequency>    Bus frequency [default: 3000000]

ARGS:
    <binary>    Binary file

Linux

默认参数适用于Raspberry pi Model 4。

cargo运行 --示例linux --my_image.bin

ice40-rs/linux 0.1.0
Linux demo

USAGE:
    linux [OPTIONS] <binary>

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
        --cdone <cdone>            CDONE pin [default: 24]
        --creset <creset>          CRESET pin [default: 25]
    -f, --frequency <frequency>    Bus frequency [default: 3000000]
        --spi <spi>                SPI bus [default: /dev/spidev0.0]
        --ss <ss>                  SS pin [default: 8]

ARGS:
    <binary>    Binary file

限制

该库只支持设备的易失性配置,不支持外部非易失性存储。

依赖关系

~145KB