嵌入式开发实战:U-Boot mmc命令深度解析与EMMC/SD卡操作指南
在嵌入式Linux开发中,U-Boot作为系统启动加载器扮演着至关重要的角色。对于刚接触嵌入式开发的工程师来说,掌握U-Boot中MMC设备的操作命令是必备技能。本文将深入解析U-Boot中mmc命令的使用方法,提供从基础到进阶的完整操作指南,帮助开发者快速上手EMMC和SD卡的操作。
1. U-Boot与MMC设备基础
嵌入式系统中的存储设备选择直接影响系统启动速度和数据可靠性。目前主流的嵌入式存储方案包括EMMC和SD卡,它们在物理接口和协议层都遵循MMC标准,这也是U-Boot中使用统一命令集操作这两种设备的基础。
MMC设备在嵌入式系统中的典型应用场景:
- 存储启动加载器(U-Boot)
- 存放Linux内核镜像和设备树
- 保存根文件系统
- 记录系统日志和用户数据
在i.MX6ULL等常见嵌入式平台中,开发板通常会同时支持EMMC和SD卡。通过U-Boot的mmc命令,开发者可以:
bash复制=> mmc list
FSL_SDHC: 0
FSL_SDHC: 1 (eMMC)
这个命令输出显示系统检测到两个MMC设备:设备0是SD卡,设备1是EMMC。理解这种编号规则对后续操作至关重要。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. MMC设备信息查询与切换
在操作MMC设备前,首先需要了解设备的基本信息和当前激活的设备。
2.1 设备信息查询
mmc info命令提供当前所选MMC设备的详细信息:
bash复制=> mmc info
Device: FSL_SDHC
Manufacturer ID: 15
OEM: 100
Name: 8GTF4
Tran Speed: 52000000
Rd Block Len: 512
MMC version 4.0
High Capacity: Yes
Capacity: 7.3 GiB
Bus Width: 8-bit
Erase Group Size: 512 KiB
这些信息包括设备类型、制造商、容量、总线宽度等关键参数,对调试和验证设备正常工作非常有帮助。
2.2 设备切换
当系统中有多个MMC设备时,需要使用mmc dev命令切换当前设备:
bash复制m
