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