嵌入式linux下的文件系統(tǒng)_第1頁(yè)
嵌入式linux下的文件系統(tǒng)_第2頁(yè)
嵌入式linux下的文件系統(tǒng)_第3頁(yè)
嵌入式linux下的文件系統(tǒng)_第4頁(yè)
嵌入式linux下的文件系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、嵌入式 linux 下常見(jiàn)的文件系統(tǒng)RomFS :只讀文件系統(tǒng),可以放在 ROM 空間,也 可以在系統(tǒng)的 RAM 中,嵌入式 linux 中常用來(lái)作 根文件系統(tǒng)? RamFS :利用 VFS 自身結(jié)構(gòu)而形成的內(nèi)存文件系 統(tǒng),使用系統(tǒng)的 RAM 空間? JFFS/JFFS2 :為 Flash 設(shè)計(jì)的日志文件系統(tǒng)? Yaffs :專門為 Nand Flash 設(shè)計(jì)? proc :為內(nèi)核和內(nèi)核模塊將信息發(fā)送給進(jìn)程提 供一種機(jī)制,可以查看系統(tǒng)模塊裝載的信息? devFS :設(shè)備文件系統(tǒng)Linux 上的 Ext2fs ? 支持 4 TB 存儲(chǔ)、文件名稱最長(zhǎng) 1012 字符? 可選擇邏輯塊? 快速符號(hào)鏈接

2、? Ext2 不適合 flash 設(shè)備? 是為象 IDE 設(shè)備那樣的塊設(shè)備設(shè)計(jì)的,邏輯塊大小必 須是 512 byte 、1 KB 、2KB 等? 沒(méi)有提供對(duì)基于扇區(qū)的擦除寫操作的良好管理? 如果在一個(gè)扇區(qū)中擦除單個(gè)字節(jié),必須將整個(gè)扇區(qū)復(fù)制到RAM ,然后擦除,再重寫入? 在出現(xiàn)電源故障時(shí), Ext2fs 是不能防止崩潰的? 文件系統(tǒng)不支持損耗平衡,縮短了 flash 的壽命jffs/jffs2 文件系統(tǒng)的優(yōu)缺點(diǎn)? 日志文件系統(tǒng)? 提供了更好的崩潰、掉電安全保護(hù)? jffs2 支持對(duì) flash 的均勻磨損? 在扇區(qū)級(jí)別上執(zhí)行閃存擦除寫讀操作要 比 Ext2 文件系統(tǒng)好? 文件系統(tǒng)接近滿時(shí),

3、JFFS2 會(huì)大大放慢運(yùn)行垃圾收集Nand 上 yaffs 文件系統(tǒng)的優(yōu)勢(shì)? 專門為 Nand flash 設(shè)計(jì)的日志文件系統(tǒng)? jffs jffs2 不適合大容量的 Nand flash ? jffs 的日志通過(guò) jffs_node 建立在 RAM 中,占用RAM 空間:對(duì)于 128MB 的 Nand 大概需要 4MB 的空間 來(lái)維護(hù)節(jié)點(diǎn)? 啟動(dòng)的時(shí)候需要掃描日志節(jié)點(diǎn),不適合大容量 的 Nand flash ? FAT 系統(tǒng)沒(méi)有日志 編譯 yaffs 文件系統(tǒng)? mtd 的最新補(bǔ)丁升級(jí)?? 接口更新,適合與 yaffs? 與原有的 mtd 驅(qū)動(dòng)程序不兼容,需要重寫? 如果使用舊 mtd 驅(qū)動(dòng)

4、需要定義 Makefile 中MTD_OLD = -DCONFIG_YAFFS_USE_OLD_MTD ? 參考文檔: yaffs-rootfs-howto ? 最新版的 yaffs 網(wǎng)站:http:/www.aleph1.co.uk/armlinux/projects/yaffs使用 yaffs 文件系統(tǒng)? 通過(guò) cat /proc/yaffs 命令可以看到 yaffs 系 統(tǒng)的相關(guān)信息? mount -t yaffs /dev/mtdblock/0 /mnt/ya ffs關(guān)于 Linux 文件系統(tǒng)JFFS全稱為:The Journalling Flash File System日志閃存文件

