Common MTD Commands use wisely
- cat /proc/mtd
dev: size erasesize namemtd0: 000c0000 00001000 "U-Boot"mtd1: 00002000 00001000 "U-Boot Env"mtd2: 00001000 00001000 "JFFS2"mtd3: 0013d000 00001000 "my-data"mtd4: 0013e000 00001000 "U-image/Kernel"mtd5: 0013f000 00001000 "rootfs"mtd6: 00140000 00001000 "mylog"mtd7: 00141000 00001000 "mydata"- mtdinfo -a
- ls -l /dev/mtd*
- flash_unlock could be used to unlock the appropriate sectors.
- flash_eraseall /dev/mtdchar0
- cat /dev/mtdchar0 < new.bin ( Erase and load new file)
- cat /dev/mtdchar0 > /tmp/flash.bin ( Entire flash to file)
- flashcp to write to NOR flash
- flash_eraseall -j /dev/mtd2mount -t jffs2 /dev/mtdblock2 /mnt/flash
- flash_eraseall /dev/mtd0 ( erases everything, use rarely)
IOCTL Commands
- MEMGETINFO Get layout and capabilities struct mtd_info_user *
- MEMGETREGIONINFO struct region_info_user *
- MEMWRITEOOB NAND only: write out-of-band info (ECC) struct mtd_oob_buf *
- MEMERASE Erase flash blocks struct erase_info_user *
- MEMLOCK Lock flash blocks to disallow changes struct erase_info_user *
- MEMUNLOCK Unlock flash to allow changes struct erase_info_user *
- MEMGETREGIONCOUNT Return number of erase block regions int *
- MEMREADOOB NAND only: read out-of-band info (ECC) struct mtd_oob_buf *
- MEMSETOOBSEL NAND only: set default OOB info struct nand_oobinfo*
- The exact flash layout may be determined using the MEMGETREGIONCOUNT and MEMGETREGIONINFO commands.
- MEMERASE command may be issued to erase the desired blocks.