嵌入式Linux 设备Nand Flash 如何保证分区文件不被破坏?

philip_puma 2014-05-23 02:28:37
我们目前使用的是Nand Flash 没有使用SPI 或者 Nor Flash,单块 256M 。

目前发现 uboot kernel rootfs 不会出现文件损坏的情况:我们保证了这三块是只读的。

可APP 分区因为升级次数过多之后,出现不同情况的文件损坏,譬如配置文件,甚至一些.so也会连累到。

所以想问问采用哪些方式能够避免(设备有时候可能会被断电,无电池)

从国外一些论坛上找了一些资料,我们已经从三个方面入手:
1. 保证引导分区只读
2. 软件备份/还原
3. 采用合适的文件系统(正在做,目前打算使用 ext3/4)

我注意到手机不会出现这种情况,有一个原因是因为手机有电池,不至于突然断电,就算有也很少。不知道是否有人测试过,突然断电很多次之后手机Flash是否有不同程度的损伤?

这里先谢过,如果解决这种问题呢?
...全文
978 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
hiche 2015-01-03
  • 打赏
  • 举报
回复
引用 10 楼 philip_puma 的回复:
[quote=引用 8 楼 hiche 的回复:] [quote=引用 6 楼 philip_puma 的回复:] 还有什么好办法么? 目前我能做的是: 1 文件系统使用 ext3/4 2 软件做备份/还原 3 硬件工程师打算使用和 android 一样的 emmc flash. 4 然后双flash镜像备份。
我们的文件系统是 ext3,出现同样的问题。我们正在测试emmc,画板中。[/quote] 目前如何了呢?EMMC。[/quote] 目前这个项目我一个人在做,还断断续续的。从eMMC启动已经完成,ext4文件系统,默认开启barrier。自动开断电测试的板卡在画,这个月应该会有结论。
philip_puma 2014-09-22
  • 打赏
  • 举报
回复
引用 8 楼 hiche 的回复:
[quote=引用 6 楼 philip_puma 的回复:] 还有什么好办法么? 目前我能做的是: 1 文件系统使用 ext3/4 2 软件做备份/还原 3 硬件工程师打算使用和 android 一样的 emmc flash. 4 然后双flash镜像备份。
我们的文件系统是 ext3,出现同样的问题。我们正在测试emmc,画板中。[/quote] 目前如何了呢?EMMC。
philip_puma 2014-05-31
  • 打赏
  • 举报
回复
测试完一定联系我,目前我们也在画板子emmc
philip_puma 2014-05-30
  • 打赏
  • 举报
回复
还有什么好办法么? 目前我能做的是: 1 文件系统使用 ext3/4 2 软件做备份/还原 3 硬件工程师打算使用和 android 一样的 emmc flash. 4 然后双flash镜像备份。
hiche 2014-05-30
  • 打赏
  • 举报
回复
引用 6 楼 philip_puma 的回复:
还有什么好办法么? 目前我能做的是: 1 文件系统使用 ext3/4 2 软件做备份/还原 3 硬件工程师打算使用和 android 一样的 emmc flash. 4 然后双flash镜像备份。
我们的文件系统是 ext3,出现同样的问题。我们正在测试emmc,画板中。
foxxml 2014-05-30
  • 打赏
  • 举报
回复
由于nand的读写的特殊性,sync 操作不一定保证内存数据都回写到存储介质,所以你只要保证系统sync 操作之后所有数据都回写到nand就可以大大降低掉码的情况,
唯吾轩记 2014-05-27
  • 打赏
  • 举报
回复
我遇到过,我的板子在加电自启的,关机也是暴力关闭电源的,在未知的情况下安装的程序不见了,再也找不到了
philip_puma 2014-05-26
  • 打赏
  • 举报
回复
引用 3 楼 falloutmx 的回复:
你现在用的是什么文件系统?APP分区是否在FLASH上?是的话可以用yaffs2,ext3/4反而不太适合。log文件损坏不管,主要是配置文件。就像你说的,这个靠校验/备份机制解决。
我的所说的LOG是有组织的log,写到sqlite3的数据库中的,方便今后维护,警告用户等,只存1000条,然后滚动。 目前使用的正式yaffs2, 一块flash分了五个区。
falloutmx 2014-05-24
  • 打赏
  • 举报
回复
你现在用的是什么文件系统?APP分区是否在FLASH上?是的话可以用yaffs2,ext3/4反而不太适合。log文件损坏不管,主要是配置文件。就像你说的,这个靠校验/备份机制解决。
philip_puma 2014-05-23
  • 打赏
  • 举报
回复
引用 1 楼 falloutmx 的回复:
引导分区不用写的话就用cramfs。掉线几乎不会损坏NAND,但是可能损坏文件系统
那APP 分区如何保证呢?这个还得支持升级,且LOG文件读写都比较多,配置等,
falloutmx 2014-05-23
  • 打赏
  • 举报
回复
引导分区不用写的话就用cramfs。掉线几乎不会损坏NAND,但是可能损坏文件系统

1,616

社区成员

发帖
与我相关
我的任务
社区描述
智能硬件,智能手表,可穿戴设备,智能电视,谷歌眼镜,Google Glass 相关讨论。
社区管理员
  • 智能硬件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