sylixos yaffs checkpoint机制

sylixos 下当创建好了nand 设备和mtd 设备以及 yaffs 设备后,使用yaffs_mount() 函数挂载yaffs 文件系统;

初始化时调用 yaffs_guts_initialise()函数:

yaffs2_checkpt_restore() 为checkpoint 机制,一般是系统第二次启动会为真,从相应的块中直接得到上次文件系统信息;

如果不为真,会扫描所有 挂载的块;

yaffs2_rd_checkpt_data 中会读取块中的 checkpoint 的结构体   struct yaffs_checkpt_validity ;

struct yaffs_checkpt_validity {
    int struct_type;
    u32 magic;
    u32 version;
    u32 head;
};

流程: yaffs2_checkpt_open

          yaffs2_rd_checkpt_validity_marker

                

               yaffs2_checkpt_rd 中读取相应块中tag 及checkpt_buffer

               

               

                dev->tagger.read_chunk_tags_fn =  yaffs_tags_marshall_read

          yaffs2_rd_checkpt_dev

          yaffs2_rd_checkpt_objs

          yaffs2_rd_checkpt_validity_marker

          yaffs2_rd_checkpt_sum

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YAFFS2(Yet Another Flash File System 2)是一种针对嵌入式系统设计的开源嵌入式文件系统。移植YAFFS2到单片机上涉及以下步骤: 1. 了解单片机的硬件和存储器:单片机的硬件架构和存储器类型对文件系统的移植至关重要。需要了解单片机的处理器类型、存储器大小和类型,例如闪存或EEPROM等。 2. 下载和配置YAFFS2:从官方网站或源代码仓库下载YAFFS2的最新版本。根据单片机的硬件和存储器特性,修改YAFFS2的配置文件,例如设置闪存大小、页大小和块大小等。 3. 移植文件操作接口:单片机的操作系统可能不支持标准的文件操作接口,需要根据单片机的特性实现文件系统的操作接口。这些接口包括读写文件、创建删除文件、目录遍历等。 4. 适配存储器驱动程序:YAFFS2需要针对单片机的存储器类型进行适配。根据单片机的存储器接口和特性,修改YAFFS2的底层驱动程序,确保与单片机的存储器正常交互。 5. 编译和链接YAFFS2:使用适当的交叉编译工具链,将YAFFS2编译为单片机可执行的格式。确保编译选项与单片机的体系结构和操作系统匹配。 6. 测试和调试:将移植后的YAFFS2文件系统部署到单片机上,并进行详细的功能测试和性能测试。通过检查文件系统的功能和性能是否符合预期,进行必要的调试和优化。 总之,移植YAFFS2到单片机需要对单片机硬件和存储器有深入的了解,并进行文件操作接口适配和存储器驱动程序适配。合理配置和编译YAFFS2,最后进行测试和调试,确保其正常运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值