国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Linux > 正文

Linux2.6內(nèi)核下的YAFFS文件系統(tǒng)移植

2024-08-28 00:12:29
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

一、YAFFS文件系統(tǒng)簡(jiǎn)介

YAFFS,Yet Another Flash File System,是一種類似于JFFS/JFFS2的專門為Flash設(shè)計(jì)的嵌入式文件系統(tǒng)。與JFFS相比,它減少了一些功能,因此速度更快、占用內(nèi)存更少。

YAFFS和JFFS都提供了寫均衡,垃圾收集等底層操作。它們的不同之處在于:

(1)、JFFS是一種日志文件系統(tǒng),通過(guò)日志機(jī)制保證文件系統(tǒng)的穩(wěn)定性。YAFFS僅僅借鑒了日志系統(tǒng)的思想,不提供日志機(jī)能,所以穩(wěn)定性不如JAFFS,但是資源占用少。

(2)、JFFS中使用多級(jí)鏈表管理需要回收的臟塊,并且使用系統(tǒng)生成偽隨機(jī)變量決定要回收的塊,通過(guò)這種方法能提供較好的寫均衡,在YAFFS中是從頭到尾對(duì)塊搜索,所以在垃圾收集上JFFS的速度慢,但是能延長(zhǎng)NAND的壽命。

(3)、JFFS支持文件壓縮,適合存儲(chǔ)容量較小的系統(tǒng);YAFFS不支持壓縮,更適合存儲(chǔ)容量大的系統(tǒng)。

YAFFS還帶有NAND芯片驅(qū)動(dòng),并為嵌入式系統(tǒng)提供了直接訪問(wèn)文件系統(tǒng)的API,用戶可以不使用Linux中的MTD和VFS,直接對(duì)文件進(jìn)行操作。NAND Flash大多采用MTD+YAFFS的模式。MTD( Memory Technology Devices,內(nèi)存技術(shù)設(shè)備)是對(duì)Flash操作的接口,提供了一系列的標(biāo)準(zhǔn)函數(shù),將硬件驅(qū)動(dòng)設(shè)計(jì)和系統(tǒng)程序設(shè)計(jì)分開。

二、YAFFS文件系統(tǒng)的移植

yaffs代碼可以從http://www.aleph1.co.uk/armlinux/projects/下載(yaffs代碼包括yaffs_ecc

.c,yaffs_fileem.c,yaffs_fs.c,yaffs_guts.c,yaffs_mtdif.c,yaffs_ramem.c。)

表一 Yaffs文件系統(tǒng)源代碼相關(guān)文件及功能描述

文件名 功   能

yaffs_ecc.c ECC校驗(yàn)算法

yaffs_fileem.c 測(cè)試flash

yaffs_fs.c 文件系統(tǒng)接口函數(shù)

yaffs_guts.c Yaffs文件系統(tǒng)算法

yaffs_mtdif.c NAND函數(shù)

yaffs_ramem.c Ramdisk實(shí)現(xiàn)

1.內(nèi)核中沒(méi)有YAFFS,所以需要自己建立YAFFS目錄,并把下載的YAFFS代碼復(fù)制到該目錄下面。

#mkdir fs/yaffs

#cp *.c(yaffs source code) fs/yaffs

2.修改fs/Kconfig,使得可以配置yaffs :

source "fs/yaffs/Kconfig"

3.修改fs/makefile,添加如下內(nèi)容:

obj-$(CONFIG_YAFFS_FS)          += yaffs/

4.在fs目錄下生成yaffs目錄,并在里面生成一個(gè)makefile 和Kconfig

Makefile 內(nèi)容為:

yaffs-objs := yaffs_fs.o yaffs_guts.o yaffs_mtdif.o yaffs_ecc.o

EXTRA_CFLAGS += $(YAFFS_CONFIGS) -DCONFIG_KERNEL_2_6

Kconfig內(nèi)容為:

#

# YAFFS file system configurations

#

config YAFFS_FS

tristate "Yet Another Flash Filing System(YAFFS) file system support"

help

YAFFS, for Yet Another Flash Filing System, is a filing system

optimised for NAND Flash chips.

To compile the YAFFS file system support as a module, choose M here:

the module will be called yaffs.

If unsure, say N.

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 瓦房店市| 资溪县| 黄陵县| 都昌县| 新竹市| 鹤山市| 元朗区| 手游| 民权县| 石屏县| 抚远县| 兰考县| 分宜县| 张北县| 板桥市| 光山县| 万载县| 铁岭市| 腾冲县| 永春县| 临夏市| 申扎县| 蓬莱市| 达孜县| 壤塘县| 行唐县| 扎兰屯市| 贵港市| 故城县| 呼玛县| 东明县| 长沙市| 鹤峰县| 翁源县| 莱州市| 工布江达县| 阿瓦提县| 淮北市| 博爱县| 巫山县| 葵青区|