我们正在设计一个带有 FT4232H 的实验板。FTDI设备的通道使用如下:
通道 1 -> SPI
通道 2 -> I2C
通道 3 -> UART1
通道 4 -> UART2
我们可能需要在一个会话中使用所有这些通道,而无需拔下电路板。通常,在我们使用开发板之前,我们会使用脚本为支持 MPSSE 的通道禁用 ftdi_sio。这没关系,但这意味着我们每次再次插入电路板时都需要运行此脚本。有一个使用 udev 规则的解决方案。此解决方案永久解除绑定不需要的设备。但是,我的问题更广泛一些。我需要将此板发送给许多用户,以便该板与不同的计算机连接。我正在寻找一种方法,当我将板连接到(任何 linux)计算机时,它应该自动禁用前两个通道的 ftdi_sio。因此用户可以直接执行他们的应用程序而无需处理端口问题。
一种解决方案可能是更改设备 ID。这样,通道将永远不会绑定。但是这个解决方案也杀死了我需要的 UART 通道。所以,没用。
我们能否在 EEPROM 中存储一个应用程序(类似于我们用来禁用 ftdi_sio 的脚本),当设备连接到计算机时,它会自动将这些命令发送到主机设备(通过任何通道)执行?
欢迎所有其他想法。问题的明确陈述:我需要 FTDI 设备在连接到任何主机设备 (linux) 时自动取消绑定通道 1 和 2?