learning yaffs2 filesystem notes
Posted lianghong881018
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了learning yaffs2 filesystem notes相关的知识,希望对你有一定的参考价值。
参数inband_tags就表示tags存放的位置,tags的大小为16字节,其定义如下所示。
struct yaffs_packed_tags2_tags_only { unsigned seq_number; unsigned obj_id; unsigned chunk_id; unsigned n_bytes; };
inband_tags参数的值为0时,表示tags存放在Flash页的OOB区域内,
值为1时,表示tags存放在Flash页的数据区域内,
值得注意的是,对于页大小为512字节的Nand Flash,
它的OOB区域大小只有16字节,并且这些字节需要用于记录坏块、ECC校验等信息,不足以保存YAFFS的tags信息,
因此页大小为512字节的Nand Flash需要将inband_tags参数设置为1。
另外,对于页大小非512字节的Nand Flash,如果由于控制器需要记录额外信息等原因导致OOB区不足,
理论上也可以将tags存放到数据区域内,但在使用时会出现错误,原因未知,可能是YAFFS版本过低导致的,因为低版本YAFFS确实存在这个问题。
以上是关于learning yaffs2 filesystem notes的主要内容,如果未能解决你的问题,请参考以下文章