5、系統(tǒng)) 最初由瑞典的 AxisCommunications 開(kāi)發(fā), Red Hat 的 David Woodhouse 對(duì)它進(jìn)行了改進(jìn)。作為用于微型嵌入式設(shè)備的原始閃存芯片的實(shí)際文件系統(tǒng)而出現(xiàn)。JFFS 文件系統(tǒng)是日志結(jié)構(gòu)化的,這 可能是文件的名稱、意味著它基本上是一長(zhǎng)列節(jié)點(diǎn)。每個(gè)節(jié)點(diǎn)包含有關(guān)文件的部分信息 也許是一些數(shù)據(jù)。相對(duì)于 Ext2 fs,JFFS 因?yàn)橛幸韵逻@些優(yōu)點(diǎn)而在無(wú)盤嵌入式設(shè)備中越來(lái) 越受歡迎:1 JFFS 在扇區(qū)級(jí)別上執(zhí)行閃存擦除寫讀操作要比Ext2 文件系統(tǒng)好。2 JFFS 提供了比 Ext2 更好的崩潰掉電安全保護(hù)。 當(dāng)需要更改少量數(shù)據(jù)時(shí), Ext2 文 件系統(tǒng)將整個(gè)扇區(qū)

6、復(fù)制到內(nèi)存( DRAM )中,在內(nèi)存中合并新數(shù)據(jù),并寫回整個(gè)扇區(qū)。這 意味著為了更改單個(gè)字,必須對(duì)整個(gè)扇區(qū)( 64 KB )執(zhí)行讀擦除寫例程 這樣做的效率非常低。要是運(yùn)氣差,當(dāng)正在 DRAM 中合并數(shù)據(jù)時(shí),發(fā)生了電源故障或其它事故,那么將丟失整個(gè)數(shù)據(jù)集合,因?yàn)樵趯?shù)據(jù)讀入DRAM 后就擦除了閃存扇區(qū)。 JFFS 附加文件而不是重寫整個(gè)扇區(qū),并且具有崩潰掉電安全保護(hù)這一功能。3 這可能是最重要的一點(diǎn): JFFS 是專門為象閃存芯片那樣的嵌入式設(shè)備創(chuàng)建的,所 以它的整個(gè)設(shè)計(jì)提供了更好的閃存管理。要構(gòu)建 JFFS 文件系統(tǒng), 首先要有硬件設(shè)備 FLASH 及支持 JFFS 文件系統(tǒng)的操作系統(tǒng)。摘要:

7、本文主要分析了 uclinux 2.4 內(nèi)核的 jffs 文件系統(tǒng)機(jī)制。希望能對(duì)基于 uclinux 開(kāi)發(fā) 產(chǎn)品的廣大工程師有所幫助。關(guān)鍵詞: uclinux vfs jffs任何人可以免費(fèi)獲得、 使用和重發(fā)布本文的目的是希望它能對(duì)讀申明: 這份文檔是按照自由軟件開(kāi)放源代碼的精神發(fā)布的, 新發(fā)布, 但是你沒(méi)有限制別人重新發(fā)布你發(fā)布內(nèi)容的權(quán)利。者有用,但沒(méi)有任何擔(dān)保, 甚至沒(méi)有適合特定目的的隱含的擔(dān)保。 更詳細(xì)的情況請(qǐng)參閱 GNU通用公共許可證 (GPL) ,以及 GNU 自由文檔協(xié)議 (GFDL) 。你應(yīng)該已經(jīng)和文檔一起收到一份GNU通用公共許可證(GPL)的副本。如果還沒(méi)有,寫信給:The

8、Free Software Foundation, Inc., 675 Mass Ave, Cambridge,MA02139, USA歡迎各位指出文檔中的錯(cuò)誤與疑問(wèn)一、 flash 讀寫的特殊性對(duì)于嵌入式系統(tǒng), flash 是很常見(jiàn)的一種設(shè)備,而大部分的嵌入式系統(tǒng)都是把文件系統(tǒng)建立在 flash 之上,由于對(duì) flash 操作的特殊性,使得在 flash 上的文件系統(tǒng)和普通磁盤上的文件系統(tǒng)有很大的差別,對(duì) flash 操作的特殊性包括:1 ) 不能對(duì)單個(gè)字節(jié)進(jìn)行擦除,最小的擦寫單位是一個(gè)block ,有時(shí)候也稱為一個(gè)扇區(qū)。典型的一個(gè) block 的大小是 64k 。不同的 flash 會(huì)有不

