#ftdi #usb #ffi

sys libftd3xx-ffi

Rust对FTDI d3xx驱动程序的FFI绑定

2个版本

0.0.2 2023年5月30日
0.0.1 2023年5月24日

#1619硬件支持


2 个Crate 使用

自定义许可证

36MB
10K SLoC

Rust 3.5K SLoC // 0.0% comments C 3K SLoC // 0.1% comments C++ 3K SLoC // 0.1% comments

包含(静态库,3.5MB)vendor/linux/armv6-hf/libftd3xx-static.a,(静态库,3MB)vendor/linux/armv7-hf/libftd3xx-static.a,(静态库,3MB)vendor/linux/armv8-hf/libftd3xx-static.a,(静态库,2.5MB)vendor/linux/x64/libftd3xx-static.a,(静态库,2.5MB)vendor/linux/x86/libftd3xx-static.a,(ELF库,1MB)vendor/linux/armv6-hf/libftd3xx.so 和更多

crates.io docs.rs CI

libftd3xx-ffi

Rust对FTDI D3XX驱动程序的FFI绑定。本仓库仍然是实验性的且不可用。

此Crate仅仅是C绑定。还有一个单独的Crate,libftd3xx,它提供了对不安全的C绑定的安全包装。

使用方法

只需将此Crate作为依赖项添加到您的Cargo.toml中。静态库在得到FTDI的许可后随此Crate分发。默认功能集将使用动态链接。

[dependencies]
libftd3xx-ffi = "~0.0.2"

Bindgen

默认功能集将使用预生成的绑定。这仅适用于Windows x86_64和Linux x86_64平台。

也可以使用bindgen功能标志在编译期间生成绑定。

[dependencies]
libftd3xx-ffi = { version = "~0.0.2", features = ["bindgen"] }

bindgen有额外的依赖项,必须在编译成功之前安装,有关更多详细信息,请参阅bindgen要求页面。

静态链接

可以使用静态功能标志将FTD3XX库静态链接到此Crate中。

[dependencies]
libftd3xx-ffi = { version = "~0.0.2", features = ["static"] }

静态链接可能更受欢迎,但可能存在许可不兼容性(与GPL代码的静态链接)。如有疑问,请查看FTDI的驱动程序许可条款

支持的目标

测试过的目标

待办事项:更新此仓库仍然是实验性的且不可用。

未测试的目标

这些目标是提供的,但尚未经过测试。使用时请自担风险。

  • aarch64-unknown-linux-gnu(动态 + 静态)

  • aarch64-unknown-linux-musl(静态)

  • i686-pc-windows-msvc(动态 + 静态)

  • i686-unknown-linux-gnu(动态 + 静态)

  • i686-unknown-linux-musl(静态)

  • x86_64-pc-windows-msvc(动态 + 静态)

  • x86_64-unknown-linux-gnu(动态 + 静态)

  • x86_64-unknown-linux-musl(静态)

  • arm-unknown-linux-gnueabihf (动态 + 静态)

  • arm-unknown-linux-musleabihf (静态)

  • armv7-unknown-linux-gnueabihf (动态 + 静态)

  • armv7-unknown-linux-musleabihf (静态)

  • x86_64-apple-darwin (动态)

  • aarch64-apple-darwin (动态)

参考资料

故障排除

Linux 上的未知设备

待办:更新此内容

移除 VCP FTDI 驱动。

sudo rmmod ftdi_sio
sudo rmmod usbserial

有关更多详细信息,请参阅 Linux 下 FTDI 驱动安装指南

许可证

FTDI 以编译库和头文件的形式提供 D3XX 驱动。这些文件可以在 vendor 目录中找到。

vendor 目录中的代码由 FTDI 许可。请参阅 驱动程序许可条款 页面以获取其许可。

vendor 目录外的所有代码均受 MIT 许可。

注意:此软件包与 FTDI 无关。由于它是闭源代码,因此您需要联系供应商以获取对基础库的任何支持请求。

待办:更新此内容

依赖关系