问题描述
- 有关于/dev/mtd*文件的写操作
-
由于要实现文件掉电可保存的效果,想要将文件保存进/dev/mtd中,但是不知道该怎么进行写操作,百度到的资料并不多,通过fopen来打开/dev/mtd,但是不知道如何进行写操作,网上说要以页为单位进行烧写,可是又有人说用write来进行写,write怎么实现按页写数据?而且我要写的文件大小为1M多。 不知道有谁对这方面有了解的,求教!!!!
解决方案
问题解决了
首先要对/dev/mtd文件进行修改,必须先擦除,然后进行写操作,在应用层的写操作(我是用fwrite),不用分页写,一次性写入就可以,不过在执行完这个程序以后,会在串口打印出各种错误信息,我估计是正在跑的系统发现flash保存的东西不对了,就会进行报错,之后,就无法操作了,不过重启以后就可以了。
解决方案二:
/dev/null文件使用
解决方案三:
把你要写的mtd挂载到某个目录下,再写不行吗?跟linux下正常的写文件一样操作。
时间: 2024-09-08 10:27:26