摘要: 目前的嵌入式系統(tǒng) 多使用FLASH作為主存,因此,如何有效管理FLASH上的數(shù)據(jù)非常重要。文章以SST39VF160芯片 為例,討論了在Nor Flash上建立uClinux 的JFFS2文件系統(tǒng)的一般步驟,從而為FLASH上的數(shù)據(jù)管理提供了理想的選擇方式。
嵌入式 系統(tǒng)正隨著Internet的發(fā)展而在各個(gè)領(lǐng)域得到廣泛的應(yīng)用,作為嵌入式應(yīng)用的核心,嵌入式Linux以其自由軟件特性正日益被人們看好。Linux具有內(nèi)核小、效率高、源代碼開放等優(yōu)點(diǎn),還內(nèi)涵了完整的TCP/IP網(wǎng)絡(luò) 協(xié)議,因此非常適于嵌入式系統(tǒng)的應(yīng)用。而作為專門運(yùn)行于沒有MMU的微處理器 的嵌入式操作系統(tǒng) ,uClinux更是得到廣泛應(yīng)用。
當(dāng)前的嵌入式系統(tǒng)開發(fā),需要方便靈活的使用Flash。NOR和NAND是現(xiàn)在市場(chǎng)上兩種主要的非易失閃存技術(shù)。Intel于1988年首先開發(fā)出NOR flash技術(shù),徹底改變了原先由EPROM和EEPROM一統(tǒng)天下的局面。NOR的特點(diǎn)是芯片內(nèi)執(zhí)行?XIP? eXe-cute In Place?,這樣應(yīng)用程序可以直接在flash閃存內(nèi)運(yùn)行,不必再把代碼讀到系統(tǒng)RAM中。NOR的傳輸效率很高,在1~4MB的小容量時(shí)具有很高的成本效益,因此在嵌入式系統(tǒng)得到廣泛的應(yīng)用。1 JFFS2文件系統(tǒng)簡(jiǎn)介
uClinux通常默認(rèn)ROMFS作為根文件系統(tǒng),它相對(duì)于一般的EXT2文件系統(tǒng)具有節(jié)約空間的優(yōu)點(diǎn)。但是ROMFS是一種只讀的文件系統(tǒng),不支持動(dòng)態(tài)擦寫保存。雖然對(duì)于需要?jiǎng)討B(tài)保存的數(shù)據(jù)可以采用虛擬ram盤的方法來保存,但當(dāng)系統(tǒng)掉電后,ram盤的內(nèi)容將全部丟失,而不能永久保存,因此需要實(shí)現(xiàn)一個(gè)可讀寫的文件系統(tǒng)。JFFS2文件系統(tǒng)便是一個(gè)很好的選擇。
JFFS文件系統(tǒng)是瑞典Axis通信 公司 開發(fā)的一種基于Flash的日志文件系統(tǒng),它在設(shè)計(jì)時(shí)充分考慮了Flash的讀寫特性和用電池供電 的嵌入式系統(tǒng)的特點(diǎn),在這類系統(tǒng)中必需確保在讀取文件時(shí),如果系統(tǒng)突然掉電,其文件的可靠性不受到影響。對(duì)Red Hat的David Woodhouse進(jìn)行改進(jìn)后,形成了JFFS2。主要改善了存取策略以提高FLASH的抗疲勞性,同時(shí)也優(yōu)化了碎片整理性能,增加了數(shù)據(jù)壓縮功能。需要注意的是,當(dāng)文件系統(tǒng)已滿或接近滿時(shí),JFFS2會(huì)大大放慢運(yùn)行速度。這是因?yàn)槔占膯栴}。
JFFS2的底層驅(qū)動(dòng)主要完成文件系統(tǒng)對(duì)Flash芯片的訪問控制,如讀、寫、擦除操作。在Linux中這部分功能是通過調(diào)用MTD(memory technology device內(nèi)存技術(shù)設(shè)備)驅(qū)動(dòng)實(shí)現(xiàn)的。相對(duì)于常規(guī)塊設(shè)備驅(qū)動(dòng)程序,使用 MTD 驅(qū)動(dòng)程序的主要優(yōu)點(diǎn)在于 MTD 驅(qū)動(dòng)程序是專門為基于閃存的設(shè)備所設(shè)計(jì)的,所以它們通常有更好的支持、更好的管理和更好的基于扇區(qū)的擦除和讀寫操作的接口 。MTD相當(dāng)于在硬件 和上層之間提供了一個(gè)抽象的接口,可以把它理解為FLASH的設(shè)備驅(qū)動(dòng)程序,它主要向上提供兩個(gè)接口:MTD字符設(shè)備和MTD塊設(shè)備。通過這兩個(gè)接口,就可以象讀寫普通文件一樣對(duì)FLASH設(shè)備進(jìn)行讀寫操作。經(jīng)過簡(jiǎn)單的配置后,MTD在系統(tǒng)啟動(dòng)以后可以自動(dòng)識(shí)別支持CFI或JEDEC接口的FLASH芯片,并自動(dòng)采用適當(dāng)?shù)拿?a target="_blank">參數(shù) 對(duì)FLASH進(jìn)行讀寫或擦除。
JFFS2在uClinux中有兩種使用方式,一種是作為根文件系統(tǒng),另一種是作為普通文件系統(tǒng)在系統(tǒng)啟動(dòng)后被掛載??紤]到實(shí)際應(yīng)用中需要?jiǎng)討B(tài)保存的數(shù)據(jù)并不多,且在Linux系統(tǒng)目錄樹中,根目錄和/usr等目錄主要是讀操作,只有少量的寫操作,但是大量的讀寫操作又發(fā)生在/var和/tmp目錄(這是因?yàn)樵谙到y(tǒng)運(yùn)行過程中產(chǎn)生大量log文件和臨時(shí)文件都放在這兩個(gè)目錄中),因此,通常選用后一種方式。根文件指的是Romfs、var和/tmp,目錄采用Ramfs,當(dāng)系統(tǒng)斷電后,該目錄所有的數(shù)據(jù)都會(huì)丟失。
綜上所述,通常在uClinux下采用的文件系統(tǒng)構(gòu)成如圖1所示。對(duì)于本文來說,圖中Romfs和Ramfs兩個(gè)文件系統(tǒng)的實(shí)現(xiàn)是很方便的,主要需要實(shí)現(xiàn)的是Nor Flash的底層MTD驅(qū)動(dòng),下面就以SST39VF160芯片為例來介紹MTD的驅(qū)動(dòng)設(shè)計(jì)方法。2?。剩疲疲樱驳讓樱停裕尿?qū)動(dòng)設(shè)計(jì)
本文采用的系統(tǒng)以三星 公司的SND-100為母板,CPU為ARM7TDMI芯片S3C4510B,16M的SDRAM,Nor Flash為SST39VF160,容量為1M×16bit,速度為70ns,通過16位數(shù)據(jù)總線與CPU交換數(shù)據(jù),擦寫次數(shù)典型值為10萬(wàn)次。
在\linux-2.4.x\drivers\mtd\maps目錄下,每一個(gè)文件都是一個(gè)具體的MTD原始設(shè)備的相關(guān)信息 ,包括該MTD原始設(shè)備的起始物理地址、大小、分區(qū)情況、讀寫函數(shù)、初始化和清除程序。設(shè)計(jì)時(shí),需要對(duì)SST39VF160編寫相關(guān)的程序,假設(shè)為S3C4510B.C。則需要進(jìn)行以下幾點(diǎn)操作:
(1) 定義SST39VF160在系統(tǒng)中的起始地址、大小、總線寬度
#define WINDO DDR 0x1000000|0x04000000 //注意FLASH分區(qū)地址必須是non-cacheble
#define WINDOW SIZE 0x200000
#define BUSWIDTH 2
(2) 定義SST39VF160分區(qū)
典型的內(nèi)存分區(qū)應(yīng)包括:內(nèi)核引導(dǎo)區(qū)、Linux內(nèi)核區(qū)、應(yīng)用區(qū)。其中內(nèi)核引導(dǎo)區(qū)用來保存內(nèi)核加載程序,Linux內(nèi)核區(qū)存放的是經(jīng)過壓縮的uClinux內(nèi)核,應(yīng)用區(qū)則用來保存用戶的數(shù)據(jù)和應(yīng)用程序,該區(qū)設(shè)為我們要采用的JFFS2文件系統(tǒng)。具體如下:
static struct mtd_partition s3c4510_partitions[]={
{
name: ″bootloader(128K)″,
size: 0x20000,
offset: 0x0000,
mask_flags:MTD_WRITEABLE //設(shè)置成只讀區(qū)域
},
{
name: ″uClinux_kernel(832K)″,
size: 0xd0000,
offset: 0x20000,
},?
{
name: ″jffs2 (1088K)?″,
size: 0x110000,
offset: 0xf0000
}
};?
(3) 定義SST39VF160字節(jié)、半字、字的讀寫操作函數(shù)。
(4) 初始化SST39VF160函數(shù)int_init init_s3c4510b()。
該操作主要包括兩個(gè)方面:第一是調(diào)用do map probe()檢測(cè) 搜索MTD設(shè)備。通常檢測(cè)方式有兩種:cfi probe和jedec probe,這里采用后一種,該方法在jedec_probe.c文件中定義。另外,jedec probe.c中定義了各種jedec probe類型芯片的信息,有些linux版本沒有包含SST39VF160,需要手動(dòng)添加;而操作的第二方面則是調(diào)用add_mtd_partitions()以將your_partiton的各個(gè)分區(qū)加入mtd_table。3 內(nèi)核相關(guān)配置的設(shè)定
3.1 內(nèi)核配置文件設(shè)置
為使內(nèi)核支持JFFS2,需在內(nèi)核配置選項(xiàng)菜單里選擇相關(guān)選項(xiàng)。首先把SST39VF160的MTD驅(qū)動(dòng)加入配置菜單。并在mtd/maps/Config.in文件中加入如下程序:
if[″$CONFIG ARM″= ″y″]; then
dep_tristate′CFI Flash device mapped on Samsung S3C4510B′CONFIG_MTD_S3C4510B $CONFIG_MTD_CFI
相應(yīng)\mtd\maps\Makefile文件加入
obj_$(CONFIG_MTD_S3C4510B)+=s3c4510b.o
其次選擇Menuconfig下的配置選項(xiàng)。
在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塊設(shè)備配置
下面是修改系統(tǒng)塊設(shè)備的主設(shè)備號(hào)。默認(rèn)情況下,MTDBLOCK主設(shè)備號(hào)為31,與BLKMEM的主設(shè)備號(hào)沖突,因此 修改\mtd\mtd.h中 MTD BLOCK MAJOR的值為30。
接著應(yīng)添加MTD設(shè)備節(jié)點(diǎn)到/vender/--你所使用的目標(biāo)機(jī)類型--/Makefile文件中。其中字符設(shè)備的主設(shè)備號(hào)為90,次設(shè)備號(hào)為0、2、4、6...(奇數(shù)次設(shè)備號(hào)為只讀設(shè)備),塊設(shè)備的主設(shè)備號(hào)為31,次設(shè)備號(hào)為0、1、2、3??砂匆韵路绞皆黾樱模牛郑桑茫牛幽繕?biāo):
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
做完以上步驟,可以運(yùn)行內(nèi)核編譯命令make dep, make 以對(duì)內(nèi)核進(jìn)行編譯。
當(dāng)系統(tǒng)啟動(dòng)時(shí),可以看到以下信息:
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 創(chuàng)建文件系統(tǒng)鏡像文件
系統(tǒng)會(huì)編譯生成JFFS2的輔助工具:mkfs.jffs2、eraseall、erase。其中mkfs.jffs2會(huì)產(chǎn)生JFFS2文件系統(tǒng)鏡像的工具,eraseall和erase用來對(duì)FLASH芯片的擦除。mkfs.jffs的使用方法如下:mkfs.jffs -d根目錄?-b| l??-e 擦除塊大小??-o 輸出文件??-v ?0-9???-q?。
另外,為了使系統(tǒng)在啟動(dòng)時(shí)自動(dòng)掛載建好的JFFS2文件系統(tǒng),在啟動(dòng)腳本里應(yīng)加入:
mount -t jffs2 /dev/mtdblock2 /mnt4 結(jié)束語(yǔ)
本文討論了在uClinux下建立基于Nor Flash的JFFS2的文件系統(tǒng)的一般步驟。Nor Flash的特性決定了它在對(duì)數(shù)據(jù)存儲(chǔ)要求不高的嵌入式系統(tǒng)中有著廣泛的應(yīng)用,因此JFFS2文件系統(tǒng)對(duì)Flash上的數(shù)據(jù)管理非常方便。對(duì)于一些高端的掌上設(shè)備來說,Nand Flash更為適合,其單元存儲(chǔ)密度比較高,成本較低,這樣系統(tǒng)可以在不增加成本的情況下擴(kuò)大存儲(chǔ)容量。目前有一種新型的文件系統(tǒng)YAFFS更適于Nand Flash,本文不再予以討論。
系統(tǒng)構(gòu)建 (6793)
系統(tǒng)構(gòu)建 (6793)
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
相關(guān)推薦
系統(tǒng),所以JFFS2 也可以用在Linux, uCLinux 中。 Jffs2 : 日志閃存文件 系統(tǒng)版本2 (Journalling Flash FileSystem v2) 主要用于NOR 型閃存,基于MTD驅(qū)動(dòng)層,特點(diǎn)是:可讀寫的、
2017-12-19 07:24:00 4612 根文件 系統(tǒng)是構(gòu)建一個(gè) uCLinux 嵌入式系統(tǒng)的重要組成部分。目前嵌入式系統(tǒng)可以選擇的根文件 系統(tǒng)有:Romfs、CramFS、Ramfs、Jffs2 、Ext2等等,本系統(tǒng)采用 CramFS作為
2020-09-24 17:08:12 2725 引言:串行Nor Flash 是一類使用比較多的存儲(chǔ)器件,在特殊應(yīng)用場(chǎng)景中具有不可替代的地位,本節(jié)是數(shù)字存儲(chǔ)器件系列第一節(jié),介紹串行Nor Flash 的結(jié)構(gòu)和參數(shù)特性。
2023-09-05 10:09:34 1669 NAND Flash 和NOR Flash 的差別在哪兒呢?從字面意思上看, NAND = not AND(與非),NOR = not OR(或非),也有可能是NMOS AND/OR。同為非揮發(fā)
2023-09-11 16:59:23 1905 目前,NOR FLASH 和NAND FLASH 是市場(chǎng)上主要的非易失性閃存技術(shù),但是據(jù)我了解,還是有很多工程師分不清NAND FLASH 與NOR FLASH 。
2023-10-01 14:05:00 471 據(jù)集邦咨詢2020第一季NOR Flash 廠商市占數(shù)據(jù),NOR Flash 營(yíng)收市占第一是旺宏,其制程在業(yè)界相對(duì)領(lǐng)先,目前采用55nm制程生產(chǎn),月產(chǎn)能約在20K左右。由于該公司NOR Flash 產(chǎn)品線
2020-11-08 09:26:25 24454 jffs2 文件 系統(tǒng)中,也叫做oob(out of band)數(shù)據(jù)。其具體用途,總結(jié)起來有:1. 標(biāo)記是否是壞快2 . 存儲(chǔ)ECC數(shù)據(jù)3. 存儲(chǔ)一些和文件 系統(tǒng)相關(guān)的數(shù)據(jù),如jffs2 就會(huì)用到這些空間存儲(chǔ)
2018-07-16 15:22:53
自己用busybox-1.10-pre10制做了jffs2 根文件 系統(tǒng),靜態(tài)編譯busybox,下載到fs2410開發(fā)板上,總是提示/bin/sh:can't access tty
2014-04-19 16:20:32
configuration,分區(qū)2 到分區(qū)X放置系統(tǒng)內(nèi)核,分區(qū)X到分區(qū)Y放置根文件 系統(tǒng)。Flash 的分區(qū)可以根據(jù)需要?jiǎng)澐?uClinux 中支持Flash 存儲(chǔ)器的塊設(shè)備驅(qū)動(dòng)負(fù)責(zé)定義上述的分區(qū)。和PC機(jī)下 的Linux
2012-12-25 19:29:41
JFFS 和JFFS2 文件 格式是特別為Flash 存儲(chǔ)器設(shè)計(jì)的,二者都具一種稱為“損耗平衡”的特點(diǎn),也就是說Flash 的所有被擦寫的單元都保持相同的擦寫次數(shù)。利用這些特有保護(hù)措施,Flash 的使用周期得到
2011-04-23 09:22:47
filesystemY分區(qū)0放置Bootloader,分區(qū)1放置factory configuration,分區(qū)2 到分區(qū)X放置系統(tǒng)內(nèi)核,分區(qū)X到分區(qū)Y放置根文件 系統(tǒng)。Flash 的分區(qū)可以根據(jù)需要?jiǎng)澐?uClinux 中支
2011-06-02 09:26:24
driver提供對(duì)Flash 最有力的支持同,同時(shí)它也支持在Flash 上直接運(yùn)行文件 系統(tǒng),譬如JFFS 和JFFS2 ,而B1kmem driver則不支持。
2011-06-02 09:28:04
根據(jù)設(shè)計(jì)需求,系統(tǒng)需要利用GPMC模塊掛載一個(gè)1M*16bit NOR FLASH ,而且要求其能從NOR FLASH 啟動(dòng)。
閱讀相關(guān)文件 得到以下信息和疑問:
1.請(qǐng)問AM3352從NOR FLASH
2018-05-15 01:09:31
和kernel(uImage),和任何文件 系統(tǒng)無(wú)關(guān),一些剛剛接觸嵌入式LINUX的朋友需要了解這一點(diǎn),而nand write.jffs2 專門用來燒寫jffs2 文件 系統(tǒng)的,當(dāng)然,你可以添加nand
2019-08-02 06:20:08
XIP調(diào)試原理》一文 中,痞子衡簡(jiǎn)單提了一下 串行NOR Flash 下載算法的概念,并沒有介紹具體設(shè)計(jì)細(xì)節(jié),關(guān)于NOR Flash 下載算法每個(gè)IDE都有自己的一套設(shè)計(jì),雖然基本設(shè)計(jì)理念是一樣的,...
2022-01-26 07:46:49
,分別對(duì)應(yīng)的文件 系統(tǒng)為 UBIFS、jffs2 、etx4,注意區(qū)分。另外QSPI Nor Flash 的容量相當(dāng)有限,在制作jffs2 文件 系統(tǒng)前必須先裁剪。 除了使用Buildroot編譯各種Linux
2017-08-15 15:12:35
cramfs、jffs 、jffs2 、yaffs、yaffs2 等。cramfs文件 系統(tǒng)是只讀文件 系統(tǒng)。
如果想在Flash 上實(shí)現(xiàn)讀寫操作,通常在NorFlash上我們會(huì)選取jffs 及jffs2 文件 系統(tǒng),在
2023-06-26 08:13:11
本帖最后由 一只耳朵怪 于 2018-5-29 09:40 編輯
自己制作jffs2 文件 系統(tǒng)使用參數(shù)mkfs.jffs2 -lqn -s 1024 -e0x20000 -r rootfs -o
2018-05-28 02:26:33
目前,針對(duì)NOR Flash 設(shè)計(jì)的文件 系統(tǒng)JFFS /JFFS2 在嵌入式系統(tǒng)中已得到廣泛的應(yīng)用;隨著NAND作為大容量存儲(chǔ)介質(zhì)的普及,基于NAND閃存的文件 系統(tǒng)YAFFS(Yet Another Flash File SySTem)正逐漸被應(yīng)用到嵌入式系統(tǒng)中。
2019-10-28 06:39:19
查找、讀寫分析13 基于mtd的jffs2 文件 系統(tǒng)◆ nand上的jffs2 文件 系統(tǒng)格式◆ jffs2 的加載◆ jffs2 的磨損均衡與垃圾回收jffs2 的◆ jffs2 的目錄查找、讀寫分析14
2009-07-24 13:04:45
  ; 《FAT32文件 系統(tǒng)結(jié)構(gòu)的技術(shù)參數(shù)分析》 下載《FAT32文件 系統(tǒng)結(jié)構(gòu)研究》  ;  ;  ;  ;  ;  ;  ;  ;  ;  ; 下載
