关于第三个问题:
照我的分区mtd0应该是 128kb的,怎么erase的时候会是 65536???
/> erase /dev/mtd0
MTD_open
Erase Total 1 UnMTD_ioctl
its
MTD_ioctl
Erase Unit Size MTD_ioctl
Performing Flash Erase of length 65536 at offset 0x0waiting for erase to comple.MTD Erase fail<6>MTD_close
ure: Input/output error
/>
在网上搜了一下。
mtd0/mtdblock0 refers to whole flash
mtd1/mtdblock1 refers to first partition,
mtd2/mtdblock2 refers to second partition
后来我试了一下擦 mtdblock1 就是128KB没问题了。
不过现在
/> cd tmp
/var/tmp> ls
/var/tmp> mkdir jffs2
/var/tmp> cd jffs2
/var/tmp/jffs2> mkdir haha
/var/tmp/jffs2> ls
haha
/var/tmp/jffs2> cd ..
/var/tmp> ls
jffs2
/var/tmp> mkfs.jffs2 -d /var/tmp/jffs2 -o /var/tmp/jffs2.img --pad=0x20000 -n
/var/tmp> ls
jffs2
/var/tmp>
我在建立这个印象文件时怎么都不成功。。。也不报错。就是得不到这个印象文件。
网上有一种说法说是,不需要印象文件也行,只要直接挂载就可以。我试了一下:
/mnt> mount -t jffs2 /dev/mtdblock1 /mnt/
mtdblock_open
ok
jffs2_scan_empty(): Empty block at 0x0000017c ends at 0x00010000 (with 0x2003198
5)! Marking dirty
CLEANMARKER node found at 0x00010000, not first node in block (0x00000000)
/mnt> ls
/mnt> ls
/mnt> ls
/mnt> Last[3] is ffff, datum is 1985
Write clean marker to block at 0x000a0000 failed: -5
Last[3] is ffff, datum is 1985
Write clean marker to block at 0x00080000 failed: -5