sd卡工作原理.docx
《sd卡工作原理.docx》由会员分享,可在线阅读,更多相关《sd卡工作原理.docx(7页珍藏版)》请在冰豆网上搜索。
![sd卡工作原理.docx](https://file1.bdocx.com/fileroot1/2023-1/31/c427f833-2dc3-4d21-9f66-2f0a04b490bc/c427f833-2dc3-4d21-9f66-2f0a04b490bc1.gif)
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及数据传输的实现