2009-02-03 08:28:13
環(huán)境:DM365開發(fā)板 dvsdk_dm365_4_02_00_06,linux-2.6.32.17-psp03.01.01.39
在dvsdk4.02下 用jffs2 進(jìn)行文件 系統(tǒng)的掛載。但是時(shí)間
2018-05-25 01:58:56
protel99文件 轉(zhuǎn)換成PADS2007文件 的視頻教程關(guān)于protel99設(shè)計(jì)的PCB文件 轉(zhuǎn)換成PADS2007設(shè)計(jì)的PCB文件 的視頻教程
2009-09-12 11:59:52
查看修改qcow2 文件
2019-11-11 09:24:19
我想用u-boot引導(dǎo)啟動(dòng)Linux 2.6的內(nèi)核。打算用jffs2 作為根文件 系統(tǒng),但在配置u-boot時(shí)聽說需要定義#define CONFIG_JFFS2 _DEV "nor
2019-05-27 00:38:59
系統(tǒng)啟動(dòng),默認(rèn)為yaffs2 文件 系統(tǒng),如果是jffs2 文件 系統(tǒng),添加 rootfstype=jffs2 // yaffs2 setenv bootargs noinitrd root=/dev
2018-05-25 11:47:54
的flash 是qspi flash (nor flash 的一種),所有如果要從qspi flash 啟動(dòng)根文件 系統(tǒng),那我我們就需要制作與nor flash 想對(duì)應(yīng)的文件 系統(tǒng)類型----jfss/jfss2 文件
2015-08-07 17:39:30
放入YAFFS、JFFS2 文件 系統(tǒng)中,有的應(yīng)用不使用根文件 系統(tǒng),直接將應(yīng)用程序和內(nèi)核設(shè)計(jì)在一起,這有點(diǎn)類似于μCOS-II的方式。n燒寫內(nèi)核、根文件 系統(tǒng)、應(yīng)用程序n發(fā)布產(chǎn)品
2018-03-19 21:15:20
在嵌入式領(lǐng)域,FLASH 是一種常用的存儲(chǔ)介質(zhì),由于其特殊的硬件結(jié)構(gòu),所以普通的文件 系統(tǒng)如ext2 ,ext3等都不適合在其上使用,于是就出現(xiàn)了專門針對(duì)FLASH 的文件 系統(tǒng),比較常用的有jffs2
2021-12-22 06:08:05
= 32768, ret = -110在虛擬機(jī)上燒寫fs_qtopia.jffs2 為何出現(xiàn)上面情況?怎么解決?。侩娐愤B接的對(duì),文件 也對(duì),不論nor flash 或nand flash ,燒寫u-boot時(shí)都能燒寫進(jìn)去,直到這一步時(shí)出錯(cuò),為什么?怎么解決?
2019-08-13 04:32:43
最近使用NUC972做了一塊板子,學(xué)習(xí)一下 。在使用BSP驅(qū)動(dòng)SPI NOR flash 的時(shí)候遇到一個(gè)問題,請(qǐng)教大家能否指點(diǎn)一下 。
我的板子改了SPI 為GD25Q256D,為32Mbytes在
2023-09-05 06:28:07
我用的nand flash 是三星的S34ML08G2 。其 Page Size: (2048 + 128) bytes; 128-byte spare area。內(nèi)核已確定支持yaffs2 文件
2017-12-10 23:19:06
報(bào)錯(cuò):[ 5.062943] jffs2 : Data CRC 9d9d77d1 != calculated CRC b7708a99 for node at 00709b4c每次重啟,有時(shí)候正常
2020-05-22 11:27:29
君正x1830開發(fā)板kernel啟動(dòng)之后,跑NOR flash 出現(xiàn)錯(cuò)誤,錯(cuò)誤如下:[ 5.062943] jffs2 : Data CRC 9d9d77d1 != calculated CRC b7708a99 for node at 00709b4c
2020-06-16 11:22:11
我是用百問網(wǎng)提供的u-boot.bin,文件 系統(tǒng),內(nèi)核。先是使用open jtag下載的u-boot.bin到norflash,然后啟動(dòng)u-boot,使用自帶的命令j和k下載jffs2 文件 系統(tǒng)和uImage,之后使用命令b啟動(dòng),之后試了yaffs2 文件 系統(tǒng)。更改bootargs后啟動(dòng)也是一樣停在這里
2019-05-15 06:45:19
Python 操作 HDF5文件
2019-10-11 11:36:28
、PPC-LINUX5、建立根文件 系統(tǒng):用BUSYBOX 軟件6、建立應(yīng)用程序的flash 磁盤分區(qū):用JFFS2 或YAFFS 文件 系統(tǒng)7、開發(fā)應(yīng)用程序8、燒寫內(nèi)核、根文件 系統(tǒng)、應(yīng)用程序9、發(fā)布產(chǎn)品。
2016-03-20 23:47:58
:使用了基于哈希表的日志節(jié)點(diǎn)結(jié)構(gòu),大大加快了對(duì)節(jié)點(diǎn)的操作速度;支持?jǐn)?shù)據(jù)壓縮;提供了“寫平衡”支持;支持多種節(jié)點(diǎn)類型;提高了對(duì)閃存的利用率,降低了內(nèi)存的消耗。這些特點(diǎn)使JFFS2 文件 系統(tǒng)成為目前
2015-09-22 15:58:38
嵌入式linux系統(tǒng)中常用的文件 系統(tǒng):閃存主要有NOR 和NAND兩種技術(shù);因?yàn)?b class="flag-6" style="color: red">Flash存儲(chǔ)器的擦寫次數(shù)是有限的,NAND閃存還有特殊的硬件接口和讀寫時(shí)序,于是就出現(xiàn)了專門針對(duì)FLASH 的文件 系統(tǒng)。比較常用的有jffs2 ,yaffs2 ,logfs,ubifs。傳統(tǒng)的文件 ...
2021-11-04 08:18:21
通常情況下 ,我們用busybox制作一些文件 系統(tǒng),例如randisk、cramfs、jffs2 文件 系統(tǒng),但是現(xiàn)在隨著開發(fā)板的提升,很多使用SD/EMMC這樣的存儲(chǔ)設(shè)備。因此很多采用ext3、ext4這樣的文件 系統(tǒng),我想請(qǐng)教如何制作?用什么工具,謝謝!!
2019-06-28 01:23:07
0x30000000g注意leds.bin的大小(2 ).通過u-boot燒寫到Nor Flash :在u-boot里執(zhí)行:protect off all  ;  ;&
2009-03-27 09:51:32
掉電的危險(xiǎn),并且在下一次系統(tǒng)引導(dǎo)時(shí)不需要文件 系統(tǒng)的檢查。由于JFFS 和JFFS2 文件 格式是特別為Flash 存儲(chǔ)器設(shè)計(jì)的,二者都具一種稱為“損耗平衡”的特點(diǎn),也就是說Flash 的所有被擦寫的單元都保持相同
2011-06-02 09:29:34
我用藍(lán)牙spp接收mp3文件 存到flash 中播放,將接收到的數(shù)據(jù)存到"/spiflash/test.mp3"文件 里,播放音樂我選
2023-03-10 08:07:47
最近項(xiàng)目用到SPI FLASH 需要做一個(gè)文件 系統(tǒng)。
我看menuconfig里有jffs2 ,準(zhǔn)備用一下 ,但是打開發(fā)現(xiàn)用不了。應(yīng)該是還有挺多需要移植調(diào)整的東西。
目前常用的就是fat32嗎?有點(diǎn)擔(dān)心fat32沒有磨損均衡,spiflash的壽命是個(gè)問題。
2023-04-27 11:31:35
制作的2 個(gè)根文件 系統(tǒng)yaffs2 /jffs2yaffs2 不能被引導(dǎo)啟動(dòng)。但是可以通過jffs2 開啟linux之后把yaffs2 掛載上去。。并可以進(jìn)入yaffs2 文件 系統(tǒng)。但是通過它來做為根文件
2013-12-07 17:59:10
我用的是mini2440的板子,按著韋東山的視頻制作的jffs2 鏡像,然后燒進(jìn)板子后,應(yīng)該這時(shí)就和電腦沒什么關(guān)系了,可是我的必須要和電腦連接才可以上電自動(dòng)運(yùn)行。為什么,請(qǐng)打什么賜教
2015-11-17 09:43:46
本帖最后由 一只耳朵怪 于 2018-6-20 14:49 編輯
目前AM1808已經(jīng)從nfs起來了。我現(xiàn)在制作了jffs2 文件 系統(tǒng),可是我不清楚nand的分區(qū)情況,在kernel源碼里面也沒找到關(guān)于AM1808的nand分區(qū)信息...求指導(dǎo)啊...急...
2018-06-20 03:24:39
/mtdblock3 rootfstype=yaffs2 這句話我也是設(shè)置為yaffs2 啊,但是就是不行。但是如果是掛在jffs2 根文件 的話,設(shè)置bootargs=console=ttySAC0,115200 root=/dev/mtdblock3 rootfstype=jffs2 又可以掛載jffs2 文件
2019-09-17 23:24:52
使用tftp燒寫內(nèi)核時(shí),"nand write.jffs2 30000000 kernel"中的".jffs2 "文件 不是文件 系統(tǒng)么?有點(diǎn)暈?煩請(qǐng)解釋一下
2019-10-16 05:17:38
我是新人。。。在學(xué)習(xí)韋東山老師的視頻時(shí),遇到了一個(gè)問題,就是在uboot命令行用命令強(qiáng)制掛載jffs2 系統(tǒng)后,不知道怎么改回掛載yaffs2 系統(tǒng)了,求各位大神幫忙解答
2019-06-21 05:45:07
基于S3C44B0X微處理器的JFFS2 件系統(tǒng)的實(shí)現(xiàn)
2009-03-28 09:50:21 16 uClinu x默認(rèn)的根文件 系統(tǒng)ROMFS是一個(gè)只讀文件 系統(tǒng), 不支持動(dòng)態(tài)擦寫保存。雖然對(duì)于需要系統(tǒng)動(dòng)態(tài)保存的數(shù)據(jù)可以采用虛擬RAM盤的方法,但系統(tǒng)掉電后RAM 盤的內(nèi)容全部丟失,不能永
2009-05-16 13:21:40 9 本文通過在嵌入式操作系統(tǒng)uClinux 上實(shí)現(xiàn)可讀寫JFFS 文件 系統(tǒng)的實(shí)例,介紹了在嵌入式系統(tǒng)中使用Flash 芯片的方法。關(guān)鍵詞: 嵌入式系統(tǒng);uClinux ;Flash ;JFFS 文件 系統(tǒng)Realizing JF
2009-05-31 15:10:28 23 本文通過分析JFFS2 文件 系統(tǒng)與傳統(tǒng)文件 系統(tǒng)的在超級(jí)塊管理上的異同,提出了一 種新的JFFS2 超級(jí)塊的管理方法,解決了原來JFFS2 超級(jí)塊在掛載時(shí)候動(dòng)態(tài)生成比較慢的問題。尤其適
2009-06-16 11:30:04 31 JFFS2 是一種在嵌入式領(lǐng)域中得到廣泛應(yīng)用的文件 系統(tǒng),目前仍存在某些缺陷,這是由于Flash 本身的硬件特性和構(gòu)建該文件 系統(tǒng)的目的所決定的。本文提出一種以空間換時(shí)間的改
2009-08-31 09:33:01 17 根文件 系統(tǒng)是構(gòu)建一個(gè)uCLinux 嵌入式系統(tǒng)的重要組成部分。目前嵌入式系統(tǒng)可以選擇的根文件 系統(tǒng)有:Romfs、CramFS、Ramfs、Jffs2 、Ext2 等等,本系統(tǒng)采用CramFS 作為uCLinux 嵌入式系統(tǒng)的只
2009-09-01 09:46:16 31 并行NOR Flash 每次傳輸多個(gè)bit位的數(shù)據(jù),而串行NOR Flash 每次傳輸一個(gè)bit位的數(shù)據(jù)。并行NOR Flash 比串行NOR Flash 具有更快的傳輸速度。
2010-03-09 16:06:50 49 串行NOR Flash 介紹,串行NOR Flash 分類、串行NOR Flash 選型以及串行NOR Flash 命名規(guī)則
2010-03-10 14:52:18 30 摘要:目前的嵌入式系統(tǒng)多使用FLASH 作為主存,因此,如何有效管理FLASH 上的數(shù)據(jù)非常重要。文章以MX29LV160BT芯片為例,討論了在VxWorks操作系統(tǒng)下Nor  ;Flash 上建立TFFS文件 系統(tǒng)的
2006-03-11 12:20:19 599 nand nor flash 區(qū)別
  ;  ; NOR 和NAND是現(xiàn)在市場(chǎng)上兩種主要的非易失閃存技術(shù)。Intel于1988年首先開發(fā)出NOR