9、同,具體參考 flash 芯片的規(guī)范。2 ) 寫操作只能對(duì)一個(gè)原來(lái)是空(也就是該地址的內(nèi)容是全f)的位置操作,如果該位置非空,寫操作不起作用,也就是說(shuō)如果要改寫一個(gè)原來(lái)已經(jīng)有內(nèi)容的空間,只能是讀出該sector 到 ram ,在 ram 中改寫,然后寫整個(gè) sector 。由于這些特殊寫,所以在 flash 這樣的設(shè)備上建立文件也有自己獨(dú)特的特點(diǎn),下面我們就以jffs 為例進(jìn)行分析。二、 jffs 體系結(jié)構(gòu)介紹1、存儲(chǔ)結(jié)構(gòu)在 jffs 中,所有的文件和目錄是一樣對(duì)待的,都是用一個(gè) jffs_raw_inode 來(lái)表示整個(gè) flash 上就是由一個(gè)一個(gè)的 raw inode 排列組成, 一個(gè)目錄

10、只有一個(gè) raw inode ,對(duì)于文件則是由一個(gè)或多個(gè) raw inode 組成。2、文件組成在文件系統(tǒng) mount 到 flash 設(shè)備上的時(shí)候,會(huì)掃描 flash ,從而根據(jù) flash 上的所有屬于 個(gè)文件的 raw inode 建立一個(gè) jffs_file 結(jié)構(gòu)以及 node list 。面的圖顯示了一個(gè)文件的組成一個(gè)文件是由若干個(gè) jffs_node 組成,每一個(gè) jffs_node 是根據(jù) flash 上得 jffs_raw_inode而建立的, jffs_file 主要維護(hù)兩個(gè)鏈表node 。版本鏈表:主要是描述該 node 創(chuàng)建的早晚,就是說(shuō) version_head 指向的

11、是一個(gè)最老的node ,也就意味著垃圾回收的時(shí)候最該回收的就是這個(gè)最老的區(qū)域鏈表:這個(gè)鏈表主要是為讀寫文件創(chuàng)建的,version_head 指向的 node 代表的文件數(shù)據(jù)區(qū)域是 0n-1 之后依次的節(jié)點(diǎn)分別是nm-1 mo-1.其中 nM3、操作對(duì)文件的讀操作應(yīng)該是比較簡(jiǎn)單,但是寫操作,包括更改文件名等操作都是引起一個(gè)新的jffs_node 的誕生,同時(shí)要寫一個(gè)相映的 raw inode 到 flash 上,這樣的操作有可能導(dǎo)致前 面的某個(gè) jffs_node 上面的數(shù)據(jù)完全失效, 從而導(dǎo)致對(duì)應(yīng) flash 上的 raw inode 的空間成為dirty 。面舉一個(gè)例子可能會(huì)更清楚一些。一個(gè)

12、文件的 range list 是由上面的三個(gè) jffs_node 組成,當(dāng)我們做如下寫操作的時(shí)候lseek( fd, 10, SEEK_SET );write( fd, buf,40 );第一個(gè)和最后一個(gè) node 被截短了, 第二個(gè) node 完全被新數(shù)據(jù)替換, 該 node 會(huì)從鏈表上 摘下來(lái), flash 上空間變成 dirty 。如果做如下寫操作的時(shí)候lseek( fd, 23, SEEK_SET );write( fd, buf,5 );此時(shí),第二個(gè) node 被分裂成兩個(gè) node ,同時(shí)產(chǎn)生一個(gè)新的 node , range 鏈表的元素變 成五個(gè)?;?Linux2.6 的 YA

13、FFS 文件系統(tǒng)移植v1.0,2005-6-6、 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í)鏈表管理需要回收的臟塊,并且使用

14、系統(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操作的接口,提

15、供了一系列的標(biāo)準(zhǔn)函數(shù),將硬件驅(qū)動(dòng)設(shè)計(jì)和系統(tǒng)程序設(shè)計(jì)分開(kāi)。二、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è)試 flashyaffs_fs.c 文件系統(tǒng)接口函數(shù)yaffs_g

16、uts.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 目錄下生成 yaff

17、s 目錄,并在里面生成一個(gè) makefile 和 KconfigMakefile 內(nèi)容為:yaffs-objs := yaffs_fs.o yaffs_guts.o yaffs_mtdif.o yaffs_ecc.oEXTRA_CFLAGS += $(YAFFS_CONFIGS) -DCONFIG_KERNEL_2_6Kconfig 內(nèi)容為:# YAFFS file system configurations config YAFFS_FS tristate Yet Another Flash Filing System(YAFFS) file system support helpYAFFS

