关于Yaffs2移植问题

         由于编译goldfish3.4内核源码,发现在编译到Yaffs2文件系统时出错,根据出错信息,发现是由于新内核中的一些数据结构和成员名发生变化引起的,可以通过两种途径来修改编译:

第一种方式是参考http://blog.csdn.net/mr_raptor/article/details/8250819  做修改,并生成patch供以后使用:yaffs2-3.4.patch

第二种方式最靠谱,就是直接使用Yaffs2官方的代码 http://www.yaffs.net/download-yaffs-using-git  来替换goldfish3.4内核中的Yaffs2代码,步骤如下:

  • git clone git://www.aleph1.co.uk/yaffs2 (clone代码)

  • cd yaffs2 && cat README-linux-patch (进入源码目录并查看使用说明)

  • mv ~/android/kernel/goldfish/fs/yaffs2/ ~/android/kernel/goldfish/fs/yaffs2_kernel (重命名内核中的yaffs2)

  • ./patch-ker.sh c m ~/android/kernel/goldfish/ (将官方yaffs2代码copy到内核源码中)

  • ​make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- (开始编译)

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、付费专栏及课程。

余额充值