当前位置: 首页 > news >正文

基于S3C2410的SD卡linux驱动工作原理(二)

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

前几天写了篇“基于S3C2410的SD卡linux驱动工作原理(一)”,说了下脱离操作系统如何在S3C2410上实现SD卡的读写。了解了脱离操作系统的工作原理后,现在可以思考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卡

二、SD卡块设备注册过程

DMA写

三、request及数据传输的实现

DMA读

(作者:刘洪涛,华清远见嵌入式培训中心金牌讲师,ARM公司授权ATC讲师)

相关文章:

  • R 学习 -- factor
  • linux设备模型中ktype的用法
  • R学习-- 数组和矩阵
  • spinlock与linux内核调度的关系
  • R学习 -- R中的five number
  • usb鼠标驱动注解及测试
  • R学习-- R中的绘图命令练习
  • Web Asp.net 中的Messagebox 判断..
  • R学习-- R连接 SQL SERVER
  • 使用AweSocket 收发消息
  • __asm__ __volatile__内嵌汇编用法简述
  • CLR 学习-- .net中的共享组件与GAC
  • PXA270嵌入式系统设计一:电源管理部分
  • Azure Machine Learning Studio 实例 -- 预测xx年的食物工厂总数
  • azure machine learning 预测分类实例-- 预测出口国
  • 【剑指offer】让抽象问题具体化
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • If…else
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • Redux 中间件分析
  • 编写符合Python风格的对象
  • 当SetTimeout遇到了字符串
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 服务器从安装到部署全过程(二)
  • 面试遇到的一些题
  • 区块链技术特点之去中心化特性
  • 使用API自动生成工具优化前端工作流
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • (02)Hive SQL编译成MapReduce任务的过程
  • (LeetCode C++)盛最多水的容器
  • (附源码)springboot 智能停车场系统 毕业设计065415
  • (附源码)ssm高校实验室 毕业设计 800008
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (十八)SpringBoot之发送QQ邮件
  • (算法设计与分析)第一章算法概述-习题
  • (一) springboot详细介绍
  • (转)IOS中获取各种文件的目录路径的方法
  • .cfg\.dat\.mak(持续补充)
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost
  • .NET开源全面方便的第三方登录组件集合 - MrHuo.OAuth
  • .net快速开发框架源码分享
  • .net实现头像缩放截取功能 -----转载自accp教程网
  • .net项目IIS、VS 附加进程调试
  • //解决validator验证插件多个name相同只验证第一的问题
  • @Bean, @Component, @Configuration简析
  • @Bean有哪些属性
  • @CacheInvalidate(name = “xxx“, key = “#results.![a+b]“,multi = true)是什么意思
  • @zabbix数据库历史与趋势数据占用优化(mysql存储查询)
  • [ vulhub漏洞复现篇 ] Grafana任意文件读取漏洞CVE-2021-43798
  • [100天算法】-实现 strStr()(day 52)
  • [2013][note]通过石墨烯调谐用于开关、传感的动态可重构Fano超——
  • [2016.7 Day.4] T1 游戏 [正解:二分图 偏解:奇葩贪心+模拟?(不知如何称呼不过居然比std还快)]
  • [AI]ChatGPT4 与 ChatGPT3.5 区别有多大
  • [Android] Implementation vs API dependency