18、, 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.Further information on YAFFS is available at Memory Technology Device (MTD) supportMTD partit

19、ioning support- User Modules And Translation Layers Direct char device access to MTD devices Caching block device access to MTD devicesNAND Flash Device Drivers - NAND Device Support NAND Flash support for S3C2410 SoCS3C2410 NAND driver debug 7 配置內(nèi)核時(shí)選中 YAFFS 支持:File systems -Miscellaneous filesystem

20、s - Yet Another Flash Filing System(YAFFS) file system supportNAND mtd supportUse ECC functions of the generic MTD-NAND driverUse Linux file caching layerTurn off debug chunk erase checkCache short names in RAM8.編譯內(nèi)核并將內(nèi)核下載到開(kāi)發(fā)板的flash 中。三、 Yaffs 文件系統(tǒng)測(cè)試:1. 內(nèi)核啟動(dòng)之后,在啟動(dòng)信息里面可以看到如下內(nèi)容:NAND device: Manufactur

21、er ID: 0xec, Chip ID: 0x76 (Samsung NAND 64MiB 3,3V 8-bit)Scanning device for bad blocksCreating 5 MTD partitions on NAND 64MiB 3,3V 8-bit: 0x00000000-0x00020000 : vivi 0x00020000-0x00030000 : param 0x00030000-0x00130000 : kernel 0x00130000-0x01a30000 : root 0x01a30000-0x04100000 : user2. 如果在內(nèi)核里面添加了

22、 proc 文件系統(tǒng)的支持那么你在 proc 里面可以看到有關(guān) yaffs 的信 # cat proc/filesystems nodev sysfs nodev rootfs nodev bdevnodev proc nodev sockfs nodev pipefs nodev futexfs nodev tmpfs nodev eventpollfs nodev devpts nodev ramfs vfat nodev devfs nodev nfs yaffs nodev rpc_pipefs3. 查看 dev 目錄下相關(guān)目錄可以看到: # ls dev/mtd -al drwxr-

23、xr-x 1 root root 0 Jan 1 00:00 .drwxr-xr-x 1 root root 0 Jan 1 00:00 .crw-rw-rw- 1 root root 90, 0 Jan 1 00:00 0 cr-r-r- 1 root root 90, 1 Jan 1 00:00 0ro crw-rw-rw- 1 root root 90, 2 Jan 1 00:00 1 cr-r-r- 1 root root 90, 3 Jan 1 00:00 1ro crw-rw-rw- 1 root root 90, 4 Jan 1 00:00 2cr-r-r- 1 root roo

24、t 90, 5 Jan 1 00:00 2ro crw-rw-rw- 1 root root 90, 6 Jan 1 00:00 3 cr-r-r- 1 root root 90, 7 Jan 1 00:00 3ro crw-rw-rw- 1 root root 90, 8 Jan 1 00:00 4 cr-r-r- 1 root root 90, 9 Jan 1 00:00 4ro # ls dev/mtdblock/ -al drwxr-xr-x 1 root root 0 Jan 1 00:00 .drwxr-xr-x 1 root root 0 Jan 1 00:00 .brwroot

25、 root 31, 0 Jan 100:00 0brwroot root 31, 1 Jan 100:00 1brwroot root 31, 2 Jan 100:00 2brwroot root 31, 3 Jan 100:00 3brwroot root 31, 4 Jan 100:00 44. mount 、 umount建立 mount 目錄 #mkdir /mnt/flash0 #mkdir /mnt/flash1Mountblockdevice 設(shè)備-#mou nt- yaffs /dev/mtdblock/3 /mn t/flashO-#mou nt- yaffs /dev/mt

26、dblock/4 /mn t/flash1 #cp 1.txt /mnt/flash0 #cp 2.txt /mnt/flash1查看 mount 上的目錄,可以看到該目錄下有剛才拷貝的文件, 將其 umount后,再次 mount上來(lái)可以發(fā)現(xiàn)拷貝的文件仍然存在,這時(shí)刪除該文件然后umount ,再次mount 后,可以發(fā)現(xiàn)拷貝的文件已經(jīng)被刪除,由此可以該分區(qū)可以正常讀寫。5. 在 flash 上建立根文件系統(tǒng)-# mou nt-yaffs /dev/mtdblock/3 /mn t/flashO #cp (your rootfs) /mnt/flash0 #umount /mnt/flash

