随着sd卡的流行,sd卡在嵌入式设备上使用的场景也越来越多。那下面我们可以看一下,linux驱动框架上是怎么处理sd卡驱动的?...obj-$(CONFIG_MMC_S3C) += s3cmci.o 4、根据s3c阅读Kconfig,确认s3c下的sd卡还依赖哪些文件 config MMC_SDHCI_S3C tristate...If you have a board based on one of those and a MMC/SD slot, say Y or M here.....set_uhs_signaling = sdhci_set_uhs_signaling, }; 6 、从host角度来说,有了platform driver和上面的host driver,驱动流程就算搞清楚了...但是如果深入下去的话,还是需要好好读一下sd协议,这里面花的时间最多。 以上就是本文的全部内容,希望对大家的学习有所帮助。
芯片需要支持SD卡这种启动方式。...准备好u-boot.imx,dtb,zImage,rootfs压缩包 使用fdisk命令对sd卡分区 输入fdisk /dev/mmcblk0.按照提示输入相关选项进行操作。...可以看到我这张SD卡的相关信息,总容量为15931539456字节,31116288个sectors,即一个sector为512字节。.../mnt/mke2fs -F -L "rootfs" /dev/mmcblk0p2 else echo "错误: /dev下找不到 SD卡 rootfs分区" fi echo "正在烧写${Uboot...echo "卸载${PARTITION2}" execute "umount /tmp/rootfs" execute "rm -rf /tmp/rootfs" sync echo "SD卡启动系统烧写完成
一、 SD卡引脚接口功能介绍 1.1 SD卡引脚 目录 一、 SD卡引脚接口功能介绍 1.1 SD卡引脚接口图 1.2 SPI方式驱动SD卡介绍 1.3 开发板接口定义 二、MMC卡、SD卡介绍...1.2 SPI方式驱动SD卡介绍 SD卡的SPI通信接口使其可以通过SPI通道进行数据读写。...以下介绍SD卡的驱动方法,只实现简单的扇区读写。...1.3 开发板接口定义 根据当前所用开发板原理图为例,SD卡卡槽的接口与STM32 IO口对应如下: PC11 片选 SDCardCS PC12 时钟 SDCardSCLK PD2 输出 SPI_MOSI...MMC比SD卡要薄一些。 图2-1 MMC卡与SD卡 首先得从MMC卡的发展谈起。 MMC卡是由西门子设计,和SanDisk合作开发的小型存储卡标准。
SD卡由日本松下、东芝及美国 SanDisk公司于1999年8月共同开发研制。...SD卡在24mm×32mm×2.1mm的体积内结合了SanDisk快闪记忆卡控制与MLC(Multilevel Cell)技术和Toshiba(东芝)0.16u及0.13u的NAND技术,通过9针的接口界面与专门的驱动器相连接...SD卡与MMC卡保持着向上兼容,也就是说,MMC卡可以被新的SD设备存取,兼容性则取决于应用软件,但SD卡却不可以被MMC设备存取。 Mini SD MiniSD由松下和SanDisk共同开发。...Mini SD只有SD卡37%的大小,但是却拥有与SD存储卡一样的读写效能与大容量,并与标准SD卡完全兼容,通过附赠的SD转接卡还可当作一般SD卡使用 TF卡(Micro SD) 又称T-Flash...在1997年由西门子及SanDisk共同开发,技术基于东芝的NAND快闪记忆技术,因此较早期基于IntelNOR快闪记忆技术的记忆卡,例如CF卡更细小。
android/frameworks/base/core/java/android/os/storage/
摘要: 学习SD卡的相关规范,包括定义,硬件特性,数据传输,命令系统等。不涉及代码。 文章针对Linux驱动开发而写,以助于理解SD卡驱动,不会涉及过多硬件内容。 纲要: 1. SD卡介绍 2....SD卡硬件规范 3. SD卡指令规范 4. SD卡寄存器 1....SD卡介绍 1.1 各类型储存卡/接口 首先了解一下我们在SD卡驱动学习中会碰到的主要几个储存卡名词: SD:Security Digital Memory Card,新一代多媒体储存卡,高速,安全(但安全机制貌似很少用到...Linux驱动对SD卡做初始化会经过如下步骤: CMD0上电重置到idle状态(防止一些机型关机不掉电,如某些FPGA平台)->ACMD41获取SD卡支持的电压信息(还需要通过主机控制器设置电压)->CMD2...CID:卡信息:生产商,OEM,产品名,版本,出产日期,CRC校验(所有寄存器都有,下同),常用 RCA:卡地址:在初始化时发布,用于与host通信,0x0000表示与所有卡通信,常用 DSR:驱动相关
读取某个文件夹中的所有Apk文件路径并打开安装页面 读取某文件夹下的所有apk文件 获取SD卡跟目录中的某个文件 弹出安装界面 卸载apk /** * * @author Javen * */...} return fileNameList; } return null; } /** * 获取SD...卡跟目录中的某个文件 * @param context * @param uniqueName * @return */ public static File
本文实例讲述了Android开发之SD卡文件操作。分享给大家供大家参考,具体如下: 前面的文章中写过直接操作手机自带存储器的程序,这次就接着上次文章协议下对sd卡的文件操作。...与自带存储不同的是使用sd卡需要用户授权 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/ <uses-permission...void saveToSD(String filename,String content) throws Exception{ //getExternalStorageDirectory()可以取得sd...卡得状态作判断,取得状态可以使用Environment.getExternalStorageState(),如果可用才能保存文件,反之就提示“sd卡不存在或不可用” package org.lxh.file..." sd卡不存在或不可用</string </resources 到这里就可以对SD卡进行操作了,这次的东西比较少。
SD卡由日本松下、东芝及美国SanDisk公司于1999年8月共同开发研制。...SD卡一般支持SDIO和SPI俩种传输方式 注意:很大一部分TF卡(小卡)不支持SPI访问,用SPI方式最好使用大卡 SD卡的SDIO模式及SPI模式引脚的定义如下 SD...注意:仅SDIO模式下有,SPI模式下无RCA CSD 128 卡描述数据寄存器,提供SD卡操作条件相关信息和数据 SCR 64 SD配置寄存器,提供SD卡一些特定的数据。...适配器时钟SDIOCLK(用于驱动适配器来产生卡时钟,与所挂载的总线时钟相同)、总线时钟PCLK2(F1为HCLK2) SDIO_CK计算公式:SDIO_CK=SDIOCLK/(2+CLKDIV)...从SD卡初始化流程可知,不管什么卡(这里我们将卡分为4类:SD2.0高容量卡(SDHC,最大32G),SD2.0标准容量卡(SDSC,最大2G),SD1.x卡和MMC卡),首先我们要执行的是卡上电(设置
主机,也称为根,根结或根Hub,它做在主板上或作为适配卡安装在计算机上,主机包含有主控制器和根集线器(Root Hub),控制着USB总线上的数据和控制信息的流动,每个USB系统只能有一个根集线器,它连接在主控制器上...HID) 0x05 物理类 0x06 图像类 0x07 打印机类 0x08 大数据存储类 0x09 集线器类 0x0A CDC数据类 0x0B 智能卡类...四、 linux内核下USB相关的API函数与数据结构 前面介绍了USB相关一些基础概念与重要的数据结构,接下来就分析在linux内核中如何编写一个USB 驱动程序,编写与一个USB设备驱动程序的方法和其他总线驱动方式类似...(中断传输方式) 5.1 USB驱动注册框架代码 #include #include #include /*...#include /* 本程序为USB鼠标驱动程序,要安装本驱动,需要先将内核自带的USB驱动程序卸载掉 */ //定义USB的IDTAB 24ae:2002 static
partition table w write table to disk and exit x extra functionality (experts only) 输入p查看当前sd...卡的分区(partition)信息 Command (m for help): p Disk /dev/sdb: 7948 MB, 7948206080 bytes 245 heads, 62 sectors...1048576 523264+ c W95 FAT32 (LBA) /dev/sdb2 1048577 15523839 7237631+ 83 Linux...同时也留意他的heads和setcors/track 删除分区 ---- 输入d删除(delete)所有sd卡分区。...输入w将建立完成对分区表写入sd卡,并退出 Command (m for help): w The partition table has been altered!
virt_to_phys :物理地址 4.7 示例代码 (1) 驱动代码示例 #include #include #include <...帧缓冲驱动代码 #include #include #include #include...4)OLED屏开发了两种接口的 Demo 板,接口分别为七针的 SPI/IIC 兼容模块,四针的IIC 模块。...0.96 寸 OLED屏外观 6.2 OLED驱动代码示例 #include #include #include <linux/miscdevice.h...u8 y,u8 c); static void OLED_RefreshGRAM(void); /* 函数功能: OLED对应的GPIO口初始化 硬件连接: OLED模块---Tiny4412开发板
块设备是与字符设备并列的概念, 这两类设备在 Linux 中驱动的结构有较大差异,总体而言, 块设备驱动比字符设备驱动要复杂得多,在 I/O 操作上表现出极大的不同,缓冲、 I/O 调度、请求队列等都是与块设备驱动相关的概念...在Linux中,驱动对块设备的输入或输出(I/O)操作,都会向块设备发出一个请求,在驱动中用request结构体描述。...unsigned char SD_Type=0; //存放SD卡的类型 /* 函数功能:SD卡底层接口,通过SPI时序向SD卡读写一个字节 函数参数:data是要写入的数据 返 回 值:读到的数据...检测SD卡大小*/ sd_size=GetSDCardSectorCount(); //检测SD卡大小,返回值右移11位得到以M为单位的容量 printk("SD卡Sizeof:%dM secnt...unsigned char SD_Type=0; //存放SD卡的类型 /* 函数功能:SD卡底层接口,通过SPI时序向SD卡读写一个字节 函数参数:data是要写入的数据 返 回 值:读到的数据
大家好,又见面了,我是全栈君 SD卡的读写是我们在开发Android 应用程序过程中最常见的操作。下面介绍SD卡的读写操作方式: 1....在SD卡上创建文件夹目录 /** * 在SD卡上创建目录 */ public File createDirOnSDCard(String dir) { File dirFile...在SD卡上创建文件 /** * 在SD卡上创建文件 */ public File createFileOnSDCard(String fileName, String dir) throws...卡的某个目录 /** * 判断SD卡上文件是否存在 */ public boolean isFileExist(String fileName, String path) {...卡指定目录文件 // 何问起 hovertree.com /* 写入数据到SD卡中 */ public File writeData2SDCard(String path, String
(吉田義人) 首先得从MMC卡的发展谈起。 MMC卡是由西门子设计,和SanDisk合作开发的小型存储卡标准。...図2:MMC和SD卡的比较 MMCに比べて、SDカードは端子が多く、より高速なデータ転送に対応している 厚みもSDカードのほうが大きいが、SDカードスロットにはMMCも挿入することができる 以MMC...SD卡的表面积和MMC卡是相同大小的,但是厚度比1.4毫米的MMC增大了0.7毫米,变成2.1毫米。 然而,SD卡的左右部分和MMC卡的厚度一样的,为1.4毫米,所以MMC卡可以直接插入SD卡插槽。...(相反,SD卡不能插入MMC卡插槽) 接口的规格也是在MMC卡的管脚排列基础上添加的两条信号线到两侧,传输方法因为和MMC相兼容,也可以从SD卡host访问到MMC。...SD卡的版权保护机制用到的松下和东芝倡导的是CPRM(内容保护可记录媒体)。
4位,因此最大传输速率是12.5MHz(12.5兆字节每秒) TF卡即是T-Flash卡,又叫micro SD卡,即微型SD卡。...TF卡插入适配器(adapter)可以转换成SD卡,但SD卡一般无法转换成TF卡。sd卡上有一个(lock)开关,即写保护开关,TF卡没有。...eMMC的一个明显优势是在封装中集成了一个控制器,它提供标准接口并管理闪存,使得手机厂商就能专注于产品开发的其它部分,并缩短向市场推出产品的时间。...SDIO协议是由SD卡的协议演化升级而来的,很多地方保留了SD卡的读写协议,同时SDIO协议又在SD卡协议之上添加了CMD52和CMD53命令。...SD卡和Micro SD(TF)卡的管脚定义 引脚号 SD卡 TF卡(SD模式) TF卡(SPI模式) 1 Data3 Data2 Rsv 2 Cmd Data3 Cs 3 Vss
# ifup eth0 //开启eth0网卡 # ifdown eth0 //关闭eth0网卡 二、查看内核已经支持的网卡驱动 进入到内核配置菜单目录下: [root@wbyq linux...2302/25A1 based cables MosChip MCS7830 based Ethernet adapters 三、移植ENC28J60网卡驱动...ENC28J60网卡源码就存放在: /linux-3.5/drivers/net/ethernet/microchip目录下 [root@wbyq microchip]# pwd /work/Tiny4412.../选中SP0总线支持*/ (使用的测试开发板是友善之臂的Tiny4412开发板) 因为开发板引出的SPI接口只有SPI0,所以只能配置SPI0总线。 1....修改SPI0总线板级注册信息 打开开发板底层板级配置文件: [root@wbyq linux-3.5]# vim arch/arm/mach-exynos/mach-tiny4412.c +1449 2
杂项设备注册函数 这篇文章介绍,如何使用杂项设备框架编写一个简单的按键驱动,完成编写、编译、安装、测试等流程,了解一个杂项字符设备驱动的开发流程。...2.1 按键驱动源代码 #include #include #include #include <linux...open=tiny4412_open, .read=tiny4412_read, .write=tiny4412_write, .release=tiny4412_release }; /* Linux...KER_DRI=/home/wbyq/work/linux-3.5/linux-3.5 all: make -C $(KER_DRI) M=`pwd` modules cp *.ko /home/wbyq.../work/rootfs/code -f make -C $(KER_DRI) M=`pwd` modules clean arm-linux-gcc app.c -o app cp app /home
祈雨蓝: 没有限制 另外对应着 SD卡上也有一个文件夹 /Android/data/包名,这个文件夹也是用来给程序放应用数据的,此文件夹读写在4.4及以后不需要外置储存区读写权限。...至于直接在sdcard下随便建文件夹的 就是开发人员素质低 或者 产品用耍流氓的方式筛选用户 处理方式: 卸载+一星 /*****************************************...卡不需要权限,有很大的安全隐患,4.0以后的有权限,在设置里面开发者选项,对sd卡进行读写保护。...添加权限 android.primission.READ_EXTERNAL_STORAGE 判断sd卡是否存在调用Evevironment.getExternalStorageState(),得到结果与...Environment.MEDIA_MOUNTED比较,sd卡挂载,Environment.getExternalStorageDirectory()可以得到sd卡根路径 业务类修改: package
选择demo 该示例显示了如何记录来自三个模拟传感器的数据 使用SD库将其复制到SD卡。...电路: 模拟输入0、1和2上的模拟传感器 SD卡连接到SPI总线的方法如下: ** MOSI-引脚11 ** MISO-针脚12 ** CLK-针脚13 ** CS-针脚...NodeMCU的SPI(注意与HSPI区分)引脚(SD0-SD3、CLK、CMD)专门用于与ESP-12E的外接flash芯片进行Quad-SPI通信,因此不能用于SPI应用。...如果在调用SPI.begin()之前调用SPI.pins(6,7,8,0),那么引脚映射就会变成MOSI-SD1,MISO-SD0,SCLK-CLK,HWCS-GPIO0。...找到根源,下篇文章进行SD的监测与读写
领取专属 10元无门槛券
手把手带您无忧上云