1.SD卡的命令格式: SD卡的指令由6字节(Byte)组成,如下: Byte1:0 1 x x x x x x(命令号,由指令标志定义,如CMD39为100111即16进制0x27,那么完整的CMD39第一字节为01100111,即0x27+0x40) Byte2-5:Command Arguments,命令参数,有些命令没有参数 Byte6:前7位为CRC(Cyclic Redundacy Check,循环冗余校验)校验位,最后一位为停止位0 2.SD卡的命令 SD卡命令共分为12类,分别为…
SD卡为移动设备提供了安全的,大容量存储解决方法.它本身可以通过两种总线模式和MCU进行数据传输,一种是称为SD BUS的4位串行数据模式,另一种就是大家熟知的4线SPI Bus模式.一些廉价,低端的MCU,通过硬件(或软件)SPI就能和SD卡进行通信,实现大容量存储的要求,这也是SD卡的魅力所在. 一.引脚定义         SD BUS模式下,信号包括4根数据线DAT3-DAT0,一根命令传输线CMD和一根时钟同步线:而在SPI模式下,只需要4跟信号线,分别为一根SD卡数据输出,一根SD卡…
SD卡为移动设备提供了安全的,大容量存储解决方法.它本身可以通过两种总线模式和MCU进行数据传输,一种是称为SD BUS的4位串行数据模式,另一种就是大家熟知的4线SPI Bus模式.一些廉价,低端的MCU,通过硬件(或软件)SPI就能和SD卡进行通信,实现大容量存储的要求,这也是SD卡的魅力所在. 一.引脚定义         SD BUS模式下,信号包括4根数据线DAT3-DAT0,一根命令传输线CMD和一根时钟同步线:而在SPI模式下,只需要4跟信号线,分别为一根SD卡数据输出,一根SD卡…
Android下的SD卡驱动与标准LINUX下的SD卡驱动好像没有太大的区别,这里就以高通的ANDROID 2.3以代表,来简要分析一下LINUX下SD卡驱动的写法.由于小弟的技术有限,分析的有错的地方,请大家指正,可以共同学习. 一.最先来理清一下SD.MMC与SDIO的一些基本概念: (1)  MMC:(Multi Media Card)是较早的一种记忆卡标准,目前已经被 SD 标准所取代. (2)  SD:(Secure Digital Memory Card) 是一种 flash mem…
1.首先要对SD卡有个基础知识 (1) SD = nandflash + 主控IC. 主控IC负责了校验和坏块管理,所以SoC只需要依照时序就可以和SD卡上的主控IC进行数据交换等操作. (2) SD卡有两种协议 SPI协议:低速协议,为了兼任低速的单片机而存在. SD协议:高速协议,使用时要求SoC有一定速度的主频. 2.认识时序 上面是SD卡的插入和删除的时序,可以看出SD卡的操作十分固定,依照时序即可,并且这些代码已经被厂家写了,所以这里不再继续研究.…
前面对SD卡控制器有了一个主要的介绍.事实上SD控制器层更过的意义是为core层提供一种操作SD卡硬件的一种方法.当然不同的控制器对硬件控制的方法不尽同样,可是他们终于都能像core层提交一个统一的封装有操作方法的数据结构,那便是即将闪亮登场的struct mmc_host_ops....相应的host文件为s3cmci.c. 接下来就来揭开与之相应的struct mmc_host_ops结构的神奇面纱.... static struct mmc_host_ops s3cmci_ops = {…
一.前言 SD 卡有两个可选的通讯协议:SD 模式和 SPI模式 SD 模式是SD 卡标准的读写方式,但是在选用SD 模式时,往往需要选择带有SD 卡控制器接口的 MCU,或者必须加入额外的SD卡控制单元以支持SD 卡的读写.然而,大多数MCU都没有集成SD 卡控制器接口,若选用SD 模式通讯就无形中增加了产品的硬件成本.在SD卡数据读写时间要求不是很严格的情况下, 选用 SPI模式可以说是一种最佳的解决方案.因为在 SPI模式下,通过四条线就可以完成所有的数据交换,并且目前市场上很多MCU都集…
源:SPI模式下MCU对SD卡的控制及操作命令 一.前言 SD 卡有两个可选的通讯协议:SD 模式和 SPI模式 SD 模式是SD 卡标准的读写方式,但是在选用SD 模式时,往往需要选择带有SD 卡控制器接口的 MCU,或者必须加入额外的SD卡控制单元以支持SD 卡的读写 然而,大多数MCU都没有集成SD 卡控制器接口,若选用SD 模式通讯就无形中增加了产品的硬件成本.在SD卡数据读写时间要求不是很严格的情况下, 选用 SPI模式可以说是一种最佳的解决方案 因为在 SPI模式下,通过四条线就可以…
点击打开链接 内容来自以下博客: http://blog.csdn.net/qianjin0703/article/details/5918041 Linux设备驱动子系统第二弹 - SD卡 (有介绍SD卡硬件)http://blog.csdn.net/wavemcu/article/details/7366852     linux2.6内核SD Card Driver详细解析之一http://blog.chinaunix.net/uid-147915-id-3063162.html     …
目录 一.SD卡概述 1.定义 2.容量等级 3.SD卡框图 4.SD卡与TF卡的区别 二. SD卡内部结构 1. SD卡内部结构简图 2. 存储阵列结构图 3.Buffer 4.“存储阵列Block”--最小的存储单元 5.SD卡的特殊功能寄存器 三.SDIO接口 四.SD卡协议的核心--数据读.写.擦除 1.SD卡写数据块 2.SD卡读数据块 3.擦除SD卡 五.SD卡物理层协议 1.接口 2.命令格式 3.响应格式 4.SD卡的工作状态 5.SD卡的两种状态信息 六.STM32与SD卡相配…
ESD静电放电模块 我知道的flash分为两种NOR flash和NAND flash,NOR falsh容量一般为1~16M用于单片机代码存储,NAND flash最小的是8M最大的现在听说有90G还可能更大,一般用在大容量存储方面. VGA芯片AD8367是AD公司推出的 镁光(Micron)身为世界第二大内存颗粒制造商,OWD22-D9LCQ  做DDR3用的. 三星的FLASH芯片NAND 容量的K9F1G08U00,配置STM32 ARM芯片用. 来源:http://blog.sina…
第36章     SDIO—SD卡读写测试 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege 本章参考资料:<STM32F4xx参考手册>.<STM32F4xx规格书>.库帮助文档<stm32f4xx_dsp_stdperiph_lib_um.chm>以及SD简易规格文件<Physical Layer Simplified Specificatio…
测试: 测试的相关概念 1.根据是否知道源代码分类: 黑盒测试: a - b - c 边值测试 测试逻辑业务 白盒测试: 根据源代码写测试方法 或者 测试用例; 2.根据测试的粒度分类: 方法测试:写完一个方法后就测试 单元测试:测试一个能够独立运行的业务逻辑单元; 集成测试:整体测试项目 联调 系统测试:对整个系统进行测试 3.根据测试的暴力程度: 冒烟测试:高频次的点击软件压力测试:使用测试工具:LoadRunner.Jmeter 单元测试Junit: eclipse中的单元测试步骤: 1.…
第36章     SDIO—SD卡读写测试 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege 本章参考资料:<STM32F4xx参考手册>.<STM32F4xx规格书>.库帮助文档<stm32f4xx_dsp_stdperiph_lib_um.chm>以及SD简易规格文件<Physical Layer Simplified Specificatio…
我最近搞了张Transcend WiFi SD,颇为得意.它可以让我在几秒钟内将单反(奶昔,相当便携)中拍摄的照片传到任何支持wifi的设备上.我很喜欢在旅途中拍摄和分享图片,所以对我而言,可以无线传输图片的SD卡是一个很好的解决方案.确实如此!(以后也是!).不过移动应用程序可以好好改进下(下载7MB的图像仅仅为了渲染?点击下载后还要重新下载一遍!谁能告诉我这是为什么?),但是,嘿,它能够完成任务! 这个小小的设备不仅可以存储16GB数据(还有32GB版本),而且还是一个嵌入式系统,能够运行应…
一场由SD卡引发的灾难   注:此文章转自“https://user.qzone.qq.com/63915185/blog/1512562541”.   Flash里面的数据在使用过程中莫名改变或不翼而飞?程序丢失可能无法正常运行,从而造成整个系统崩溃.Flash,说好的数据去哪了? 今天,笔者要为大家分享一个由SD引发的灾难,以及该灾难被我们项目组攻克的技术案例. 去年上半年,我们公司承接了某大型广告公司的电梯广告显示屏的项目,该产品使用了飞思卡尔的IMX6系列芯片作为主控CPU,具备媒体人机…
  注:此文章转自“https://user.qzone.qq.com/63915185/blog/1512562541”.   Flash里面的数据在使用过程中莫名改变或不翼而飞?程序丢失可能无法正常运行,从而造成整个系统崩溃.Flash,说好的数据去哪了? 今天,笔者要为大家分享一个由SD引发的灾难,以及该灾难被我们项目组攻克的技术案例. 去年上半年,我们公司承接了某大型广告公司的电梯广告显示屏的项目,该产品使用了飞思卡尔的IMX6系列芯片作为主控CPU,具备媒体人机触摸互动.媒体投放.远程…
了解STM32F103ZET是高容量多管脚的芯片 了解SD读写线路图 了解SD的基地址 阅读STM32F10xx英文参考 SDIO那章,我们编写代码边看文档解析 建工程,打开包含所有包括外设库函数的样本工程,然后留下如下的外设 官方给的E:\2018-9-3\stm32-奋斗者\STM32 官方库3.5版本\stm32f10x_stdperiph_lib35\STM32F10x_StdPeriph_Lib_V3.5.0\Utilities\STM32_EVAL\Common下的文件只是用于他们的…
这几天在FPGA调试与SD通信,读SD卡里的图片,之前接触32时没有去研究过SD卡,不太熟悉操作流程,在网上找了很多资料,也看了几个32开发板的资料,但大多数都讲得不是特别清楚,只能瞎操作了一番,在别人的代码做了修改,能初始化成功,但是读数据一直有问题,加上用Arria 10在Quartus下编译比较慢,下载验证也比较慢,调了好几天才调好,在此总结一下,读操作按照SD协议来,读单块发送CMD17,加扇区地址,加一字节FF如下: 发送读操作指令后,SD会有一字节00应答,这一点很重要,我在找资料过…
catalogue . ROM.RAM.DRAM.SRAM和FLASH的区别 . 内存工作原理 . DRAM基本结构与原理 . SD卡基本结构与原理 1. ROM.RAM.DRAM.SRAM和FLASH的区别 0x1: ROM ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,ROM也有很多种 . PROM是可编程的ROM: PROM是一次性的,也就是软件灌入后,就无法修改了,这种是早期的产品,现在已经不可能使用了 . EPROM(可擦除可编程ROM): EPR…
1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.example.demo1" /> 上面targetPackage指定的包要和应用的package相同. (2)在清单文件中ap…
本文转自:http://blog.csdn.net/mjx91282041/article/details/8904705 说明: MBR :Master Boot Record ( 主引导记录) DBR :DOS Boot Record ( 引导扇区) FAT :File Allocation Table ( 文件分配表) 硬件:本文SD卡为Kingston 4GB,FAT32格式,簇大小4KB,每扇区512字节. 第一章 硬盘结构与SD卡结构 1.1 硬盘介绍 1.1硬盘结构 如果你熟悉硬盘…
/*********************************************************************************** * * linux 3.5,U-Boot,Busybox,SD卡启动环境搭建 * * 声明: * 1. 本系列文档是在vim下编辑,请尽量是用vim来阅读,在其它编辑器下可能会 * 不对齐,从而影响阅读. * 2. 以下所有的shell命令都是在root权限下运行的; * 3. minicom(U-Boot)指的是用minico…
今天在公司我们队长问我个问题,关于cortex的sd启动流程和nandflash的启动流程,一下想不起来了,中午闲来无事就整理了整理当初6410的两种启动方式的区别.在这里写一下.有不对的请指点,我对Rom,Ram,Sram这些实在学不通. 1,sd卡启动6410 首先,sd卡启动0地址在Rom里面,上电后,程序从0地址开始执行,将sd卡的前8Kbootloader拷贝到Sram里面执行,这8Kbootloader会对进行一些设备的初始化,关闭看门狗,初始化nandflash,初始化时钟,初始化…
Android 开发时如何正确获取使用扩展存储路径 在 2.x 版本中,Android设备都是单存储,第三方App写文件,必须申请 WRITE_EXTERNAL_STORAGE 权限: 在4.0之后,Android设备开始有了内置闪存,即 primary storage,并且可以外置SD卡,即 secondary external storage device: WRITE_EXTERNAL_STORAGE 权限变成了仅仅控制 primary storage,同时引入了 WRITE_MEDIA_…
问题描述: TQ2440的官方裸跑程序中,对SD卡先进行读操作,然后再写,发现不能程序卡死.倘若对SD卡先写后读,程序可以正常运行,奇哉怪哉? 写数据的关键代码--> while(i < BlockSize) { //开始传递数据到缓冲区 status=rSDIFSTA; if((status&0x2000)==0x2000) { //如果发送FIFO可用,即FIFO未满 rSDIDAT = *TxBuffer; TxBuffer++; i++; } } 调试与问题分析: 调试的时候发…
一.声明 1.本文来源和主旨 2.本文测试环境 二.SD卡FAT文件系统 1.SD卡FAT32文件系统的整体布局 2.FAT文件系统简介 ① 文件分配表 ② 目录项 三.DBR(DOS BOOT RECORD,DOS引导记录) 1.DBR与BPB ① DBR ② BPB 2.DBR实例测试 3.DBR参数计算 四.FSINFO分区 五.文件分区FAT表 1.FAT表 2.FAT表例 六.数据区 1.目录项定义 <1> 短文件目录项的具体定义 <2> 长文件目录项的具体定义 2.目录…
原文网址:http://blog.chinaunix.net/uid-28685940-id-3889878.html /*************************************************************************************************************************************//* bus.c */ /* *  linux/drivers/mmc/core/bus.c * *  Cop…
说明: MBR :Master Boot Record ( 主引导记录) DBR :DOS Boot Record ( 引导扇区) FAT :File Allocation Table ( 文件分配表) 硬件:本文SD卡为Kingston 4GB,FAT32格式,簇大小4KB,每扇区512字节. 第一章 硬盘结构与SD卡结构 1.1 硬盘介绍 1.1硬盘结构 如果你熟悉硬盘结构跳过本节.下图是硬盘的结构,如果你只是为了学习SD卡FAT32文件系统的话,这里你只需要注意硬盘排序结构:主引导记录(M…
一.介绍 九鼎的S5PV210开发板,在出厂前已经默认刷了Android4.0系统.如果需要刷其它的系统或者是由于系统问题无法启动时,就需要对板子刷机. 其实,刷机是对210开发板的一个基础学习,目的是实践之前学过的系统启动过程,进一步的了解系统的启动过程,加深理解(uboot.kernel.rom). 二.准备工作 (1)工作平台:WIN8.1 (2)驱动工具:USB转串口.USB-OTG驱动. 1.USB转串口:我们使用的是优越者 usb转串口线.插在电脑上后,电脑会自动按安装驱动. 2.U…