当前位置:首页 > 嵌入式 > 嵌入式软件
[导读] 我在讲嵌入式Linux驱动开发班的时候,发现不少学员对SD卡驱动这块比较感兴趣,课下来找我探讨。而在很多技术论坛,也有不少人问这方面的问题,所以就想写一下这方面的内容

 我在讲嵌入式Linux驱动开发班的时候,发现不少学员对SD卡驱动这块比较感兴趣,课下来找我探讨。而在很多技术论坛,也有不少人问这方面的问题,所以就想写一下这方面的内容,希望对大家的学习能有所帮助。想了解SD卡的工作原理,首先需要了解的就是SD卡协议了,这个在网上可以轻松的下载到。在了解协议后,就可以看看下面的一些开发思路了。

首先看下脱离操作系统如何在S3C2410上实现SD卡的读写。过程可以分为3个大的步骤:初始化sd卡、写sd卡、读sd卡;下面的过程是我通过realview-MDK环境测试过的。

一、初始化sd卡

二、写sd卡

写sd卡可以分为3种方式:POLL、中断、DMA

(1) POLL写

(2)中断写

(3)DMA写

三、读sd卡

读sd卡也可分为3中方式:POLL、中断、DMA

(1) POLL读

(2)中断读

(3) DMA读

了解了脱离操作系统的工作原理后,现在可以思考linux是如何管理管理SD卡的了。Linux中SD驱动可以分为3层:块设备层(mmc_block.c ,mmc_sysfs.c,mmc_queue.c)、mmc协议层(mmc.c)、sd驱动层(s3c2410_sdi.c)。

下面从以下几个方面理解驱动:

1、s3c2410_sdi.c代码初始化过程;

2、SD卡块设备注册过程;

3、request及数据传输的实现。

下面介绍的过程参考的代码是我们华清远见培训中心在教学中使用的一套代码,内核版本是2.6.8,其它版本过程类似。

一、s3c2410_sdi.c代码初始化过程

二、SD卡块设备注册过程

三、request及数据传输的实现

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

双总线SPI:该电路板将显示渲染和文件I/O分别分配到两个独立的硬件SPI总线(SPI1驱动ST7789显示屏,SPI0负责SD卡模块),以确保在高吞吐量文件读取时实现流畅的视觉更新。

关键字: 音乐播放器 电路板 SD卡 RP2040

缓存一致性既要保证数据正确,也要限制探测流量。SoC使用目录和DMA时,容量退化与所有权交接是两类不同风险,不能用同一条屏障笼统处理。

关键字: SoC 缓存 DMA

模型一旦从固定分辨率走向多尺寸输入,最先失稳的常不是算力,而是执行形状本身。NPU若把动态图只理解成“支持可变尺寸”,现场很快就会碰到重编译、缓存失配和内存计划同时抖动。

关键字: NPU 动态图 DMA

新加坡2026年8月25日 /美通社/ -- 纳斯达克上市的全栈AI基础设施解决方案提供商 SuperX AI Technology Limited(NASDAQ: SUPX,以下简称"SuperX"...

关键字: DMA NVIDIA SUPER AN

在嵌入式数据存储方案中,SD卡是最常见的大容量存储介质之一。GD32系列MCU支持SDIO和SPI两种方式驱动SD卡,其中SPI模式以引脚占用少、硬件设计简单著称。但SPI模式的代价是协议需要软件模拟,且读写速度受限。本...

关键字: GD32 SD卡

在高速ADC、雷达回波、图像传感器等场景中,FPGA采集的数据率轻松突破数百MB/s。如果让CPU去"搬运"这些数据到DDR3,不仅占用处理器资源,还会因中断延迟和缓存一致性问题导致带宽急剧下降。正确的做法是在PL端构建...

关键字: FPGA DMA DDR3

在STM32裸机环境下做高速数据采集(如ADC以1Msps采样、SPI读取传感器数据),最常见的做法是:每次中断到来,CPU把数据从外设数据寄存器搬到内存数组。这种方法简单,但CPU大部分时间都在做memcpy,占用率轻...

关键字: 零拷贝 DMA 双缓冲

GeoLupe 是一款神奇的放大镜,通过纸质地图展现真实世界。只需移动手臂,将指针指向地图上的任意位置,即可即时显示对应地点的卫星图像。旋转旋钮可平滑地缩放图像,让你像使用显微镜一样,从整座城市到单栋建筑都能轻松探索。

关键字: 放大镜 卫星 SD卡 MT6701

在嵌入式系统串口通信中,可变长帧解析是一个经典难题——上位机或外部模块发送的数据帧长度不固定,MCU必须在运行时动态识别帧边界、提取有效载荷。GD32系列MCU提供了三种主流实现路径,各有适用场景和性能边界。

关键字: 串口 中断接收 DMA

为了让这个项目更易于上手,无需复杂的编码、IDE设置或库安装。我开发了一款极其简单的网页刷机工具,您可以通过浏览器直接将预编译的二进制文件烧录到您的设备上。我还制作了完整的视频教程,一步步指导您完成整个过程!

关键字: SD卡 显示屏 SPI总线 ESP32
关闭