我可以在微控制器上实现 FAT 来访问 USB/SATA 驱动器吗?

物联网 USB
2021-06-06 08:35:22

我有兴趣将 3.5" 硬盘驱动器连接到我基于不运行主流操作系统的微控制器(例如 Arduino)构建的 IoT 设备。

据我所知,要使用 3.5" 硬盘,您需要一个完整的操作系统(例如 Linux 或 Windows),以便设备驱动程序连接 3.5" 硬盘。这个假设正确吗?

有没有办法实现 SATA/USB 和 FAT 文件系统的驱动程序,以便我可以将文件保存到 USB 或硬盘驱动器?是否有任何预先存在的项目或驱动程序可以为此目的重新使用?

我不想使用 SD 卡,因为我想要的容量会更贵。

2个回答

有一个项目FatFs - 通用 FAT 文件系统模块,为微控制器提供 FAT 访问。

FatFs 是用于小型嵌入式系统的通用 FAT/exFAT 文件系统模块。FatFs 模块是按照 ANSI C (C89) 编写的,与磁盘 I/O 层完全分离。因此它独立于平台。它可以集成到资源有限的小型微控制器中,如8051、PIC、AVR、ARM、Z80、78K等。

Petit FatFs适用于微型(8 位)微控制器。

Petit FatFs 是用于微型 8 位微控制器的 FatFs 模块的子集。它是按照 ANSI C 编写的,与磁盘 I/O 层完全分离。即使 RAM 大小小于扇区大小,它也可以集成到内存有限的微型微控制器中。此处还提供全功能 FAT 文件系统模块。

因此,是的,基于可以运行 FatFs 或 Petit FatFs 的微控制器的物联网设备可以在没有成熟操作系统的情况下访问硬盘驱动器。

由于Raspberry Pi 支持 Windows 10,这至少是一个例子。您当然可以通过 USB 连接外部 3.5" 驱动器。

我毫不怀疑其他物联网设备也可以。只是谷歌,我相信你会找到很多信息。或者,是否有您感兴趣的特定设备或操作系统?