Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1038835
  • 博文数量: 244
  • 博客积分: 6820
  • 博客等级: 准将
  • 技术积分: 3020
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-09 21:33
文章分类

全部博文(244)

文章存档

2013年(1)

2012年(16)

2011年(132)

2010年(3)

2009年(12)

2008年(80)

我的朋友

分类: LINUX

2008-09-16 23:38:07

序:我在讲的时候,发现不少学员对SD卡驱动这块比较感兴趣,课下来找我探讨。而在很多技术论坛,也有不少人问这方面的问题,所以就想写一下这方面的内容,希望对大家的学习能有所帮助。

 

前几天写了篇“基于S3C2410SDlinux驱动工作原理”,说了下脱离操作系统如何在S3C2410上实现SD卡的读写。了解了脱离操作系统的工作原理后,现在可以思考linux是如何管理管理SD卡的了。LinuxSD驱动可以分为3层:块设备层(mmc_block.c ,mmc_sysfs.c,mmc_queue.c)、mmc协议层(mmc.c)、sd驱动层(s3c2410_sdi.c)。

 

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

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

      2SD卡块设备注册过程;

      3request及数据传输的实现。

 

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

 

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

 

 

二、SD卡块设备注册过程

 

 

 

 

三、request及数据传输的实现

 

 

阅读(912) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~