ARM Cortex-A8/A9开发板 | ARM11开发板ARM11开发套件 | ARM9开发板ARM9开发套件 | 飞思卡尔I.MX28I.MX6开发板 |
tiny210/mini210开发板 | mini6410开发板/套餐 | Tiny6410开发板无线套件 | mini2440开发板/套餐 | micro2440开发板带核心板 | 友善开发板配件 模块 | QQ2440 V3 SBC-2410X |
FL2440 OK2440-IV V4 | OK2440-III OK2440V3 | TE2440-II TE2440V2 | OK6410 S3C6410 ARM11 | FL6410/OK6410B ARM11 | TE6410 S3C6410 ARM11 | TE-9263 AT91SAM9263 | 开发板配件 模块和其他 |
Xilinx开发板/fpga开发套件 | altera开发板/fpga开发套件 | 基于FMC FPGA/DSP子卡 |
BeagleBoard原厂开发板 | PandaBoard原厂开发板 |
TI DM3730 DevKit8500D | TI系列 omap3530开发板 | ATMEL系列 开发板 | Samsung系列 开发板 | 开发板配件-仿真器 模块 | NXP LPC3250 mini3250 |
Tiny210 三星S5PV210 | Mini210/Mini210s开发板 | Tiny4412开发板Cortex-A9 | Tiny6410开发板 ARM11 | mini2440开发板 ARM9 | micro2440开发板 ARM9 | mini6410开发板 ARM11 | 友善ARM开发板配件 模块 |
keil ARM仿真器/开发工具 | STM32开发板 Cortex-M3 | NXP LPC开发板Cortex-M3 | ATMEL系列 ARM开发板 | Luminary EKK8962开发板 | Freescale i.MX31开发板 | 三星s3c2440 s3c6410开发板 |
FL2440 OK2440-IV V4 | OK6410 S3C6410 ARM11 | FL6410/OK6410B ARM11 | OK210/-A Cortex-A8 | TE2440-II TE2440V2 | TE6410 S3C6410 ARM11 | TE-9263 AT91SAM9263 | ARM开发板配件 模块等 |
Real6410开发板/套餐 | Real210开发板/Real2410 | WIFI GPS GPRS模块摄像头 |
Xilinx开发板/开发套件KIT | Altera开发板/开发套件KIT | 配套模块 |
NXP LPC开发板 ARM7 | Cortex-M3 STM32开发板 | 最小系统模块类(初学者勿选) | 开发工具 仿真器 调试器 | TFT液晶屏LCD 液晶模块 |
DM642开发板/DM642实验箱 | DM6446开发板/DSP实验箱 | DSP仿真器 液晶屏 摄像头等 |
DM3730/AM3715/AM3359 | OMAP3530AM1808AM3517 | 飞思卡尔Cortex-A9开发板 | ATMEL系列ARM开发板 | NXP LPC3250 LPC1788 | Samsung系列ARM开发板 | STM32系列F207/F407 | ARM开发板配件-仿真器 模块 |
Realv210 S5PV210开发板 | Real6410开发板 ARM11 | WIFI GPS GPRS模块摄像头 |
NXP LPC开发板 ARM7 | Cortex-M3 STM32开发板 | ARM小系统模块(初学勿选) | 开发工具 ARM仿真器 调试器 | TFT液晶屏LCD 液晶模块 |
keil ARM仿真器/开发工具 | STM32开发板 Cortex-M3 | NXP LPC开发板Cortex-M3 | ATMEL系列 ARM开发板 | Luminary EKK8962开发板 | Freescale i.MX31开发板 | 三星s3c2440 s3c6410开发板 |
Exynos4412开发板A9四核 | UT-S5PV210 S5PC100 | UT-S3C6410开发板 ARM11 | idea 6410开发板 ARM11 | UT-S3C2450开发板 ARM9 | UT-S3C2416开发板 ARM9 | UT-S3C6410核心板 工控 |
Xilinx开发板 FPGA开发套件 | altera开发板 FPGA开发套件 | FMC模块 配件 下载线 |
DM642开发板/DM642实验箱 | DM6446开发板/DSP实验箱 | DSP仿真器 液晶屏 摄像头等 |
s3c2410 ARM9 FS2410 | s3c2440开发板 ARM9 | s3c44B0开发板 ARM7 | s3c6410 2450 2443/13 | PXA270 PXA320 PXA255 | Atmel 9200 9261 9G20 | Philips NXP开发板YL-LPC | FS-EP9315开发板ARM9 | LCD液晶屏TFT真彩/触摸屏 | ARM仿真器/仿真调试工具 | ARM开发板配套ARM核心板 |
三星s3c2410 s3c44B0 | 三星s3c6410 s3c2443 | Intel PXA270 PXA320 | UP-CUP OMAP5910平台 | FPGA Xilinx altera平台 | 配件-仿真器 模块 液晶屏LCD | 龙芯开发板UP-DRAGON-I | 物联网教学科研设备 | EDA/FPGA/SOPC教学科研 |
utu2440-F-V4.5 含核心板 | utu2440-S-V4.1 单板结构 | YC2440-F-V5.1开发板 豪华型 | YC-ePC-A系列人机界面 | Mars-EDA套件CPLD FPGA | 触摸屏LCD 摄像头 WI-FI模块 |
ARM开发板/开发平台 | FPGA开发板/开发平台 | 编程器/烧写器下载器烧录 | ZLG 仿真器ARM FPGA DSP | ZLG周立功逻辑分析仪 |
DSP初学者开发套件(DSK) | DSP仿真器/仿真系统 | DSP开发板/DSP试验箱 | DaVinci系列多媒体平台 | Xilinx FPGA大学计划产品 | SEED教学实验系统 | FPGA/DSP FPGA开发板 | TI原厂开发板套件/CCS软件 |
ARM开发板 | XSCALE开发板 | ARM仿真器 | SOPC开发板 | DSP开发板 | 达芬奇系列DSP开发平台 | DSP仿真器 | DSP实验箱 | DSP专业研究平台 | ARM实验箱系列 |
广嵌实验室项目产品 | GEC2440/GEC6410开发板 |
泰克Tektronix示波器 | 普源RIGOL示波器 | USB虚拟示波器 |
UT-S5PC100 UT-S5PV210 | UT-S3C6410开发板 ARM11 | idea 6410开发板 ARM11 | UT-S3C2450开发板 ARM9 | UT-S3C2416开发板 ARM9 | UT-S3C6410核心板 工控 | 开发板模块wifi gps等 |
EMA OMAP3530开发板 | EMA OMAP 3530核心板 |
三星s3c2410 s3c44B0 | 三星s3c6410 s3c2443 | Intel PXA270 PXA320 | UP-CUP OMAP5910平台 | FPGA Xilinx Altera平台 | 配件-仿真器 模块 液晶屏LCD | 龙芯系列 UP-DRAGON-I |
utu2440-F-V4.5 含核心板 | utu2440-S-V4.1 单板结构 | YC2440-F-V5.1开发板 豪华型 | 触摸屏LCD 摄像头 WI-FI模块 | Mars-EDA套件CPLD FPGA | ePC系列工控一体机ARM9 A8 |
ARM开发板/开发平台 | FPGA开发板/开发平台 | 编程器/烧写器下载器烧录 | ZLG 仿真器ARM FPGA DSP | ZLG周立功逻辑分析仪 |
DSP初学者开发套件(DSK) | DSP仿真器 | DSP开发板 | DSP实验箱 | Xilinx FPGA大学计划产品 |
ARM开发板 | XSCALE开发板 | ARM仿真器 | SOPC开发板 | DSP开发板 | 达芬奇系列DSP开发平台 | DSP仿真器 | DSP实验箱 | DSP专业研究平台 | ARM实验箱系列 |
ARM开发板S3C6410等 | Cortex-A8/ARM11仿真器 | ADSP Blackfin开发板 | FPGA Spartan-3E开发板 |
GEC2410开发套件ARM9 | GEC2440开发套件ARM9 |
泰克 示波器 |
随着嵌入式技能在种种电子产品中的广泛应用,嵌入式体系中的数据存储和办理已经成为一个告急的研究课题。Flash存储用具有速率快、容量大、资源低等很多长处,因此在嵌入式体系中被广泛用做外存储器件。Flash紧张有NOR和NAND两种典范。如今,针对NOR Flash筹划的文件体系JFFS/JFFS2在嵌入式体系中已得到广泛的应用;随着NAND作为大容量存储介质的广泛,基于NAND闪存的文件体系YAFFS(Yet Another Flash File System)正垂垂被应用到嵌入式体系中。
NAND闪存先容
NOR 和NAND是如今市场上两种紧张的非易失性闪存技能。NOR比较得当存储步调代码,其容量一样通常小于16MB;NAND则是高密度数据存储的抱负办理方案,其容量可达1GB以上。NAND闪存的存储单位为页和块。一样通常来说,128MB以下容量芯片的一页大小为528字节,依次分为2个256字节的主数据区,着末是16字节的备用空间;一个块由多少页构成,通常为32页;一个存储配置又由多少块构成。与其他存储器相比,NAND闪存具有以下特点:不是完全可靠的,每块芯片出厂时都有肯定比例的坏块存在;各个存储单位是不可直接改写的,在每次改写利用之前须要先擦除;擦除利用以块为单位举行,而读写利用通常以页为单位举行;各块的擦除次数有限,一样通常为10万~100万次;利用巨大的I/O口串行存取数据。
YAFFS文件体系简介
YAFFS雷同于JFFS/JFFS2,是专门为NAND闪存筹划的嵌入式文件体系,实用于大容量的存储配置。它这天记布局的文件体系,提供了斲丧均衡和失电掩护,可以有效地克制不测失电对文件系同划一性和完备性的影响。YAFFS文件体系是按层次布局筹划的,分为文件体系办理层接口、YAFFS内部实现层和NAND接口层,如许就简化了其与体系的接口筹划,可以方便地集成到体系中去。与JFFS相比,它淘汰了一些结果,因此速率更快,占用内存更少。
YAFFS充分思量了NAND闪存的特点,根据NAND闪存以页面为单位存取的特点,将文件构导致牢固大小的数据段。利用NAND闪存提供的每个页面16字节的备用空间来存放ECC(Error Correction Code)和文件体系的布局信息,不但可以大概实现错误检测和坏块处理惩罚处罚,也可以大概提大作件体系的加载速率。YAFFS采取一种多战略殽杂的垃圾采取算法,连合了贪婪战略的高效性和随机选择的匀称性,到达了分身斲丧匀称和体系开销的目标。
YAFFS文件布局布局
YAFFS将文件构导致牢固大小(512字节)的数据段。每个文件都有一个页面专门存放文件头,文件头生存了文件的模式、全部者id、组id、长度、文件名等信息。为了提大作件数据块的查找速率,文件的数据段被构导致树形布局。YAFFS在文件举行改写时总是先写入新的数据块,然后将旧的数据块从文件中删除。YAFFS利用存放在页面备用空间中的ECC举行错误检测,出现错误后会举行肯定次数的重试,多次重试失败后,该页面就被克制利用。
YAFFS物理数据布局
YAFFS充分利用了NAND闪存提供的每个页面16字节的备用空间,参考了SmartMedia的设置,备用空间中6个字节被用作页面数据的ECC,2个字节分别用作块状态字和数据状态字,别的的8字节(64位)用来存放文件体系的布局信息,即元数据。由于文件体系的底子布局信息生存在页面的备份空间中,因此,在文件体系加载时只须要扫描各个页面的备份空间,即可创建起整个文件体系的布局,而不须要像JFFS 那样扫描整个介质,从而大大加快了文件体系的加载速率。
YAFFS擦除块和页面分派
YAFFS中用数据布局来形貌每个擦除块的状态。该数据布局记录了块状态,并用一个32位的位图表现块内各个页面的利用环境。在YAFFS中,有且仅有一个块处于“当前分派”状态。新页面从当前举行分派的块中序次举行分派,若当前块已满,则序次探求下一个空闲块。
YAFFS垃圾网络机制
YAFFS利用一种多战略殽杂的算法来举行垃圾采取,将贪婪战略和随机选择战略按肯定比例殽杂利用:当餍足特定的小概率条件时,垃圾采取器会试图随机选择一个可采取的页面;而在其他环境下,则利用贪婪战略采取最“脏”的块。通过利用多战略殽杂的要领,YAFFS可以大概有效地改造贪婪战略导致的不匀称;通过差别的殽杂比例,则可以控制斲丧匀称和体系开销之间的均衡。思量到NAND的擦除很快(和NOR相比可敷衍不计),YAFFS将垃圾网络的查抄放在写入新页面时举行,而不是采取JFFS那样的背景线程要领,从而简化了筹划。
YAFFS实现开辟环境简介
本文采取的是宿主机+目标板的开辟模式。宿主机为PC+REDHAT9.0,目标板为三星公司的S3C2410+嵌入式Linux,版本为2.6.11.12。NAND闪存是三星公司64MB的K9F5608U0C。YAFFS的源码可以从网站下载。
YAFFS移植:
1)在内核中创建YAFFS目次fs/yaffs,并把下载的YAFFS代码复制到该目次下面。
2)修改fs/Kconfig,使得可以配置YAFFS。
3)修改fs/makefile,添加如下内容:obj-$(CONFIG_YAFFS_FS) += yaffs/
4)在天生的YAFFS目次中天生Makefile 和Kconfig文件。
[ 干系贴图 ]
博航网 www.broadon.net 版权所有
京ICP备10051899号-2 京公网安备110108006479号