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

发布时间:2024年01月08日

??前段时间,在博文 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) 这个驱动架构。
    在这里插入图片描述
  • CONFIG_ARM_PL180_MMC:我这里的 STM32F769I-EVAL 开发板实际使用的 MMC 驱动 ./drivers/mmc/arm_pl180_mmci.c,根据自己的开发板来选择的。
文章来源:https://blog.csdn.net/ZCShouCSDN/article/details/128544632
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。