2008-06-30 16:29:23 1163 目前,針對(duì)NOR Flash 設(shè)計(jì)的文件 系統(tǒng)JFFS /JFFS2 在嵌入式系統(tǒng)中已得到廣泛的應(yīng)用;隨著NAND作為大容量存儲(chǔ)介質(zhì)的普及,基于NAND閃存的文件 系統(tǒng)YAFFS(Yet Another Flash File System)正逐漸被
2010-09-01 10:10:03 1079 NOR FLASH 編程指南,可以下來看看。
2016-12-11 21:31:55 31 uClinux 平臺(tái)下的Flash 存儲(chǔ)技術(shù)
2017-01-19 21:22:54 12 VDRF256M16是珠海歐比特公司自主研發(fā)的一種高速、大容量的NOR FLASH ,可利用其對(duì)大容量數(shù)據(jù)進(jìn)行高速緩存。文中介紹了該芯片的結(jié)構(gòu)和原理,并同時(shí)給出了一個(gè)系統(tǒng)中大容量、高速數(shù)據(jù)傳輸要求
2017-10-15 12:20:54 23 JFFS2 是一個(gè)開放源碼的項(xiàng)目(www.infradead.org)。 它是在閃存上使用非常廣泛的讀/寫文件 系統(tǒng),在嵌入式系統(tǒng)中被普遍的應(yīng)用。這篇文章首先分析了在閃存上使用 JFFS2 的必要性
2017-11-02 11:07:43 0 根文件 系統(tǒng)是構(gòu)建一個(gè)uCLinux 嵌入式系統(tǒng)的重要組成部分。目前嵌入式系統(tǒng)可以選擇的根文件 系統(tǒng)有:Romfs、CramFS、Ramfs、Jffs2 、Ext2等等,本系統(tǒng)采用CramFS作為
2017-11-06 11:21:26 0 進(jìn)行數(shù)據(jù)存儲(chǔ)和管理的需要。然而,對(duì)于惡劣環(huán)境下的機(jī)載、車載等特定功能需求,采用NorFlash或者NandF-lash等介質(zhì)存儲(chǔ)數(shù)據(jù),抗震動(dòng)性能更好,可靠性更高。因此,實(shí)現(xiàn)基于Flash 存儲(chǔ)介質(zhì)的文件 系統(tǒng)具有重要意義。 JFFS2 是一種開源的日志文件 系統(tǒng)
2018-01-31 14:12:36 0 由于JFFS2 在掛載過程中需要執(zhí)行掃描, 構(gòu)造文件 系統(tǒng), 因此在同樣大小的mtdblock上, JFFS2 掛載時(shí)間遠(yuǎn)大于EXT4文件 系統(tǒng)。
2018-09-18 15:19:25 17953 Nor Flash 的接口和RAM完全相同,可以隨機(jī)訪問任意地址的數(shù)據(jù),在其上進(jìn)行讀操作的效率非常高,但是擦除和寫操作的效率很低,另外,Nor Flash 的容量一般比較小,通常,Nor Flash 用于存儲(chǔ)程序。
2018-10-07 15:39:00 10675 JFFS 1和JFFS2 的設(shè)計(jì)中都考慮到了FLASH 的特性特別是滿足了上述3個(gè)條件,包括了垃圾回收,壞塊管理等功能. 這兩種文件 系統(tǒng)屬于LFS(Log-structured File System
2019-04-22 17:32:37 3248 ramdisk制作成一個(gè)基本的文件 系統(tǒng),不同項(xiàng)目改動(dòng)的只是jffs2 數(shù)據(jù)分區(qū),可以實(shí)現(xiàn)文件 系統(tǒng)的重復(fù)利用。類似于核心板和底板的關(guān)系。
2019-04-25 17:38:29 1630 嵌入式linux中文站關(guān)注嵌入式linux文件 系統(tǒng)的發(fā)展。在linux-2.6.27以前,談到Flash 文件 系統(tǒng),大家很多時(shí)候多會(huì)想到cramfs、jffs2 、yaffs2等文件 系統(tǒng)。
2019-04-27 19:37:00 6175 YAFFS,Yet Another Flash File System,是一種類似于JFFS /JFFS2 的專門為Flash 設(shè)計(jì)的嵌入式文件 系統(tǒng)。與JFFS 相比,它減少了一些功能,因此速度更快、占用內(nèi)存更少。
2019-04-29 17:09:38 607 JFFS 1和JFFS2 的設(shè)計(jì)中都考慮到了FLASH 的特性特別是滿足了上述3個(gè)條件,包括了垃圾回收,壞塊管理等功能. 這兩種文件 系統(tǒng)屬于LFS(Log-structured File System
2019-04-29 17:12:00 3605 因?yàn)?b class="flag-6" style="color: red">jffs2是構(gòu)建于MTD設(shè)備上的文件 系統(tǒng),所以無(wú)法通過loop設(shè)備來掛載,但是可以通過mtdram設(shè)備來掛載。mtdram是在用RAM實(shí)現(xiàn)的MTD設(shè)備,可以通過mtdblock設(shè)備來訪問。
2019-05-05 11:52:05 2854 JFFS 的缺點(diǎn)就是加載時(shí)間太長(zhǎng),因?yàn)槊看渭虞d都需要將FLASH 上的所有節(jié)點(diǎn)(JFFS 的存儲(chǔ)單位)到內(nèi)存,這樣也占用了可觀的內(nèi)存空間.除此之外,”circle log”設(shè)計(jì)使得在對(duì)文件 數(shù)據(jù)進(jìn)行所有的數(shù)據(jù)都會(huì)被重寫,這樣造成不必要的時(shí)間,同時(shí)也會(huì)減少FLASH 的壽命.
2019-05-05 11:53:39 2551 根文件 系統(tǒng)是構(gòu)建一個(gè) uCLinux 嵌入式系統(tǒng)的重要組成部分。目前嵌入式系統(tǒng)可以選擇的根文件 系統(tǒng)有:Romfs、CramFS、Ramfs、Jffs2 、Ext2 等等,本系統(tǒng)采用 CramFS 作為
2020-10-30 09:57:24 263 1.1接口差別NOR Flash 帶有SRAM接口,有足夠的地址引腳來尋址,可以直接和CPU相連,CPU可以直接通過地址總線對(duì)NOR Flash 進(jìn)行訪問,可以很容...
2020-12-14 22:48:02 1624 Flash 存儲(chǔ)器的擦寫次數(shù)是有限的,NAND閃存還有特殊的硬件接口和讀寫時(shí)序,于是就出現(xiàn)了專門針對(duì)FLASH 的文件 系統(tǒng)。比較常用的有jffs2 ,yaffs2,logfs,ubifs。傳統(tǒng)的文件 ...
2021-11-01 16:56:48 12 1、NOR flashNOR flash 數(shù)據(jù)線和地址線分開,可以實(shí)現(xiàn)ram一樣的隨機(jī)尋址功能,可以讀取任何一個(gè)字節(jié)。但是擦除仍要按塊來擦。2、NAND flashNAND flash 數(shù)據(jù)線和地址
2021-12-02 12:21:06 30 使用FlashMemory作為存儲(chǔ)介質(zhì)。 根據(jù)硬件上存儲(chǔ)原理的不同,Flash Memory主要可以分為NOR Flash 和NAND FLASH 兩類。主要的差異如下所示: NAND FLASH 讀取速度
2022-01-25 17:25:12 59808 1.1接口差別NOR Flash 帶有SRAM接口,有足夠的地址引腳來尋址,可以直接和CPU相連,CPU可以直接通過地址總線對(duì)NOR Flash 進(jìn)行訪問,可以很容...
2022-01-26 17:12:52 13 AN017 基于Jlink燒錄文件 到SPI Nor Flash 的方法
2023-02-27 18:21:34 0 為什么Nor Flash 可以實(shí)現(xiàn)XIP,而Nand flash 就不行呢? Flash 存儲(chǔ)器是一種常用的非易失性存儲(chǔ)器,廣泛應(yīng)用于各種電子設(shè)備中。它們的價(jià)值在于它們可以快速讀取和寫入數(shù)據(jù),同時(shí)因?yàn)闆]有
2023-10-29 16:32:58 646 NAND Flash 和NOR Flash 是兩種常見的閃存類型。
2023-11-30 13:53:20 735 由于存儲(chǔ)介質(zhì)不同,Nand Flash 上通常采用如 jffs2 、UBI 等格式文件 系統(tǒng)。Toradex 的 Linux 系統(tǒng)使用 UBI 文件 系統(tǒng)。
2023-12-07 09:31:16 503
已全部加載完成
評(píng)論
查看更多