当前位置: 首页 > news >正文

android uboot中的mmc命令

一:mmc的命令如下:

1:对mmc读操作

mmc read addr blk# cnt

 

2:对mmc写操作

mmc write addr blk# cnt

 

3:对mmc擦除操作

mmc erase blk# cnt

 

4:重新搜索mmc设备

mmc rescan

 

5:列出mmc的分区

mmc part - lists available partition oncurrent mmc device

 

6:查看当前的设备号,或者设置设备号及分区

mmc dev [dev] [part] - show or set currentmmc device [partition]

 

7:显示boot分区号

mmc bootpart [dev] [part] - show or setboot partition

 

8:列出当前的mmc设备

mmc list - lists available devices

 

9: 打印一些当前mmc设备的信息

mmcinfo

 

 

 

二:mmc的命令详解

1:mmcinfo

输入:

mmcinfo

显示结果:
Manufacturer ID: 45
OEM: 100
Name: SEM08
Tran Speed: 25000000
Rd Block Len: 512
MMC version 4.0
Clock: 52000000
High Capacity: Yes
Capacity: 7944011776 Bytes
Bus Width: 8-bit DDR
Current Partition for boot: Boot partition 1

 

 

2:mmc list -lists available devices

 

输入:

mmc list

显示如下:

FSL_USDHC: 0

FSL_USDHC: 1

FSL_USDHC: 2

FSL_USDHC: 3

 

分析:boot中配置了四个mmc资源,SD卡是2,EMMC是3

 

 

 

3:mmc dev[dev] [part] - show or set current mmc device [partition]

 

输入:

mmc dev 3

显示如下:

mmc3(part 0) is current device

 

分析:表示当前处于EMMC设备的第0个分区

 

 

输入:

mmc dev 3 1

显示如下:

mmc3(part 1) is current device

 

分析:设置当前处于EMMC设备的第1个分区

 

 

 

4:mmc bootpart [dev] [part] - show or set boot partition

 

输入:

mmc bootpart

显示如下:

Device 3: boot partition 1 is for boot

 

 

分析:uboot处于第一个分区

 

 

5:mmc part -lists available partition on current mmc device

 

输入:

mmc part

显示如下:

Partition Map for UNKNOWN device 3 -- Partition Type: DOS

 

Partition Start Sector Num Sectors Type

1 16384 16384 83

2 32768 16384 83

3 49152 6397952 5 Extd

4 6447104 9150464 83

5 49153 3145727 83

6 3194881 3145727 83

7 6340609 16383 83

8 6356993 8191 83

 

 

分析:显示当前EMMC的所有分区

 

 

 

6:mmc read addr blk# cnt

这个命令的作用是读取mmc上的数据到内存上

 

参数:

addr: 读取到内存的位置

blk: 读取block位置,这个位置是mmc的0地址的偏移量,是16进 制,block单位是512字节

cnt: 读取block个数,要读取到内存的数据大小,是16进制

block单位是512字节

 

 

例:

mmc dev 3 0

mmc read 0x10800000 600 10

 

命令分析:表示从mmc上1536×512个字节开始处(1536是600的十进制),读取16×512个字节(16是10的10进制)到内存0x10800000 处

 

显示结果:

MMC read: dev #3, block # 1536, count 16 ... 16 blocks read: OK
结果分析:

我们只能从结果看出来读取成功,但不能确定读取的内容是否正确,所以打印下内存的数据,看是否与mmc中的内容一致

 

输入:

md.b 0x10800000 100

命令分析:打印内存位置0x10800000的100个字节

显示结果:

10800000: b15ecb3c 6f62 746f 6564 616c 3d79 0033 ^.<.bootdelay=3.

10800010: 61626475 6172 6574 313d 3531 3032 0030 baudrate=115200.

10800020: 70696461 7264 313d 3239 312e 3836 312e ipaddr=192.168.1

10800030: 312e3330 7300 7265 6576 6972 3d70 3931 .103.serverip=19

10800040: 2e323631 2e38 2e31 3031 0031 656e 6d74 2.168.1.101.netm

10800050: 73613d6b 3532 2e35 3532 2e35 3532 2e35 ask=255.255.255.

.....

.......

结果分析:

我在mmc位置1536×512的位置储存的是环境变量,与内存打印的一致,读取正确

 

 

 

7:mmc write addr blk# cnt

这个命令的作用是将内存上的数据写入mmc中

 

参数:

addr: 从内存读取的位置

blk: 写入到mmc中block位置,这个位置是mmc的0地址的偏移量,是16进制,block单位是512字节

cnt: 写入到mmc中block个数,要写入的数据大小,是16进制,

block单位是512字节

 

例:

mmc dev 3

mmc write 0x108000000 0 100

 

命令分析:表示从内存0x108000000的位置上读取256*512的数据(256是100的十进制)到mmc上0的位置处,这里就不举例验证了

 

 

mmc上0的位置处是分区表,我把内存上的乱数据写进去后,uboot检测不到分区了

 

8:mmc erase blk# cnt

参数:

blk: 擦除的mmc中block位置,这个位置是mmc的0地址的偏移量,是16进制,block单位是512字节

cnt: 擦除的mmc中block个数,是16进制,block单位是512字节

转载于:https://www.cnblogs.com/Ph-one/p/10384132.html

相关文章:

  • stm32最简单的实现BootLoader
  • 变参标准函数的重新封装,如printf
  • 导数与梯度
  • linux /Android 平台下使用 i2c-tools
  • 在android下使用i2c tools
  • ubuntu查看文件和文件夹大小
  • matlab的三维绘图和四维绘图
  • Matlab绘制三维曲面(以二维高斯函数为例)
  • VSCode 预览 .md 文件
  • 右侧添加悬浮打赏功能
  • Git错误non-fast-forward后的冲突解决
  • linux物理网卡检测命令mii-tool
  • HTML !--...-- 标签
  • Linux下查看网卡驱动和版本信息
  • 961专业课复习资料
  • Apache的基本使用
  • CSS实用技巧干货
  • ES6核心特性
  • Java IO学习笔记一
  • java 多线程基础, 我觉得还是有必要看看的
  • js如何打印object对象
  • js正则,这点儿就够用了
  • PermissionScope Swift4 兼容问题
  • python3 使用 asyncio 代替线程
  • Python语法速览与机器学习开发环境搭建
  • scala基础语法(二)
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • 成为一名优秀的Developer的书单
  • - 概述 - 《设计模式(极简c++版)》
  • 给初学者:JavaScript 中数组操作注意点
  • 深度学习入门:10门免费线上课程推荐
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • ​Linux·i2c驱动架构​
  • #图像处理
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (13):Silverlight 2 数据与通信之WebRequest
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (4)事件处理——(7)简单事件(Simple events)
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (保姆级教程)Mysql中索引、触发器、存储过程、存储函数的概念、作用,以及如何使用索引、存储过程,代码操作演示
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (十一)图像的罗伯特梯度锐化
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • .NET Core Web APi类库如何内嵌运行?
  • .Net Core 中间件验签
  • .NET MVC、 WebAPI、 WebService【ws】、NVVM、WCF、Remoting
  • .NET 设计模式—简单工厂(Simple Factory Pattern)
  • .net 桌面开发 运行一阵子就自动关闭_聊城旋转门家用价格大约是多少,全自动旋转门,期待合作...