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

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

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

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

一、初始化sd卡

初始化sd卡

二、写sd卡

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

(1)POLL写

POLL写

(2)中断写

中断写

(3)DMA写

DMA写

三、读sd卡

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

(1)POLL读

POLL读

(2)中断读

中断读

(3)DMA读

DMA读

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

相关文章:

  • R 学习 -- vector
  • 基于S3C2410的SD卡linux驱动工作原理(二)
  • 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嵌入式系统设计一:电源管理部分
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • Angular 响应式表单之下拉框
  • DOM的那些事
  • iOS 系统授权开发
  • rabbitmq延迟消息示例
  • rc-form之最单纯情况
  • Redis中的lru算法实现
  • webgl (原生)基础入门指南【一】
  • Webpack 4x 之路 ( 四 )
  • zookeeper系列(七)实战分布式命名服务
  • 和 || 运算
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 前端临床手札——文件上传
  • 前端相关框架总和
  • 算法系列——算法入门之递归分而治之思想的实现
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 微信小程序:实现悬浮返回和分享按钮
  • 正则学习笔记
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • (0)Nginx 功能特性
  • (4)logging(日志模块)
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (Python) SOAP Web Service (HTTP POST)
  • (solr系列:一)使用tomcat部署solr服务
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (南京观海微电子)——I3C协议介绍
  • (转)iOS字体
  • (转)平衡树
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • .NET 动态调用WebService + WSE + UsernameToken
  • .Net 访问电子邮箱-LumiSoft.Net,好用
  • .NET 命令行参数包含应用程序路径吗?
  • .Net环境下的缓存技术介绍
  • .NET委托:一个关于C#的睡前故事
  • .net知识和学习方法系列(二十一)CLR-枚举