我有一块带有 ARM 处理器和 micrium RTOS 的板子。我需要从 USB 记忆棒读取/写入文件。例如,重命名文件的标准函数是下一个 -
int FS_Rename (const char * sExistingName,
const char * sNewName);
我需要将哪个路径写入 sExistingName 以指向我的 USB 记忆棒上的文件?
我有一块带有 ARM 处理器和 micrium RTOS 的板子。我需要从 USB 记忆棒读取/写入文件。例如,重命名文件的标准函数是下一个 -
int FS_Rename (const char * sExistingName,
const char * sNewName);
我需要将哪个路径写入 sExistingName 以指向我的 USB 记忆棒上的文件?
拥有“正确的道路”并不那么简单;RTOS 本身不包括文件系统或 USB 支持,如果您使用 Micrium 的文件系统,您仍然需要 USB 大容量存储设备支持才能访问此类设备。
如果您透露您使用的是什么 ARM 设备(如果是 COTS,甚至是什么板),将会有所帮助;ARM 内核本身并没有定义任何特定的外设集;这是由芯片供应商使用许可下的 ARM 内核决定的。
如果 USB 控制器是片上的,微控制器供应商可能会免费提供示例大容量存储设备代码。但是,您需要的 USB 主机或 OTG 堆栈(与设备堆栈相反)更复杂,而且很少免费且通常很昂贵。
此外,您的 micro 将需要主机或 OTG 控制器,而不是更简单和更常见的设备控制器。使用设备控制器,您的目标可能是大容量存储设备,但它无法访问。
[编辑]
Micrium 提供与其文件系统兼容的USB 主机堆栈。如果您使用他们的文件系统,那将是阻力最小的路径,但您仍然需要目标上的主机控制器硬件。