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置位,再進行燒寫。