Yaffs功能说明

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

▪ 1 背景

▪ 2 发牌

▪ 3 Yaffs 和 Yaffs 直接接口有哪些?

▪ 4 为什么使用 Yaffs 吗?

▪ 5 源代码和 Yaffs 资源

▪ 6 系统要求

▪7 如何与实时操作系统/Embedded 系统集成 Yaffs

▪7.1 源文件

▪7.2 整合POSIX应用程序接口

▪7.3 RTO集成接口

▪8 Yaffs NAND模型

▪Yaffs1 8.1 NAND模型注意事项

▪Yaffs2 8.2 NAND模型

▪9 NAND配置和访问接口

▪9.1 常见配置项 (Yaffs1 和 Yaffs2)

▪9.2 共同访问函数 (Yaffs1 和 Yaffs2)

▪9.3 Yaffs1 访问函数

▪9.4 Yaffs2 访问函数

▪10 使用POSIX文件系统接口

▪10.1 向 Windows POSIX差异-喜欢接口

▪10.2 基本概念

▪10.3 错误代码

▪10.4 链接——硬种 (不是符号链接)

▪10.5 符号链接

▪10.6 基于句柄的文件处理

▪10.7 更改文件大小

▪10.8 获取/设置有关文件的信息

▪10.9 更改目录结构和名称

▪10.10 搜索目录

▪10.11 装载控制

▪10.12 其他

▪11 示例: yaffs_readdir() 和 yaffs_stat()

1 背景

本文档的目的是描述接口的Yaffs 直接接口(YDI) 以及提供足够的信息,以允许Yaffs 初步评价。这份文件试图把重点放在重要的系统集成商的问题没有得到Yaffs 是如何工作的太详细。其他文件提供Yaffs 的工作原理进行深入的讨论。

2 发牌

Yaffs 最初被用于Linux 下GNU公共许可证(GPL) 发布。很快就查明,Yaffs 将他们应用的理想选择,但是却不能使用GPL的各种嵌入式开发人员在其系统中基于代码的。Aleph 一有替代的发牌安排,以支持此类应用程序。

3 Yaffs 和 Yaffs 直接接口有哪些?

Yaffs 代表尚未另一个Flash 文件系统。Yaffs 是第一个文件为设计的系统,从地上起来,nand 闪存存储。

2002 年Aleph 一着手查明使用NAND闪存作为文件系统的文件系统选项。当时可用的各种文件系统进行评价和所有被发现缺乏一种方式或另一种。确定合适的nand 闪存存储文件系统需要和Yaffs 为了满足这一需要。

虽然Yaffs 最初设计用于NAND闪存,它已经被成功地用NOR闪存系统,甚至作为RAM文件系统。这允许高可靠性文件系统构造也不闪光,用为更高的密度和性能的NAND闪存未来的迁移路径。

Yaffs 最初被设计用于Linux 的操作系统,但非常模块化的方式设计了。经营系统特定代码是主要的Yaffs 文件系统代码分开。这允许Yaffs 相当干净地移植到其他操作系统通过操作系统个性模块。这样一个个性模块是允许Yaffs 将简单地集成与嵌入式系统,有或无的RTOS的Yaffs 直接接口(YDI).

Yaffs 被用于许多产品使用各种操作系统,包括Windows CE和各种高昂,包括ThreadX、vXworks、pSOS 举几个。

请注意,对不使用YDI的eCOS 的本机端口。这是支持并由eCocCentric 分发。

(/)。

Yaffs2,Yaffs,较新版本支持更广泛的NAND闪存组件包括2 k 页设备,并产生相等或更好的性能。它包括Yaffs1 兼容性代码,所以Yaffs1 图像仍然工作,迁移是相当简单。

Nand 闪存文件系统,YDI也提供提供给RAM仿真层,以允许Yaffs 太作为RAM文件系统操作。虽然RAM仿真也许不是一个专用的RAM文件系统尽可能高效的这允许一个行之有效的文件系统,使用两个RAM和flash。

4 为什么使用 Yaffs 吗?

Yaffs 是专门针对NAND闪存的第一次,和也许是唯一的文件系统。这意味着设计了Yaffs 变通的各种限制和怪癖的NAND闪存,以及利用与非门实现一个有效的文件系统的各种功能。

考虑一些特点:

▪Yaffs 已被很好的证明,并已被用于大量使用许多不同的操作系统、编译器和处理器的几种产品在出货。

▪Yaffs 是便携式用C 编写的是中性的字节序。

▪Yaffs 提供坏块处理和ECC算法来处理在NAND闪存中的不足之处。

▪Yaffs 是日志结构文件系统,使电力故障等导致了腐败非常稳健。

▪Yaffs 具有高度优化和可预测的垃圾收集策略。这使得高性能和非常确定性时相比相似的文件系统。▪Yaffs 具有较低的内存占用比大多数其他日志结构的闪存文件系统。

▪Yaffs 提供了种类繁多的POSIX-样式文件系统支持,包括目录,符号和硬链接等通过标准文件系统接口调用。

▪Yaffs 是高度可配置工作与各种闪光的几何形状,不同的ECC选项、缓存选项等。

▪Yaffs 直接接口是简单整合在一个系统——只有几个接口功能的需要。

▪Yaffs 可以用广泛的内存技术。

5 源代码和 Yaffs 资源

请注意适用于使用Yaffs 代码的许可条款。

作为Yaffs 的所有信息的枢纽。

本文档是广泛指Yaffs 源代码。并且可以通过此站点上的下载链接。

有其他各种文件和Yaffs 讨论Yaffs 邮件列表。

咨询服务也是可用的。

6 系统要求

确定最低系统要求往往是相当困难的。以下介绍只是指引了。如果与联系Aleph 一进行更详细的分析要求。

▪Yaffs 是中性的字节序和小端字节序和大端字节序处理器工作正常。

▪Yaffs 代码已经被成功地与许多不同的32 位和64 位Cpu 包括MIPS,68000,ARM、PowerPC、ColdFire x 86 变种。Yaffs 应使用16 位Cpu 太,但这是一般未经测试,可能需要一些调整,具体取决于编译器选项。

▪由于Yaffs 是日志结构的RAM被需要建立可接受的性能的运行时数据结构。作为一个经验法则,预算大约每2 个字节块的NAND闪存,在一大块通常是NAND的一页。NAND与512 字节的页,预算大约4kbytes 的RAM每1Mbyte 的nand 闪存。2kbyte 页设备预算大约每1Mbyte NAND 1 kb.

7 如何与实时操作系统/Embedded 系统集成Yaffs

Yaffs 直接接口(YDI) 包装Yaffs 是简单整合的方式。您需要提供几个函数Yaffs 使用谈谈您的硬件和操作系统。Yaffs 提供了一整套的POSIX-兼容功能应用程序可以使用跟它说话。

除了Yaffs 核心文件系统,YDI有三个部分,每个所述在进一步章节中详细:

相关文档
最新文档