读写TF卡,要按1个扇区512字节。但是用TF卡做的文件系统却可以按字节来读写,这是什么道理?请教大家了。
查看更多
有缓存的啊,中间不一定有多少级缓存的。读文件数据少的时候,可能是从缓存返回的,不一定每次都读扇区。
文件系统底层都是按块为单位读写的,即使你只需要几个字节,也会根据字节的偏移量计算出所在的块号,读取一整块的。
欢迎发表与嵌入式相关的技术分享、开发技巧、工具介绍、技术设想、职业心得、行业评论等对他人有启发,排版优雅的文章
回到 顶部
发布 问题
分享 好友
手机 浏览
投诉 建议
回到 底部
写是怎么操作的,比如写入10个字节后,断电了,开机后,这个10个字节在文件中能找到吗?
没sync就丢了。
要是每写几字节就sync,那么就是你猜想的那种低效方式。没有更好的办法。
日志型,以及专门针对flash的文件系统。
对掉电损坏表现要好一些,但丢数据这块是一样的,都得要真实写盘才行。
@bblythe2016 写的过程也有缓存,所以禁止频繁写的时候突然掉电。对于经常写数据的设备,硬件做掉电保存处理才安全。