fastboot# mmc mmc - MMC sub system Usage: mmc read <device num> addr blk# cnt mmc write <device num> addr blk# cnt mmc write.ext4sp <device num> addr blk# cnt mmc bootread <device num> addr blk# cnt mmc bootwrite <device num> addr blk# cnt mmc rescan <device num> mmc list - lists available devices mmc bootmoderead <device num> addr size mmc reg <device num> fastboot# mmcinfo Device: XXXXXXX Manufacturer ID: 11 OEM: 100 Name: 004G9 Tran Speed: 25000000 Rd Block Len: 512 MMC version 4.0 High Capacity: Yes Capacity: 3959422976 Bus Width: 8-bit
通过mmcinfo可以看到mmc的block size(Rd Block Len: 512 bytes)
mmc具体参数的获取与计算:
- <device num> 通过mmc list进行查看
- addr :内存的绝对线性地址以byte为单位
- blk# : device-num设备的第blk#块,由于长度按线性计算,可以根据长度进行计算。pre-size-in-bytes / 512
- cnt: 进行数据传输的块量
mmc read <device num> addr blk# cnt | | | | | `-------+----------|---|----|-- disk2mem 从device-num中读取 blk# * 512 <-----> (blk# + cnt)*512 的数据到内存(地址以addr开头)中 | | | | `----------|---|----|-- mmc list | | | `---|----|-- memory start address | | `----|-- disk start block | `-- length-block: cnt mmc write <device num> addr blk# cnt | | | | | `-------+----------|---|----|-- mem2disk 从内存(地址以addr开头)中读取cnt*512 byts 写入device-num中(from: blk# * 512) | | | | `----------|---|----|-- mmc list | | | `---|----|-- memory start address | | `----|-- disk start block | `-- length-block: cnt mmc write.ext4sp <device num> addr blk# cnt | | | | | `-------+----------|---|----|-- mem2disk 从内存(地址以addr开头)中读取cnt*512 byts 写入device-num中(from: blk# * 512) | | | | `----------|---|----|-- mmc list | | | `---|----|-- memory start address | | `----|-- disk start block | `-- length-partition-block: cnt
http://gist.github.com/qianjigui/7150077
以上这些命令都是用于nand烧写存储器的。
与此相关的还有sf,nand。这些命令在使用上与mmc相似,主要的不同是不需要按block进行单位換算。
最近见到的一些设备,需要先前存储区全0xff置位,再进行烧写。