27、0重新啟動(dòng),改變啟動(dòng)參數(shù):param set linux_cmd_linenoinitrdroot=/dev/mtdblock3init=/linuxrcconsole=ttySAC0重新啟動(dòng),開(kāi)發(fā)板就可以從flash 啟動(dòng)根文件系統(tǒng)了。注:這里你得在內(nèi)核中添加devfs 文件系統(tǒng)的支持,否則內(nèi)核無(wú)法找到/dev/mtdblock/3目錄目前 flash 的文件系統(tǒng)比較多,用的比較多的就是JFFS2 文件系統(tǒng)?;?NOR flash 上的JFFS2 文件系統(tǒng)可以說(shuō)算是比較成熟了,支持NAND flash 的 JFFS2 也已經(jīng)發(fā)布了。源代碼可以到 http:/www.linux-mtd.in

28、上面下載。但是在我的測(cè)試過(guò)程中,在nand flash 上掛接的JFFS2文件系統(tǒng)很不穩(wěn)定,經(jīng)常有 CRC 錯(cuò)誤產(chǎn)生。特別是進(jìn)行寫操作的時(shí)候,每次復(fù)位都會(huì)產(chǎn)生 CRC 錯(cuò)誤,可以說(shuō)支持 NAND flash 的 JFFS2 文件系統(tǒng)目前還不成熟。而 YAFFS 文件系統(tǒng)則是專門針對(duì) NAND flash 的,源代碼可以到http:/www.aleph1.co.uk/yaffs/index.html上下載。在測(cè)試過(guò)程中穩(wěn)定性能比 JFFS2 文件系統(tǒng)要穩(wěn)定的多, 而且 mount 分區(qū)的時(shí)間也比 JFFS2 文件系統(tǒng)少的多。 用 JFFS2 mount一個(gè)2m的文件系統(tǒng)大約

29、需要 1s。下面分別介紹在 uciinux下面使用JFFS2和YAFFS文件系統(tǒng)。1 、 JFFS2到 上面下載最新的 MTD 和 JFFS2 壓縮包。壓縮包里面還有有關(guān)的內(nèi)核補(bǔ)丁和一些 MTD 的相關(guān)工具。 主要的補(bǔ)丁就是 iiookup-2.4.23.patch因?yàn)樽钚碌?MTD 驅(qū)動(dòng)中要用到一個(gè) ilookup ()函數(shù)。打完補(bǔ)丁、 更新了 MTD 驅(qū)動(dòng)和 JFFS2文件系統(tǒng)之后就開(kāi)始寫自己 nand fiash 驅(qū)動(dòng)了。如果不想把 JFFS2 作為根文件系統(tǒng)的話,spia.c 。還需要修改 MTD_BLOCK_MAJOR

30、 。驅(qū)動(dòng)可以參考里面的例子,最簡(jiǎn)單的就是參考 寫驅(qū)動(dòng)主要工作是定義 flash 分區(qū)結(jié)構(gòu)、定義 flash 讀寫地址、寫控制 flash 的 *_hwcontrol()函數(shù)。具體的操作要看所用的 nand fiash 的芯片資料。相對(duì) NOR fiash 來(lái)說(shuō)驅(qū)動(dòng)要簡(jiǎn)單多 了。 :)改完之后再配置Memory Technology Devices(MTD)CONFIG_MTD=YCONFIG_MTD_DEBUG=YCONFIG_MTD_DEBUG_VERBOSE=3CONFIG_MTD_PARTITIONS=YCONFIG_MTD_CHAR=YCONFIG_MTD_BLOCK=YNAND Fl

31、ash Device Drivers 下CONFIG_MTD_NAND=Y定義自己的驅(qū)動(dòng)文件File systems 下CONFIG_JFFS2_FS=YCONFIG_JFFS2_FS_DEBUG=2CONFIG_JFFS2_FS_NAND=y /* 這個(gè)是新加的 */在 uClinux v1.3.4 ConfigurationFlash Tools 下CONFIG_USER_MTDUTILS=YCONFIG_USER_MTDUTILS_ERASE=YCONFIG_USER_MTDUTILS_ERASEALL=YCONFIG_USER_MTDUTILS_MKFSJFFS2=YJFFS2 文件系統(tǒng)例如把第一個(gè)分最后就是辛苦了調(diào)試工作了。 :(MTD 驅(qū)動(dòng)調(diào)試完之后,就可以在上面掛接 了。參看 flash 分區(qū)情況: cat /proc/mtd ,擦

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論