U-Boot 之十 详解 MMC 子系统、命令、初始化流程

本文详细介绍了U-Boot中MMC子系统的架构,包括涉及的源文件,如mmc.h、mmc.c和mmc-uclass.c。讲解了如何启用和配置MMC子系统,并探讨了初始化流程,包括DM初始化、预初始化和完整初始化。同时,讨论了MMC的相关命令,如mmc info、mmc dev等,并解释了它们的功能和使用方法。最后,文章阐述了设备的探测和激活过程,以及初始化过程中的关键函数和步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  前段时间,在博文 U-Boot 之三 移植过程详解、 STM32F769I-EVAL 开发板适配 中处理了 SD 卡不能正常识别的问题,现在 SD 卡可以正常读取,今天就学习一下 SD 卡相关的命令及初始化流程。目前网上绝大多数都是针对旧版 U-Boot 的说明,我这里使用的是 U-Boot-v2022.10 这个版本。

架构

  与 Linux kernel 一样,U-Boot 也是使用 MMC subsystem 统一管理 eMMC、SD 等存储设备,这些设备统称为 MMC 设备。要启用 MMC 子系统,必须配置如下所示的配置项:

  • CONFIG_MMC:全局开关
  • CONFIG_DM_MMC:MMC 的 DM 驱动,从源码来看,MMC 驱动中还支持非 DM 驱动,但是我没有用过。我这里使用的 U-Boot 中的 MMC 驱动使用了 2014 年 4 月引入的 Driver Model(DM) 这个驱动架构。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ZC·Shou

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

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

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

打赏作者

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

抵扣说明:

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

余额充值