搜索
 找回密码
 立即注册

简单一步 , 微信登陆

android Mboot mmc命令介绍

作者:lijingang | 时间:2016-6-14 11:32:57 | 阅读:14725| 显示全部楼层
android Mboot mmc命令介绍

mmc command.
         
目前Mboot支持以下mmc命令:

1) mmc read/write.
   
读写命令。Addr = 内存地址, blk# = 起始block数, size = 需要读写的大小。
    比如:#mmc read 0x50000000 0x400b 0x400000, 表示从第0x400b(0x400b*0x200 = 0x801600)处开始读0x400000 bytes大小数据到内存0x50000000 返回打印OK说明读成功。
          #mmc write 0x50000000 0x400b 0x400000, 表示将内存起始处0x50000000开始算的数据共0x400000 bytes写到第0x400b块起始处。返回打印OK说明写成功。
Mmc write最新的code在末尾加了一个参数1,格式如下:
#mmc write 0x50000000 0x400b 0x400000 1
表示本次写操作跳过空白无效数据段不写,默认不加的话则不区分将所有数据写进emmc.
2) mmc read.p/write.p/write.p.continue.
也是读写命令,与mmc read/write 不同的是第二个参数不是blk#, 而是分区名partition_name,这样省去升级时再手动计算各分区便宜。比如:

#mmc read.p/write.p 0x50000000 boot 0x400000
mmc write.p.continue
命令是将数据写到指定分区偏移处。比如:
#mmc write.p.continue 0x50000000 userdata 0x6400000 0xa00000,0x50000000保存的c长度为0xa00000的数据写到userdata分区0x6400000偏移处。
同样返回OK说明读/写成功。同样 write.p/write.p.continue在末尾加上了参数1,与mmc write命令同样效果。
3) mmc rescan
初始化命令,因为在每个命令前都做过,所以用处不多。
4) mmc part
打印当前分区信息。
5) mmc dev
显示当前分区以及分区间切换,这里的分区是mmc硬件分区,并不是mmc part列出来的软件分区。用法:#mmc dev 0 1, 如果当前在硬件分区0, 该命令可以切换至硬件分区1
6) mmc list
列出当前所用mmc设备命令。
7) mmc create
创建mmc分区,用法:
#mmc create boot 0x400000, 即创建分区名为boot, 大小0x400000 bytes的分区。需要注意的是分区需要依顺序创建,也就是说如果当前已经有2个分区,再敲这个命令的话boot会算为第3个分区。
8) mmc remove
移除mmc分区,用法:
#mmc remove boot,即移除boot分区。
该命令尽量少用,如果想update分区表的话请配合mmc rmgptmmc create使用。
9) mmc rmgpt
移除当前所有分区。
10) mmc slc size reliable_write
设置slc分区大小,size代表要设置的slc分区字节数。
size0代表不设置slc mode;软件会将size修改为对齐并向上取整,确保实际设置的size不小于用户输入的size
reliable_write0代表不使能reliable write功能,反之则打开reliable write
如果想将全部可转化空间都转换为slc mode,可以使用mmc slc 0xffffffff
开发调试用。
11) mmc ecsd
打印ecsd寄存器信息,开发调试用。
12) bin2emmc
Fat32 U盘中的mmc bin文件烧进mmc中。CL540869支持。
13) mmc setecsd num mask value
修改ecsd寄存器,可以单个bit修改。比如:
mmc setecsd B3 0x40 0x40
表示对ecsdB3寄存器的bit61,而:
mmc setecsd B3 0x40 0x0
则表示对ecsdB3寄存器的bit60
开发调试用,一般情况下禁用。

14) mmc size
显示当前emmc的可用容量,块大小及块总数
显示已经设置的slc sizeslc分区的最大sizeemmcreliable write的支持和设置状况。
15) mmc slcchk
检查当前的slc/mlc配置,相关的状态保存在ENV中。
16) mmc relwrchk
检查当前的reliable write配置,相关的状态保存在ENV中。
17) mmc slcrelwrchk
检查当前的slc/mlcreliable write配置,相关的状态保存在ENV中。
18) mmc unlzo
解压缩lzo分区镜像并写进mmc分区,如将0x50000000地址保存的大小100M的镜像解压写入system分区:
#mmc unlzo 0x50000000 0x6400000 system
19) mmc erase
mmc erase blk#/partition_name size,
如:
#mmc erase 0 0x400000 => 0block处擦除4M大小
#mmc erase boot 0x400000 =>擦除boot分区开始往后4M数据
#mmc erase =>整个chip擦除
20) mmc dd
mmc/usb
之间互相dump raw data, 会损坏u盘文件系统,使用前请先备份U盘数据。默认用usb port 0
#mmc dd mmc2usb =>dump mmc中数据到usb
#mmc dd usb2mmc =>dump usb中数据到
mmc
21) mmc alignsize
查询SLC分区大小的对齐单位。


该会员没有填写今日想说内容.
回复

使用道具 举报

大神点评2

bean.yang 发表于:2016-6-14 12:15:27
学习中。
回复

使用道具 举报

halleyhuang 发表于:2016-6-14 18:44:43
受教了  
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册
手机版