-1

我有一个带有 UART 的嵌入式系统,我通过 USB 到 RS485 电缆与之通信。我可以通过发送串行命令来读取和写入数据到闪存。设备上的软件是用 C++ 编写的。

我想实现一个文件系统,当我插入 USB 时,我的计算机会识别它,并让我浏览嵌入式设备闪存上的文件。

我该怎么做呢?

4

1 回答 1

2

从 PC 的角度来看,“设备”是电缆,而不是您的电路板。从逻辑上讲,USB<->RS485 转换器将 RS485 接口添加到您的 PC,而不是 USB 接口到您的主板 - 即使 USB/485 芯片在您的主板上,这在逻辑上如果不是物理上是正确的。因此它不能显示为 USB 大容量存储设备,因为它明确是 USB CDC/ACM 设备。

要使您的电路板显示为真正的 USB 大容量存储设备,您需要使用 USB 设备控制器 - 一些(但不是全部)Blackfin 设备具有片上 USB 控制器,模拟设备为此提供 USB 设备堆栈库. 在这种情况下,您需要在板上实现和使用 USB 接口,而不是串行适配器电缆。

如果您缺少 USB 控制器或只希望使用串行接口,那么使用 PPP 实现 TCP/IP 堆栈并使用 FTP 可能是最简单的。这将使串行链路在任何情况下都更加灵活(然后可以同时支持 Telnet 和其他协议)。在 Linux 中使用 PPP 相对简单,在 Windows 中是可能的,但它依赖于拨号连接支持,因此对于直接电缆连接不是特别直观。在这种情况下,您需要在 PC 上使用 FTP 客户端,因为它不会显示为 PC 的直接文件系统设备。

于 2017-03-22T10:02:19.927 回答