版权声明

更新:2017-06-07
博主:LuckyAlan
联系:liuwenvip163@163.com
声明:吃水不忘挖井人,转载请注明出处!

1 文章介绍

今天在进行Android分区修改的时候发现擦除后无法进入kernel,查了一下是因为bootargs_Hi3798MV200-emmc.txt文件中的bootcmd没有修改。这个参数与内核启动有关,需要用到mmc命令,因此多mmc相关的命令做一个学习总结。

2 开发平台

软件平台:Android系统。
硬件平台:hisi3798MV200

3 阅读须知

无

4 文章正文

4.1 打印当前mmc设备的信息

命令: mmcinfo

4.2 对mmc进行读写操作

4.2.1 命令说明

读操作命令:  mmc read <device num> addr blk# cnt [partition]  
写操作命令:  mmc write <device num> addr blk# cnt [partition]

参数说明:

  • device num:mmc的设备号,可以通过mmc list查询
  • addr:内存地址
  • blk# :mmc内的块号
  • cnt:块数目

4.2.2 命令举例

读操作:  mmc read 0x10800000 0x600 0x10  
读操作说明:从第0个mmc设备块上1536*512个字节处开始(1536是0x600的十进制),读取16×512个字节(16是10的10进制)到内存0x10800000 处。以kernel为例,若前面的分区为94M(也就是kernel的分区从94M的地方开始),那么,0x600的地方的值应为:94*2*1024的十六进制0x2F000。

为何这样计算呢?我们在系统开始的时候可以看到如下打印信息:

在上图中可以看到,每个块是512Bytes,因此kernel的启动地址为94*1024*1024改为94*1024*1024/512=94*2*1024。下面的计算方法相同。

写操作: mmc write 0x90000000 0x600 0x10 
写操作说明:把内存0x90000000开始,长度为16x512大小的数据,写入到第2个mmc设备块偏移位置为0x600处。

5 参考资料

1、《常用u-boot命令详解(全)》
2、《uboot中的mmc命令》
3、《mmc的命令里面write的参数是16进制却不需要写0x》

uboot命令(1):mmc命令的更多相关文章

  1. uboot中的mmc命令

    一:mmc的命令例如以下: 1:对mmc读操作 mmc read addr blk# cnt 2:对mmc写操作 mmc write addr blk# cnt 3:对mmc擦除操作 mmc eras ...

  2. android uboot中的mmc命令

    一:mmc的命令如下: 1:对mmc读操作 mmc read addr blk# cnt 2:对mmc写操作 mmc write addr blk# cnt 3:对mmc擦除操作 mmc erase ...

  3. uboot中的mmc命令(转)

    转载地址:https://blog.csdn.net/a624731186/article/details/37700205 一:mmc的命令如下: 1:对mmc读操作 mmc read addr b ...

  4. 【转】uboot中的mmc命令

    转自:https://www.cnblogs.com/yxwkf/p/3855383.html 1:mmcinfo 输入: mmcinfo 显示结果:Manufacturer ID: 45OEM: 1 ...

  5. Uboot mmc命令解析&NAND flash uboot命令详解

    转载:http://blog.csdn.net/simonjay2007/article/details/43198353 一:mmc的命令如下: 1:对mmc读操作 mmc read addr bl ...

  6. uboot 各种烧写命令

    norflash 烧写 (7) Nor Flash指令 Nor Flash 的命令经常用于烧写数据到Nor Flash . flinfo  打印Flash存储器的信息,并列出所有Sector. fli ...

  7. 用UBOOT自带loadb命令加载应用程序到SDRAM中运行的方法

    S3C44B0开发板中,用UBOOT自带loadb命令加载应用程序到SDRAM中运行的方法    1.开发板说明:  开发板上已有移植好的UBOOT运行.   2.交叉编译工具链为arm-linu-g ...

  8. 第1阶段——uboot分析之查找命令run_command函数和命令定义过程(6)

    本节主要学习,run_command函数命令查找过程,命令生成过程 1.run_command函数命令查找过程分析:在u-boot界面中(main_loop();位于u-boot-1.1.6/comm ...

  9. Android Mboot mmc命令介绍

    mmc command.         目前Mboot支持以下mmc命令: 1) mmc read/write.    读写命令.Addr = 内存地址, blk# = 起始block数, size ...

随机推荐

  1. Js版json解析

    JsonDecoder={ pos:0, isDigit:function(ch){ return ( ch >= '0' && ch <= '9' )||( ch == ...

  2. python __name__及__main()__的妙处

    #hello.py def sayHello(): str="hello" print(str); if __name__ == "__main__": pri ...

  3. linux 4 -awk

    十一.  awk编程:     1.  变量:     在awk中变量无须定义即可使用,变量在赋值时即已经完成了定义.变量的类型可以是数字.字符串.根据使用的不同,未初始化变量的值为0或空白字符串&q ...

  4. linux awk数组相关操作介绍

    用awk进行文本处理,少不了就是它的数组处理.那么awk数组有那些特点,一般常见运算又会怎么样呢.我们先看下以下的一些介绍,结合样例我们会解说下它的不同之处.在 awk 中数组叫做关联数组(assoc ...

  5. error in static/js/xxx.js from UglifyJs Unpected token: punc() [static/js/xxx.js]

    出现问题 使用vue+element-ui+webpack开发项目时,Jenkins构建出现报错error in static/js/xxx.js from UglifyJs Unpected tok ...

  6. MySQL常用代码

    create database 数据库名 create table CeShi1( Uid varchar(50) primary key, Pwd varchar(50), Name varchar ...

  7. 分布式数据库对比评测(Es,mongodb,redis)基础知识篇

    前言 我建议大家看下这个,否则后面你不知道我在说什么. 1.ES数据库相关概念 啥是Es,说白了就是支持文档搜索的分布式数据库,专门方便搜索的,GITHUB京东现在都在用. 1.ES的数据库存放在哪里 ...

  8. Javamail 发送附件中文名过长以及乱码问题

      最近在弄javamail发送邮件当邮件里含有附件并且附件是中文的时候发送后就会出现乱码!! 通过javax.mail.internet.MimeUtility.encodeText()就可解决这个 ...

  9. 什么是gitlab CI ?CI代表什么?

    CI是Continuous Integration的简称,就是持续集成的意思. 就是说你代码改动了,测试了,提交了,持续集成系统会自动构建(编译等等).持续集成的理念是每个提交的版本都应该是可交付的, ...

  10. FOJ 2213 简单几何

    题意:给你两个圆的圆心坐标和半径,判断两个圆公切线数目. 思路:考虑两个圆间公切线的情况,两个圆的位置关系分为相离,相交,外切,内切,内含,重合,公切线数分别为4,2,3,1,0,-1. #inclu ...