使用 ubuntu/kubuntu 通过 USB 安装板时,将二进制程序传输到微控制器原型板时遇到问题。使用 MacOS 和 Windows 没有问题。我发现来自 Ubuntu 的文字肯定会改变写入的文件。我怀疑写缓存是问题所在。我该如何禁用它,或者还有什么问题。
使用 ubuntu/kubuntu 通过 USB 安装板时,将二进制程序传输到微控制器原型板时遇到问题。使用 MacOS 和 Windows 没有问题。我发现来自 Ubuntu 的文字肯定会改变写入的文件。我怀疑写缓存是问题所在。我该如何禁用它,或者还有什么问题。
首先阅读此内容:http
://groups.google.com/group/linux.kernel/msg/8d1591196c0ae15e?pli= 1 我不确定这是否属实。
您可以尝试使用 hdparm 在运行时将写入缓存功能设置为关闭。(您可能需要在每次启动后或每次移除并重新插入设备时运行它)
请确保您知道正确的设备名称(
sdb
等sdc
)。您可以通过运行找到设备名称:
您还可以编辑
/etc/fstab
和添加安装选项,sync,dirsync
但是我不太熟悉/etc/fstab
可移动设备的工作方式。我认为他们需要一个永久的挂载点。感谢@NightwishFan 使用 hdparm 开关设置驱动器的写入缓存功能。
请注意,
sync
挂载选项会将速度降低一个数量级(超过 10 倍)。flush
挂载选项可确保有效写入而没有性能成本。此外,几年来我一直在我使用过的所有 FAT 设备(基于旋转或基于闪存的)上毫无问题地使用它:实际上整套挂载选项是noauto,users,noatime,flush,umask=111,dmask=000
,手动设置或在 /etc/fstab 中设置。我已将“同步”替换为“noatime,flush”,如@tuk0z 答案中所述。
这导致 USB 软盘驱动器的行为与同步一样,但它写入文件的速度要快得多,就像您期望的正常操作速度一样。
从软盘读取图像文件不再导致随机伪影。读取 DD 软盘也不会导致文件名中出现奇怪的字符。
也许“mount”的官方文档如何将用法放在上下文中有点不幸。
赞!