新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 在U-Boot中实现对Yaffs镜像的支持

在U-Boot中实现对Yaffs镜像的支持

作者:时间:2018-09-12来源:网络收藏

通过以上步骤,已经可以支持文件系统的读写。一般地,在进行NAND FLASH写操作时,可以先通过串口或网络等接口将数据下载到内存中,进而按照命令格式将其烧写到NAND FLASH中。例如:

本文引用地址:http://www.eepw.com.cn/article/201809/388999.htm


中使用以上三条命令,将名为test.yaffs的文件系统下载到内存中,然后擦除一块FLASH空间,最后用Nand Write.yaffs命令将其写入NAND FLASH。烧写完毕后会提示:
Writing data at 0xd67200-100%complete.
3663264 bytes written:OK
另外,由于没有使用ECC,烧写过程中会有大量如下提示:
Writing data without ECC to NAND_FLASH is not recom-mended
事实上,ECC数据在生成时已经包含在镜像里,因此这里的提示并没有关系。在drivers/nand/nand_basec.c文件中,将nand_write_page函数中case NAND_ECC_NONE:语句分支中的printk函数注释掉即可消除此提示。

3 Yaffs文件系统的性能
在实际使用中,一般CPU的运行速度远大于FLASH的读写速度,所以yaffs文件系统的读写速度主要由具体FLASH芯片的读写时间延迟来决定。
对于常使用的Yaffs 2,写操作的速度为1.5~4.5 MB/S,读操作的速度为7.6~16.7 MB/S,删除操作为7.8~62.5 MB/s,垃圾回收为2.1~7.7 MB/s。由于一般嵌入式系统数据交换量不大,所以该文件系统完全能够满足一般实时性操作的要求。
此外,作为日志型文件系统,Yaffs文件系统能够有效地保护数据完整性,避免系统掉电等情况对数据产生的破坏。同时,与其他FLASH文件系统相比, Yaffs文件系统的实现给NAND型FLASH带来了很多优化,在速度、内存占用以及能耗等方面都有更好的表现。


4 结 语
这里在分析Yaffs文件系统基本结构的基础上,通过为已有命令添加新的参数,实现了U- Boot读写Yaffs文件系统镜像的支持。最后通过一个简单试验进行了验证。结果表明,烧写入FLASH中的文件系统镜像可以被嵌入式Linux等操作系统的内核挂载使用。方便了嵌入式系统的Yaffs根文件系统镜像的创建和调试。


上一页 1 2 3 下一页

关键词: U-Boot Yaffs 镜像

评论


相关推荐

技术专区

关闭