文件系统和UART

File system and UART

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

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

我该怎么做?

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

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

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