uboot下 EMMC和SD卡操作命令

uboot 中常用于操作 MMC 设备的命令为 mmc

一、常用命令

命令说明
mmc info输出MMC设备信息
mmc read 读取MMC中的数据
mmc write向MMC设备写入数据
mmc rescan扫描MMC 设备
mmc partl列出MMC设备的分区
mmc dev切换MMC设备
mmc list列出当前有效所有MMC设备

从emmc启动实例

setenv bootcmd 'mmc dev 1; fatload mmc 1:1 80800000 zImage; fatload mmc 1:1 83000000 
imx6ull-alientek-emmc.dtb; bootz 80800000 - 83000000;'

命令说明:

1) mmc list

ZynqMP> mmc list
mmc@ff160000: 0 (eMMC)
mmc@ff170000: 1

0是emmc   1是SD卡

2)mmc info

ZynqMP> mmc info
Device: mmc@ff160000
Manufacturer ID: 13
OEM: 14e
Name: Q2J54 
Bus Speed: 52000000
Mode: MMC High Speed (52MHz)
Rd Block Len: 512
MMC version 5.0
High Capacity: Yes
Capacity: 3.6 GiB
Bus Width: 4-bit
Erase Group Size: 512 KiB
HC WP Group Size: 8 MiB
User Capacity: 3.6 GiB WRREL
Boot Capacity: 2 MiB ENH
RPMB Capacity: 512 KiB ENH

可以看到容量大小

3)mmc dev 1

切换设备提示 mmc1 is current device

ZynqMP> mmc dev 1
switch to partitions #0, OK
mmc1 is current device

4)mmc part 查看分区状态

ZynqMP> mmc part

Partition Map for MMC device 1  --   Partition Type: DOS

Part    Start Sector    Num Sectors     UUID            Type
  1     2048            1024000         292eb6ff-01     0c Boot
  2     1026048         6718464         292eb6ff-02     83

5)mmc read

语法:mmc read addr blk# cnt

addr 是数据读取到 DRAM 中的地址,

blk 是要读取的块起始地址(十六进制),一个块是 512字节,这里的块和扇区是一个意思
cnt 是要读取的块数量,一个块是 512字节。

实例加载图像:

mmc read 0x0 0x92000000 0x7400 0x800

0x92000000 是内存DRAM

0x7400 是emmc的地址,它的大小从14.5M地方读取

0x7400 = 29696块
29696块 * 512 = 15,204,352 字节
15,204,352/1024 = 14,848 K
14,848 K - 512K = 14,336K
14,336K / 1024 = 14M
14*1024 = 14,336K + 512K = 14,848K * 1024 = 15,204,352字节 / 512 = 29,696 = 0x7400

图像放置的位置uboot环境变量

setenv bootargs 'mem=513856K console=ttyAMA0,115200 clk_ignore_unused root=/dev/mmcblk0p6 rootfstype=ext4 rw rootwait blkdevparts=mmcblk0:512K(u-boot.bin),512K(emmc_env.bin),512K(bl31.bin),13M(kernel),2M(logo.jpg),...

二、fatload

操作SD 卡或者 EMMC 中存储的文件,只支持 FAT 格式的文件系统
1 fatinfo 命令
fatinfo 命令用于查询指定 MMC 设置指定分区的文件系统信息
2 fatls 命令
fatls 命令用于查询 FAT 格式设备的目录和文件信息
3、 fatload 命令
fatload 命令用于将指定的文件读取到 DRAM
fatload mmc 1:1 80800000 zImage

三、bootargs 

启动实例中的
setenv bootargs 'console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw'
1 console
用来设置linux终端,/dev/ttymxc0,后面的115200是串口波特率
2,root
设置跟文件系统的位置
root=/dev/mmcblk1p2 用于指明根文件系统存放在mmcblk1设备的分区 2中,/dev/mmcblk1在本系统中 表示 EMMC
root 后面的rootwait rw
  • rootwait 表示等待 mmc 设备初始化完成以后再挂载,否则会出错。
  • rw表示跟文件系统是可以读写的。不加则只能进行读操作。
3,rootfs
一般配置 root 一起使用,rootfstype 用于指定根文件系统类型。
  • 如果根文件系统是yaffsjffs ubifs 的话就需要设置此选项,指定根文件系统的类型。
  • 如果根文件系统为ext 格式的话此选项无所谓

  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

为了维护世界和平_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值