jffs2及mtd心得

jffs2 的使用, 一般是这样的, 首先用mkfs.jffs2 来制作一个磁盘镜像, 然后目标机器把img dd到mtd分区上就行了.

mkfs.jffs2的时候, 需要注意的最重要的参数就是擦除页的大小. 这是更芯片相关的,比如0x20000,flash是页擦除的, 一次擦除一个页面

其次一个参数是块大小, 就是文件系统一次分配的最小颗粒, 比如1024

存储大小, 比如0x300000 3M大小

这样生成的命令行就是:

mkfs.jffs2 -r root_dir -e 0x20000  --pad=0x300000 --pagesize=1024  -o  jffs2.img

把jffs2.img 传到目标机器, 然后 dd if=jffs2.img of=/dev/mtdblock3

 

mtd的情况 :

在目标机器的bootloader看来,  flash rom 就是连续的空间, 它并不能识别mtd区块, 也没有必要识别mtd区块,

只是要注意,在烧写rom是, 不要越界, 覆盖了其他的东西. 这些区块无非就是 文件系统, kernel, bootloader,

在烧写时只要不越界, 就不会有问题. 一般最好把不需要更改的部分readonly,

真正的区块的划分是在内核源码里面进行的.mtd区块的划分根据需要去修改内核源码.