本文记录实际开发中,在rk3568安卓13的SDK中适配板载外设SD卡功能时设备树的配置。
目录
前言
在嵌入式Android系统开发中,SD卡作为最常用的外部存储扩展方式,其稳定性和兼容性直接影响用户体验。本文基于实际工作中的需求,记录了在RK3568平台、Android 13 SDK环境下适配MicroSD卡功能的完整过程。同时结合Rockchip官方SDMMC开发指南与SD Boot文档中的要点,力求做到理论与实践相结合,希望能为从事类似工作的开发者提供一份可落地的参考。
一、MicroSD卡与RK3568 SDMMC接口
1.1 SD卡标准与MicroSD卡
SD卡(Secure Digital Memory Card)是遵照SD协会制定的存储卡标准,采用NAND Flash作为存储介质。MicroSD卡(原名TF卡,2004年被SD卡标准化组织正式纳入并命名为MicroSD Card)是SD卡的微型版本,两者在电气特性和通信协议上完全兼容,仅物理尺寸和引脚数量存在差异。
SD卡标准经历了多代演进,从最初的SD 1.0(最高25MHz、50MB/s)发展到SD 3.0(UHS-I,最高可达104MB/s),再到SD 4.0/5.0等更高规格。Rockchip RK3568的SDMMC接口符合SD 3.0标准,理论最高频率150MHz,配合SDR104模式可实现较高的数据传输速率。
1.2 通信协议基础
SD卡支持两种总线模式:SDIO模式(4位并行)和SPI模式(串行)。嵌入式系统中为了发挥最高性能,通常使用SDIO 4位模式进行通信。
MicroSD卡SDIO模式引脚定义:
| 引脚 | 信号名 | 功能描述 |
|---|---|---|
| 1 | DAT2 | 数据线2 |
| 2 |
CD/DAT3 |
卡检测/数据线3(部分卡座将CD独立引出) |
| 3 |
CMD |
命令/响应线 |
| 4 |
VDD |
电源(2.7V~3.6V) |
| 5 |
CLK |
时钟信号 |
| 6 |
VSS |
地 |
| 7 |
DAT0 |
数据线0 |
| 8 |
DAT1 |
数据线1 |
通信机制要点:
-
命令传输:主机通过CMD线发送48位命令包(含命令索引、参数、CRC7校验),SD卡在同一线上返回48位响应
-
数据传输:通过DAT0~DAT3四线并行,每个数据块(通常512字节)后跟随16位CRC校验

2038

被折叠的 条评论
为什么被折叠?



