我是开发人员,我正在开发嵌入了板载USB和SD卡的产品,它也像SDCard读卡器一样工作。 SDCard的内容可以通过PC或电路板的微处理器进行修改。 当具有Windows操作系统的PC修改SDCard的内容(例如创建,删除,移动,重命名文件)时,电路板的微处理器可以查看更改但是如果电路板的微处理器对其进行了更改。在SDCard的内容中,PC无法检测到这些变化。 我试图刷新显示文件的窗口或开发自定义应用程序,但没有看到更改。 查看更改的唯一方法是将USB分离并连接到USB中。
还有其他方法可以解决我的问题吗?例如,是否可以设置操作系统定期刷新SDCard的内容?
提前谢谢。
答案 0 :(得分:1)
您可以使用MTP而不是大容量存储设备吗?
来自Media Transfer Protocol上的维基百科页面:
使用MTP而不是USB大容量存储设备类(MSC)的一个主要原因是后者以大容量存储设备块(通常在实践中,FAT块)的粒度运行,而不是而不是在逻辑文件级别。换句话说,USB海量存储类旨在为主机提供对大容量存储的无差别访问,例如紧凑型闪存,而不是文件系统,可以安全地与目标设备共享(特定文件除外)主机可能正在修改/访问)。因此,实际上,当USB主机安装了MSC分区时,它假设存储的绝对控制,然后设备可能无法安全地修改该存储,而没有数据损坏的风险,直到主机断开连接为止。此外,由于主计算机可以完全控制连接的存储设备,因此存在主计算机可能损坏文件系统,将其重新格式化为USB设备不支持的文件系统或以其他方式修改它的风险。 USB设备无法完全理解它。