基于S3C2410的SD卡linux驱动工作原理(一)
2009-05-31 14:04
411 查看
作者:刘洪涛,华清远见嵌入式学院金牌讲师,ARM公司授权ATC讲师。
我在讲嵌入式Linux驱动开发的时候,发现不少学员对SD卡驱动这块比较感兴趣,课下来找我探讨。而在很多技术论坛,也有不少人问这方面的问题,所以就想写一下这方面的内容,希望对大家的学习能有所帮助。想了解SD卡的工作原理,首先需要了解的就是SD卡协议了,这个在网上可以轻松的下载到。在了解协议后,就可以看看下面的一些开发思路了。
首先看下脱离操作系统如何在S3C2410上实现SD卡的读写。过程可以分为3个大的步骤:初始化sd卡、写sd卡、读sd卡;下面的过程是我通过realview-MDK环境测试过的。
一、初始化sd卡
![](http://www.embedu.org/Column/images/Column18-1.gif)
二、写sd卡
写sd卡可以分为3种方式:POLL、中断、DMA
(1)POLL写
![](http://www.embedu.org/Column/images/Column18-2.gif)
(2)中断写
![](http://www.embedu.org/Column/images/Column18-3.gif)
(3)DMA写
![](http://www.embedu.org/Column/images/Column18-4.gif)
三、读sd卡
读sd卡也可分为3中方式:POLL、中断、DMA
(1)POLL读
![](http://www.embedu.org/Column/images/Column18-5.gif)
(2)中断读
![](http://www.embedu.org/Column/images/Column18-6.gif)
(3)DMA读
![](http://www.embedu.org/Column/images/Column18-7.gif)
end
我在讲嵌入式Linux驱动开发的时候,发现不少学员对SD卡驱动这块比较感兴趣,课下来找我探讨。而在很多技术论坛,也有不少人问这方面的问题,所以就想写一下这方面的内容,希望对大家的学习能有所帮助。想了解SD卡的工作原理,首先需要了解的就是SD卡协议了,这个在网上可以轻松的下载到。在了解协议后,就可以看看下面的一些开发思路了。
首先看下脱离操作系统如何在S3C2410上实现SD卡的读写。过程可以分为3个大的步骤:初始化sd卡、写sd卡、读sd卡;下面的过程是我通过realview-MDK环境测试过的。
一、初始化sd卡
![](http://www.embedu.org/Column/images/Column18-1.gif)
二、写sd卡
写sd卡可以分为3种方式:POLL、中断、DMA
(1)POLL写
![](http://www.embedu.org/Column/images/Column18-2.gif)
(2)中断写
![](http://www.embedu.org/Column/images/Column18-3.gif)
(3)DMA写
![](http://www.embedu.org/Column/images/Column18-4.gif)
三、读sd卡
读sd卡也可分为3中方式:POLL、中断、DMA
(1)POLL读
![](http://www.embedu.org/Column/images/Column18-5.gif)
(2)中断读
![](http://www.embedu.org/Column/images/Column18-6.gif)
(3)DMA读
![](http://www.embedu.org/Column/images/Column18-7.gif)
end
相关文章推荐
- 基于S3C2410的SD卡linux驱动工作原理
- 基于S3C2410的SD卡linux驱动工作原理(二)
- 基于S3C2410的SD卡linux驱动工作原理
- 基于S3C2410的SD卡linux驱动工作原理(一)
- 基于S3C2410的SD卡linux驱动工作原理(二)
- 基于S3C2410的SD卡linux驱动工作原理
- 基于S3C2410的SD卡linux驱动工作原理
- 基于S3C2410的SD卡linux驱动工作原理
- 基于S3C2410的SD卡linux驱动工作原理
- 基于S3C2410的SD卡linux驱动工作原理(一)
- 基于S3C2410的SD卡linux驱动工作原理(二)
- 基于S3C2410的SD卡linux驱动工作原理
- 基于S3C2410的SD卡linux驱动工作原理(二)
- 基于S3C2410的SD卡linux驱动工作原理
- 基于S3C2410的SD卡linux驱动工作原理 http://blog.csdn.net/funy_liu/archive/2009/11/03/4764206.aspx 流程图
- 基于S3C2410的SD卡linux驱动分析一
- 基于S3C2410的SD卡linux驱动分析二
- s3c2410的ds18b20驱动(基于linux-2.6.24.4内核)
- S3C2410 LCD驱动的移植(基于linux-2.6.15.4内核)
- 嵌入式Linux驱动——s3c2410的ds18b20(基于linux-2.6.24.4内核)