摘要:目前的嵌入式系统多使用FLASH作为主存,因此,如何有效管理FLASH上的数据非常重要。文章以SST39VF160芯片为例,讨论了在Nor Flash上建立uClinux的JFFS2文件系统的一般步骤,从而为FLASH上的数据管理提供了理想的选择方式。
嵌入式系统正随着Internet的发展而在各个领域得到广泛的应用,作为嵌入式应用的核心,嵌入式Linux以其自由软件特性正日益被人们看好。Linux具有内核小、效率高、源代码开放等优点,还内涵了完整的TCP/IP网络协议,因此非常适于嵌入式系统的应用。而作为专门运行于没有MMU的微处理器的嵌入式操作系统,uClinux更是得到广泛应用。
当前的嵌入式系统开发,需要方便灵活的使用Flash。NOR和NAND是现在市场上两种主要的非易失闪存技术。Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。NOR的特点是芯片内执行?XIP? eXe-cute In Place?,这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。NOR的传输效率很高,在1~4MB的小容量时具有很高的成本效益,因此在嵌入式系统得到广泛的应用。
1 JFFS2文件系统简介
uClinux通常默认ROMFS作为根文件系统,它相对于一般的EXT2文件系统具有节约空间的优点。但是ROMFS是一种只读的文件系统,不支持动态擦写保存。虽然对于需要动态保存的数据可以采用虚拟ram盘的方法来保存,但当系统掉电后,ram盘的内容将全部丢失,而不能永久保存,因此需要实现一个可读写的文件系统。JFFS2文件系统便是一个很好的选择。
JFFS文件系统是瑞典Axis通信公司开发的一种基于Flash的日志文件系统,它在设计时充分考虑了Flash的读写特性和用电池供电的嵌入式系统的特点,在这类系统中必需确保在读取文件时,如果系统突然掉电,其文件的可靠性不受到影响。对Red Hat的David Woodhouse进行改进后,形成了JFFS2。主要改善了存取策略以提高FLASH的抗疲劳性,同时也优化了碎片整理性能,增加了数据压缩功能。需要注意的是,当文件系统已满或接近满时,JFFS2会大大放慢运行速度。这是因为垃圾收集的问题。
JFFS2的底层驱动主要完成文件系统对Flash芯片的访问控制,如读、写、擦除操作。在Linux中这部分功能是通过调用MTD(memory technology device内存技术设备)驱动实现的。相对于常规块设备驱动程序,使用 MTD 驱动程序的主要优点在于 MTD 驱动程序是专门为基于闪存的设备所设计的,所以它们通常有更好的支持、更好的管理和更好的基于扇区的擦除和读写操作的接口。MTD相当于在硬件和上层之间提供了一个抽象的接口,可以把它理解为FLASH的设备驱动程序,它主要向上提供两个接口:MTD字符设备和MTD块设备。通过这两个接口,就可以象读写普通文件一样对FLASH设备进行读写操作。经过简单的配置后,MTD在系统启动以后可以自动识别支持CFI或JEDEC接口的FLASH芯片,并自动采用适当的命令参数对FLASH进行读写或擦除。
JFFS2在uClinux中有两种使用方式,一种是作为根文件系统,另一种是作为普通文件系统在系统启动后被挂载。考虑到实际应用中需要动态保存的数据并不多,且在Linux系统目录树中,根目录和/usr等目录主要是读操作,只有少量的写操作,但是大量的读写操作又发生在/var和/tmp目录(这是因为在系统运行过程中产生大量log文件和临时文件都放在这两个目录中),因此,通常选用后一种方式。根文件指的是Romfs、var和/tmp,目录采用Ramfs,当系统断电后,该目录所有的数据都会丢失。
综上所述,通常在uClinux下采用的文件系统构成如图1所示。对于本文来说,图中Romfs和Ramfs两个文件系统的实现是很方便的,主要需要实现的是Nor Flash的底层MTD驱动,下面就以SST39VF160芯片为例来介绍MTD的驱动设计方法。
2 JFFS2底层MTD驱动设计
本文采用的系统以三星公司的SND-100为母板,CPU为ARM7TDMI芯片S3C4510B,16M的SDRAM,Nor Flash为SST39VF160,容量为1M×16bit,速度为70ns,通过16位数据总线与CPU交换数据,擦写次数典型值为10万次。
在\linux-2.4.x\drivers\mtd\maps目录下,每一个文件都是一个具体的MTD原始设备的相关信息,包括该MTD原始设备的起始物理地址、大小、分区情况、读写函数、初始化和清除程序。设计时,需要对SST39VF160编写相关的程序,假设为S3C4510B.C。则需要进行以下几点操作:
(1) 定义SST39VF160在系统中的起始地址、大小、总线宽度
#define WINDO DDR 0x1000000|0x04000000 //注意FLASH分区地址必须是non-cacheble
#define WINDOW SIZE 0x200000
#define BUSWIDTH 2
(2) 定义SST39VF160分区
典型的内存分区应包括:内核引导区、Linux内核区、应用区。其中内核引导区用来保存内核加载程序,Linux内核区存放的是经过压缩的uClinux内核,应用区则用来保存用户的数据和应用程序,该区设为我们要采用的JFFS2文件系统。具体如下:
static struct mtd_partition s3c4510_partitions[]={
{
name: ″bootloader(128K)″,
size: 0x20000,
offset: 0x0000,
mask_flags:MTD_WRITEABLE //设置成只读区域
},
{
name: ″uClinux_kernel(832K)″,
size: 0xd0000,
offset: 0x20000,
},?
{
name: ″jffs2 (1088K)?″,
size: 0x110000,
offset: 0xf0000
}
};?
(3) 定义SST39VF160字节、半字、字的读写操作函数。
(4) 初始化SST39VF160函数int_init init_s3c4510b()。
该操作主要包括两个方面:第一是调用do map probe()检测搜索MTD设备。通常检测方式有两种:cfi probe和jedec probe,这里采用后一种,该方法在jedec_probe.c文件中定义。另外,jedec probe.c中定义了各种jedec probe类型芯片的信息,有些linux版本没有包含SST39VF160,需要手动添加;而操作的第二方面则是调用add_mtd_partitions()以将your_partiton的各个分区加入mtd_table。
3 内核相关配置的设定
3.1 内核配置文件设置
为使内核支持JFFS2,需在内核配置选项菜单里选择相关选项。首先把SST39VF160的MTD驱动加入配置菜单。并在mtd/maps/Config.in文件中加入如下程序:
if[″$CONFIG ARM″= ″y″]; then
dep_tristate′CFI Flash device mapped on Samsung S3C4510B′CONFIG_MTD_S3C4510B $CONFIG_MTD_CFI
相应\mtd\maps\Makefile文件加入
obj_$(CONFIG_MTD_S3C4510B)+=s3c4510b.o
其次选择Menuconfig下的配置选项。
在linux Kernel v2.4.20-uc0 Configuration下
Memory Technology Devices?MTD?下
CONFIG_MTD=Y
CONFIG_MTD_DEBUG=Y
CONFIG_MTD_DEBUG_VERBOSE=3
CONFIG_MTD_PARTITIONS=Y
CONFIG_MTD_CHAR=Y
CONFIG_MTD_BLOCK=Y
RAM/ROM/Flash chip drivers下
CONFIG_MTD_CFI=Y
CONFIG_MTD_JEDECPROBE=Y
CONFIG_MTD_CFI_AMDSTD=Y
Mapping drivers for chip access下
CONFIG_S3C4510B=Y
File systems下
CONFIG_JFFS2_FS=Y
CONFIG_JFFS2_FS_DEBUG=2
在uClinux v1.3.4 Configuration下
Flash Tools下
CONFIG_USER_MTDUTILS=Y
CONFIG_USER_MTDUTILS_ERASE=Y
CONFIG_USER_MTDUTILS_ERASEALL=Y
CONFIG_USER MTDUTILS_MKFSJFFS2=Y
BusyBox下选中cat,cp,dd, mount,umount,mkdir工具。
3.2 MTD块设备配置
下面是修改系统块设备的主设备号。默认情况下,MTDBLOCK主设备号为31,与BLKMEM的主设备号冲突,因此 修改\mtd\mtd.h中 MTD BLOCK MAJOR的值为30。
接着应添加MTD设备节点到/vender/--你所使用的目标机类型--/Makefile文件中。其中字符设备的主设备号为90,次设备号为0、2、4、6...(奇数次设备号为只读设备),块设备的主设备号为31,次设备号为0、1、2、3。可按以下方式增加DEVICES目标:
mtd0,c,90,0 mtd1,c,90,1 mtd2,c,90,2
mtdblock0,b,30,0 mtdblock1,b,30,1 mtd-block2,b,30,2
做完以上步骤,可以运行内核编译命令make dep, make 以对内核进行编译。
当系统启动时,可以看到以下信息:
s3c4510b flash device: 200000 at 5000000
Found: SST SST39VF160
number of JEDEC chips: 1
Creating 3 MTD partitions on ″S3C4510B flash de-vice″:
0x00000000-0x00020000: ″bootloader(128K)″
mtd:Giving out device 0 to bootloader(128K)
0x00020000-0x00f0000:″uClinux_kernel(832K)″
mtd: Giving out device 1 to uClinux_kernel(832K)
0x00f0000-0x00200000:″jffs2_usr(1088K)″
mtd: Giving out device 2 to jffs2_usr(1088K)
init_mtdchar: allocated major number 90.
init_mtdblock: allocated major number 31.
……
3.3 创建文件系统镜像文件
系统会编译生成JFFS2的辅助工具:mkfs.jffs2、eraseall、erase。其中mkfs.jffs2会产生JFFS2文件系统镜像的工具,eraseall和erase用来对FLASH芯片的擦除。mkfs.jffs的使用方法如下:mkfs.jffs -d根目录?-b| l??-e 擦除块大小??-o 输出文件??-v ?0-9???-q?。
另外,为了使系统在启动时自动挂载建好的JFFS2文件系统,在启动脚本里应加入:
mount -t jffs2 /dev/mtdblock2 /mnt4 结束语
本文讨论了在uClinux下建立基于Nor Flash的JFFS2的文件系统的一般步骤。Nor Flash的特性决定了它在对数据存储要求不高的嵌入式系统中有着广泛的应用,因此JFFS2文件系统对Flash上的数据管理非常方便。对于一些高端的掌上设备来说,Nand Flash更为适合,其单元存储密度比较高,成本较低,这样系统可以在不增加成本的情况下扩大存储容量。目前有一种新型的文件系统YAFFS更适于Nand Flash,本文不再予以讨论。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
相关推荐
系统,所以JFFS2也可以用在Linux, uCLinux中。 Jffs2: 日志闪存文件系统版本2 (Journalling Flash FileSystem v2) 主要用于NOR型闪存,基于MTD驱动层,特点是:可读写的、
2017-12-19 07:24:004612 根文件系统是构建一个 uCLinux嵌入式系统的重要组成部分。目前嵌入式系统可以选择的根文件系统有:Romfs、CramFS、Ramfs、Jffs2、Ext2等等,本系统采用 CramFS作为
2020-09-24 17:08:122725 引言:串行Nor Flash是一类使用比较多的存储器件,在特殊应用场景中具有不可替代的地位,本节是数字存储器件系列第一节,介绍串行Nor Flash的结构和参数特性。
2023-09-05 10:09:341669 NAND Flash 和NOR Flash 的差别在哪儿呢?从字面意思上看, NAND = not AND(与非),NOR = not OR(或非),也有可能是NMOS AND/OR。同为非挥发
2023-09-11 16:59:231905 目前,NOR FLASH和NAND FLASH是市场上主要的非易失性闪存技术,但是据我了解,还是有很多工程师分不清NAND FLASH与NOR FLASH。
2023-10-01 14:05:00471 据集邦咨询2020第一季NOR Flash厂商市占数据,NOR Flash营收市占第一是旺宏,其制程在业界相对领先,目前采用55nm制程生产,月产能约在20K左右。由于该公司NOR Flash产品线
2020-11-08 09:26:2524454 jffs2文件系统中,也叫做oob(out of band)数据。其具体用途,总结起来有:1. 标记是否是坏快2. 存储ECC数据3. 存储一些和文件系统相关的数据,如jffs2就会用到这些空间存储
2018-07-16 15:22:53
自己用busybox-1.10-pre10制做了jffs2根文件系统,静态编译busybox,下载到fs2410开发板上,总是提示/bin/sh:can't access tty
2014-04-19 16:20:32
configuration,分区2到分区X放置系统内核,分区X到分区Y放置根文件系统。Flash的分区可以根据需要划分,uClinux中支持Flash存储器的块设备驱动负责定义上述的分区。和PC机下的Linux
2012-12-25 19:29:41
JFFS和JFFS2文件格式是特别为Flash存储器设计的,二者都具一种称为“损耗平衡”的特点,也就是说Flash的所有被擦写的单元都保持相同的擦写次数。利用这些特有保护措施,Flash的使用周期得到
2011-04-23 09:22:47
filesystemY分区0放置Bootloader,分区1放置factory configuration,分区2到分区X放置系统内核,分区X到分区Y放置根文件系统。Flash的分区可以根据需要划分,uClinux中支
2011-06-02 09:26:24
driver提供对Flash最有力的支持同,同时它也支持在Flash上直接运行文件系统,譬如JFFS和JFFS2,而B1kmem driver则不支持。
2011-06-02 09:28:04
根据设计需求,系统需要利用GPMC模块挂载一个1M*16bit NOR FLASH,而且要求其能从NOR FLASH启动。
阅读相关文件得到以下信息和疑问:
1.请问AM3352从NOR FLASH
2018-05-15 01:09:31
和kernel(uImage),和任何文件系统无关,一些刚刚接触嵌入式LINUX的朋友需要了解这一点,而nand write.jffs2专门用来烧写jffs2文件系统的,当然,你可以添加nand
2019-08-02 06:20:08
XIP调试原理》一文中,痞子衡简单提了一下串行NOR Flash下载算法的概念,并没有介绍具体设计细节,关于NOR Flash下载算法每个IDE都有自己的一套设计,虽然基本设计理念是一样的,...
2022-01-26 07:46:49
,分别对应的文件系统为 UBIFS、jffs2、etx4,注意区分。另外QSPI Nor Flash的容量相当有限,在制作jffs2文件系统前必须先裁剪。 除了使用Buildroot编译各种Linux
2017-08-15 15:12:35
cramfs、jffs、jffs2、yaffs、yaffs2等。cramfs文件系统是只读文件系统。
如果想在Flash上实现读写操作,通常在NorFlash上我们会选取jffs及jffs2文件系统,在
2023-06-26 08:13:11
本帖最后由 一只耳朵怪 于 2018-5-29 09:40 编辑
自己制作jffs2文件系统使用参数mkfs.jffs2 -lqn -s 1024 -e0x20000 -r rootfs -o
2018-05-28 02:26:33
目前,针对NOR Flash设计的文件系统JFFS/JFFS2在嵌入式系统中已得到广泛的应用;随着NAND作为大容量存储介质的普及,基于NAND闪存的文件系统YAFFS(Yet Another Flash File SySTem)正逐渐被应用到嵌入式系统中。
2019-10-28 06:39:19
查找、读写分析13 基于mtd的jffs2文件系统◆ nand上的jffs2文件系统格式◆ jffs2的加载◆ jffs2的磨损均衡与垃圾回收jffs2的◆ jffs2 的目录查找、读写分析14
2009-07-24 13:04:45
《FAT32文件系统结构的技术参数分析》 下载《FAT32文件系统结构研究》 下载
2009-02-03 08:28:13
环境:DM365开发板 dvsdk_dm365_4_02_00_06,linux-2.6.32.17-psp03.01.01.39
在dvsdk4.02下用jffs2进行文件系统的挂载。但是时间
2018-05-25 01:58:56
protel99文件转换成PADS2007文件的视频教程关于protel99设计的PCB文件转换成PADS2007设计的PCB文件的视频教程
2009-09-12 11:59:52
查看修改qcow2文件
2019-11-11 09:24:19
我想用u-boot引导启动Linux 2.6的内核。打算用jffs2作为根文件系统,但在配置u-boot时听说需要定义#define CONFIG_JFFS2_DEV "nor
2019-05-27 00:38:59
系统启动,默认为yaffs2文件系统,如果是jffs2文件系统,添加 rootfstype=jffs2// yaffs2setenv bootargs noinitrd root=/dev
2018-05-25 11:47:54
的flash是qspi flash(nor flash的一种),所有如果要从qspi flash启动根文件系统,那我我们就需要制作与nor flash想对应的文件系统类型----jfss/jfss2文件
2015-08-07 17:39:30
放入YAFFS、JFFS2文件系统中,有的应用不使用根文件系统,直接将应用程序和内核设计在一起,这有点类似于μCOS-II的方式。n烧写内核、根文件系统、应用程序n发布产品
2018-03-19 21:15:20
在嵌入式领域,FLASH是一种常用的存储介质,由于其特殊的硬件结构,所以普通的文件系统如ext2,ext3等都不适合在其上使用,于是就出现了专门针对FLASH的文件系统,比较常用的有jffs2
2021-12-22 06:08:05
= 32768, ret = -110在虚拟机上烧写fs_qtopia.jffs2为何出现上面情况?怎么解决啊?电路连接的对,文件也对,不论nor flash或nand flash,烧写u-boot时都能烧写进去,直到这一步时出错,为什么?怎么解决?
2019-08-13 04:32:43
最近使用NUC972做了一块板子,学习一下。在使用BSP驱动SPI NOR flash的时候遇到一个问题,请教大家能否指点一下。
我的板子改了SPI 为GD25Q256D,为32Mbytes在
2023-09-05 06:28:07
我用的nand flash是三星的S34ML08G2。其 Page Size: (2048 + 128) bytes; 128-byte spare area。内核已确定支持yaffs2文件
2017-12-10 23:19:06
报错:[ 5.062943] jffs2: Data CRC 9d9d77d1 != calculated CRC b7708a99 for node at 00709b4c每次重启,有时候正常
2020-05-22 11:27:29
君正x1830开发板kernel启动之后,跑NOR flash出现错误,错误如下:[ 5.062943] jffs2: Data CRC 9d9d77d1 != calculated CRC b7708a99 for node at 00709b4c
2020-06-16 11:22:11
我是用百问网提供的u-boot.bin,文件系统,内核。先是使用open jtag下载的u-boot.bin到norflash,然后启动u-boot,使用自带的命令j和k下载jffs2文件系统和uImage,之后使用命令b启动,之后试了yaffs2文件系统。更改bootargs后启动也是一样停在这里
2019-05-15 06:45:19
Python 操作 HDF5文件
2019-10-11 11:36:28
、PPC-LINUX5、建立根文件系统:用BUSYBOX 软件6、建立应用程序的flash 磁盘分区:用JFFS2 或YAFFS 文件系统7、开发应用程序8、烧写内核、根文件系统、应用程序9、发布产品。
2016-03-20 23:47:58
:使用了基于哈希表的日志节点结构,大大加快了对节点的操作速度;支持数据压缩;提供了“写平衡”支持;支持多种节点类型;提高了对闪存的利用率,降低了内存的消耗。这些特点使JFFS2文件系统成为目前
2015-09-22 15:58:38
嵌入式linux系统中常用的文件系统:闪存主要有NOR和NAND两种技术;因为Flash存储器的擦写次数是有限的,NAND闪存还有特殊的硬件接口和读写时序,于是就出现了专门针对FLASH的文件系统。比较常用的有jffs2,yaffs2,logfs,ubifs。传统的文件...
2021-11-04 08:18:21
通常情况下,我们用busybox制作一些文件系统,例如randisk、cramfs、jffs2文件系统,但是现在随着开发板的提升,很多使用SD/EMMC这样的存储设备。因此很多采用ext3、ext4这样的文件系统,我想请教如何制作?用什么工具,谢谢!!
2019-06-28 01:23:07
0x30000000g注意leds.bin的大小(2).通过u-boot烧写到Nor Flash:在u-boot里执行:protect off all &
2009-03-27 09:51:32
掉电的危险,并且在下一次系统引导时不需要文件系统的检查。由于JFFS和JFFS2文件格式是特别为Flash存储器设计的,二者都具一种称为“损耗平衡”的特点,也就是说Flash的所有被擦写的单元都保持相同
2011-06-02 09:29:34
我用蓝牙spp接收mp3文件存到flash中播放,将接收到的数据存到"/spiflash/test.mp3"文件里,播放音乐我选
2023-03-10 08:07:47
最近项目用到SPI FLASH需要做一个文件系统。
我看menuconfig里有jffs2,准备用一下,但是打开发现用不了。应该是还有挺多需要移植调整的东西。
目前常用的就是fat32吗?有点担心fat32没有磨损均衡,spiflash的寿命是个问题。
2023-04-27 11:31:35
制作的2个根文件系统yaffs2/jffs2yaffs2不能被引导启动。但是可以通过jffs2开启linux之后把yaffs2挂载上去。。并可以进入yaffs2文件系统。但是通过它来做为根文件
2013-12-07 17:59:10
我用的是mini2440的板子,按着韦东山的视频制作的jffs2镜像,然后烧进板子后,应该这时就和电脑没什么关系了,可是我的必须要和电脑连接才可以上电自动运行。为什么,请打什么赐教
2015-11-17 09:43:46
本帖最后由 一只耳朵怪 于 2018-6-20 14:49 编辑
目前AM1808已经从nfs起来了。我现在制作了jffs2文件系统,可是我不清楚nand的分区情况,在kernel源码里面也没找到关于AM1808的nand分区信息...求指导啊...急...
2018-06-20 03:24:39
/mtdblock3 rootfstype=yaffs2这句话我也是设置为yaffs2啊,但是就是不行。但是如果是挂在jffs2根文件的话,设置bootargs=console=ttySAC0,115200 root=/dev/mtdblock3 rootfstype=jffs2又可以挂载jffs2文件
2019-09-17 23:24:52
使用tftp烧写内核时,"nand write.jffs2 30000000 kernel"中的".jffs2"文件不是文件系统么?有点晕?烦请解释一下
2019-10-16 05:17:38
我是新人。。。在学习韦东山老师的视频时,遇到了一个问题,就是在uboot命令行用命令强制挂载jffs2系统后,不知道怎么改回挂载yaffs2系统了,求各位大神帮忙解答
2019-06-21 05:45:07
基于S3C44B0X微处理器的JFFS2件系统的实现
2009-03-28 09:50:2116 uClinu x默认的根文件系统ROMFS是一个只读文件系统, 不支持动态擦写保存。虽然对于需要系统动态保存的数据可以采用虚拟RAM盘的方法,但系统掉电后RAM 盘的内容全部丢失,不能永
2009-05-16 13:21:409 本文通过在嵌入式操作系统uClinux 上实现可读写JFFS 文件系统的实例,介绍了在嵌入式系统中使用Flash 芯片的方法。关键词: 嵌入式系统;uClinux;Flash;JFFS 文件系统Realizing JF
2009-05-31 15:10:2823 本文通过分析JFFS2 文件系统与传统文件系统的在超级块管理上的异同,提出了一 种新的JFFS2 超级块的管理方法,解决了原来JFFS2 超级块在挂载时候动态生成比较慢的问题。尤其适
2009-06-16 11:30:0431 JFFS2 是一种在嵌入式领域中得到广泛应用的文件系统,目前仍存在某些缺陷,这是由于Flash 本身的硬件特性和构建该文件系统的目的所决定的。本文提出一种以空间换时间的改
2009-08-31 09:33:0117 根文件系统是构建一个uCLinux 嵌入式系统的重要组成部分。目前嵌入式系统可以选择的根文件系统有:Romfs、CramFS、Ramfs、Jffs2、Ext2 等等,本系统采用CramFS 作为uCLinux 嵌入式系统的只
2009-09-01 09:46:1631 并行NOR Flash每次传输多个bit位的数据,而串行NOR Flash每次传输一个bit位的数据。并行NOR Flash比串行NOR Flash具有更快的传输速度。
2010-03-09 16:06:5049 串行NOR Flash介绍,串行NOR Flash分类、串行NOR Flash选型以及串行NOR Flash命名规则
2010-03-10 14:52:1830 摘要:目前的嵌入式系统多使用FLASH作为主存,因此,如何有效管理FLASH上的数据非常重要。文章以MX29LV160BT芯片为例,讨论了在VxWorks操作系统下Nor Flash上建立TFFS文件系统的
2006-03-11 12:20:19599 nand nor flash区别
NOR和NAND是现在市场上两种主要的非易失闪存技术。Intel于1988年首先开发出NOR
2008-06-30 16:29:231163 目前,针对NOR Flash设计的文件系统JFFS/JFFS2在嵌入式系统中已得到广泛的应用;随着NAND作为大容量存储介质的普及,基于NAND闪存的文件系统YAFFS(Yet Another Flash File System)正逐渐被
2010-09-01 10:10:031079 NOR FLASH编程指南,可以下来看看。
2016-12-11 21:31:5531 uClinux平台下的Flash存储技术
2017-01-19 21:22:5412 VDRF256M16是珠海欧比特公司自主研发的一种高速、大容量的NOR FLASH,可利用其对大容量数据进行高速缓存。文中介绍了该芯片的结构和原理,并同时给出了一个系统中大容量、高速数据传输要求
2017-10-15 12:20:5423 JFFS2 是一个开放源码的项目(www.infradead.org)。 它是在闪存上使用非常广泛的读/写文件系统,在嵌入式系统中被普遍的应用。这篇文章首先分析了在闪存上使用 JFFS2 的必要性
2017-11-02 11:07:430 根文件系统是构建一个uCLinux嵌入式系统的重要组成部分。目前嵌入式系统可以选择的根文件系统有:Romfs、CramFS、Ramfs、Jffs2、Ext2等等,本系统采用CramFS作为
2017-11-06 11:21:260 进行数据存储和管理的需要。然而,对于恶劣环境下的机载、车载等特定功能需求,采用NorFlash或者NandF-lash等介质存储数据,抗震动性能更好,可靠性更高。因此,实现基于Flash存储介质的文件系统具有重要意义。 JFFS2是一种开源的日志文件系统
2018-01-31 14:12:360 由于JFFS2在挂载过程中需要执行扫描, 构造文件系统, 因此在同样大小的mtdblock上, JFFS2挂载时间远大于EXT4文件系统。
2018-09-18 15:19:2517953 Nor Flash的接口和RAM完全相同,可以随机访问任意地址的数据,在其上进行读操作的效率非常高,但是擦除和写操作的效率很低,另外,Nor Flash的容量一般比较小,通常,Nor Flash用于存储程序。
2018-10-07 15:39:0010675 JFFS1和JFFS2的设计中都考虑到了FLASH的特性特别是满足了上述3个条件,包括了垃圾回收,坏块管理等功能. 这两种文件系统属于LFS(Log-structured File System
2019-04-22 17:32:373248 ramdisk制作成一个基本的文件系统,不同项目改动的只是jffs2数据分区,可以实现文件系统的重复利用。类似于核心板和底板的关系。
2019-04-25 17:38:291630 嵌入式linux中文站关注嵌入式linux文件系统的发展。在linux-2.6.27以前,谈到Flash文件系统,大家很多时候多会想到cramfs、jffs2、yaffs2等文件系统。
2019-04-27 19:37:006175 YAFFS,Yet Another Flash File System,是一种类似于JFFS/JFFS2的专门为Flash设计的嵌入式文件系统。与JFFS相比,它减少了一些功能,因此速度更快、占用内存更少。
2019-04-29 17:09:38607 JFFS1和JFFS2的设计中都考虑到了FLASH的特性特别是满足了上述3个条件,包括了垃圾回收,坏块管理等功能. 这两种文件系统属于LFS(Log-structured File System
2019-04-29 17:12:003605 因为jffs2是构建于MTD设备上的文件系统,所以无法通过loop设备来挂载,但是可以通过mtdram设备来挂载。mtdram是在用RAM实现的MTD设备,可以通过mtdblock设备来访问。
2019-05-05 11:52:052854 JFFS的缺点就是加载时间太长,因为每次加载都需要将FLASH上的所有节点(JFFS的存储单位)到内存,这样也占用了可观的内存空间.除此之外,”circle log”设计使得在对文件数据进行所有的数据都会被重写,这样造成不必要的时间,同时也会减少FLASH的寿命.
2019-05-05 11:53:392551 根文件系统是构建一个 uCLinux 嵌入式系统的重要组成部分。目前嵌入式系统可以选择的根文件系统有:Romfs、CramFS、Ramfs、Jffs2、Ext2 等等,本系统采用 CramFS 作为
2020-10-30 09:57:24263 1.1接口差别NOR Flash带有SRAM接口,有足够的地址引脚来寻址,可以直接和CPU相连,CPU可以直接通过地址总线对NOR Flash进行访问,可以很容...
2020-12-14 22:48:021624 Flash存储器的擦写次数是有限的,NAND闪存还有特殊的硬件接口和读写时序,于是就出现了专门针对FLASH的文件系统。比较常用的有jffs2,yaffs2,logfs,ubifs。传统的文件...
2021-11-01 16:56:4812 1、NOR flashNOR flash数据线和地址线分开,可以实现ram一样的随机寻址功能,可以读取任何一个字节。但是擦除仍要按块来擦。2、NAND flashNAND flash数据线和地址
2021-12-02 12:21:0630 使用FlashMemory作为存储介质。 根据硬件上存储原理的不同,Flash Memory主要可以分为NOR Flash和NAND FLASH两类。主要的差异如下所示: NAND FLASH读取速度
2022-01-25 17:25:1259808 1.1接口差别NOR Flash带有SRAM接口,有足够的地址引脚来寻址,可以直接和CPU相连,CPU可以直接通过地址总线对NOR Flash进行访问,可以很容...
2022-01-26 17:12:5213 AN017 基于Jlink烧录文件到SPI Nor Flash的方法
2023-02-27 18:21:340 为什么Nor Flash可以实现XIP,而Nand flash就不行呢? Flash存储器是一种常用的非易失性存储器,广泛应用于各种电子设备中。它们的价值在于它们可以快速读取和写入数据,同时因为没有
2023-10-29 16:32:58646 NAND Flash和NOR Flash是两种常见的闪存类型。
2023-11-30 13:53:20735 由于存储介质不同,Nand Flash 上通常采用如 jffs2、UBI 等格式文件系统。Toradex 的 Linux 系统使用 UBI 文件系统。
2023-12-07 09:31:16503
已全部加载完成
评论
查看更多