fastboot mmc及sf,nand使用

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置位,再进行烧写。

猜你喜欢

转载自qianjigui.iteye.com/blog/1964455
今日推荐