sd存储卡

SD协议及其实现

眉间皱痕 提交于 2020-01-28 04:42:42
#硬件规格 1、存储容量 标准容量SD 卡:最高达到2GB 大容量SD存储卡(SDHC): 大于2GB、不大于32GB 超大容量SD存储卡(SDXC):大于32GB、不大于2TB 2、电压范围 高电压SD 卡-工作电压范围:2.7 -3.6V 双电压SD 卡-工作电压范围:低电范围(T.B.D) 和2.7-3.6V 3、SD 卡形状 标准尺寸的SD 卡 Mini SD 卡 Micro SD 卡 4、读写属性 读写卡(闪存,一次可编程-OTP,多次可编程-MTP) 只读卡(ROM) 5、速度等级 Class 0 – 这种卡不定义具体性能,代表了这个规范出来之前的所有卡 Class 2 – 最小2MB/s 的性能 Class 4 – 最小4MB/s 的性能 Class 6 – 最小6MB/s 的性能 Class 8 – 最小8MB/s 的性能 Class 10 – 最小10MB/s 的性能 6、总线拓扑 SD 总线 建议每个SD卡使用单独的SD总线 CLK: 时钟信号 CMD: 双向命令/响应信号 DAT0-DAT3: 双向数据信号 Vdd,Vss1,Vss2: 电源和地信号 SD 总线允许数据线的动态配置。上电后SD卡默认使用DAT0 来传输数据。初始化之后,主机可以改变总线宽度(使用的数据线数目)。 注意:当DAT1-DAT3 没有使用的时候,相关的主机DAT

uboot学习之uboot启动流程简述

情到浓时终转凉″ 提交于 2019-12-30 02:32:14
一、uboot启动分为了三个阶段BL0、BL1、BL2; BL0 表示上电后运行ROM中固化的一段程序,其中ROM中的程序是厂家写进去的,所以具体功能可能根据厂家芯片而有所不同。功能如下: 初始化系统时钟、特殊设备的控制器、启动设备、看门狗、堆栈、SRAM等硬件; 验证B1镜像,并且加载BL1镜像到SRAM中,然后跳转到BL1镜像的地址上。 BL0需要将BL1加载到对应的RAM上,这就涉及到它的启动模式,详细如下: 1.OneNand Boot模式 要了解OneNAND先得了解NOR Flash和NAND Flash。与NOR Flash相比,NAND Flash的读数据速度稍慢,但是擦写速度快得多,并且在容量、使用寿命、成本上也占有较大优势。NOR Flash的编程简单,而NAND Flash的编程较为复杂(因为它的flash管理需要特殊的接口)。NAND Flash一般用于存储数据,而NOR Flash一般用于存储启动代码。 NOR Flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内容的每一字节(有限的地址引脚是限制其容量的因素之一)。NAND Flash使用复杂的I/O口来串行地存取数据,各个产品或厂商的方法可能各不相同。为了弥补NAND Flash的不足,三星公司在NAND Flash芯片内集成了一个RAM接口,命名为OneNAND Flash

如何区分手机内置存储卡与外置存储卡

﹥>﹥吖頭↗ 提交于 2019-12-09 10:36:28
android系统自从升级到2.3以后,多一个功能,可以判断存储卡是否是可以卸载的。Environment.isExternalStorageRemovable(),通过此方法我们可以知道手机上的存储卡是手机自带的还是外边可插拔的SD卡,当然此种情况是指只有一个卡的情况。 但是现在国内的大多数手机都支持双存储卡: 1、即手机内置的有2G、4G或8G的内部存储卡,默认安装的应用与数据都会到这个卡中,用户不买可插拔的SD卡,也可使用。 2、手机的存储空间毕竟有限,所以手机也支持外置的SD卡,或者叫TF卡、扩展卡等。 那么这时候问题就来了,在程序中我们如何可以判断哪个路径对应的是内置存储卡,哪个对应的是外置存储卡。有人说用Environment.getExternalStorageDirectory()方法得到不就是SD卡吗,这种方法明显不适用的,尤其在4.0以后。 恰恰相反,使用上面的方法得到的大多数是手机内部对应的SD卡(/mnt/sdcard 4.1系统以下,4.1直接变为/storage/sdcard0),下面我总结了一些较常见的外部SD卡的路径: /mnt/sdcard2 /mnt/sdcard-ext /mnt/ext_sdcard /mnt/sdcard/SD_CARD /mnt/sdcard/extra_sd /mnt/extrasd_bind /mnt/sdcard

关于Android手机获取SD卡路径的问题

自闭症网瘾萝莉.ら 提交于 2019-12-05 17:52:46
在开发的时候经常会使用到SD卡,比如图片缓存等需要大的存储空间的时候,Android中获取SD卡的接口只有一个 String path= Environment.getExternalStorageDirectory().getAbsolutePath(); 从接口的命名上来看是获取外置的SD卡,从国内手机的发展来看,原来手机本身存储小,都会外置一个SD卡,通过上面的接口获取外置SD卡的路径很容易理解,同时由于SD卡是可插拔的,所以又有了下面的这个接口 String state = Environment.getExternalStorageState(); //是否挂载 boolean result = state.equals(Environment.MEDIA_MOUNTED) 但是现在的手机基本上都没有外置的SD卡了,那么现在的手机通过上面的接口获取到内置存储的路径一般是 /storage/emulated/0 ,那么这个时候判断SD卡是否挂载的接口好像就没什么用了,鉴于上面的两种情况,我们在使用SD卡的时候要怎么做判断呢,那么有没有什么判断来判断一个手机有没有外置的SD卡呢,我发现了下面这个接口: boolean isRemove = Environment.isExternalStorageRemovable(); 这个接口的意思很明确了,就是判断外齿存储卡可不可移除

如何区分手机内置存储卡与外置存储卡

你说的曾经没有我的故事 提交于 2019-12-05 17:50:02
android系统自从升级到2.3以后,多一个功能,可以判断存储卡是否是可以卸载的。Environment.isExternalStorageRemovable(),通过此方法我们可以知道手机上的存储卡是手机自带的还是外边可插拔的SD卡,当然此种情况是指只有一个卡的情况。 但是现在国内的大多数手机都支持双存储卡: 1、即手机内置的有2G、4G或8G的内部存储卡,默认安装的应用与数据都会到这个卡中,用户不买可插拔的SD卡,也可使用。 2、手机的存储空间毕竟有限,所以手机也支持外置的SD卡,或者叫TF卡、扩展卡等。 那么这时候问题就来了,在程序中我们如何可以判断哪个路径对应的是内置存储卡,哪个对应的是外置存储卡。有人说用Environment.getExternalStorageDirectory()方法得到不就是SD卡吗,这种方法明显不适用的,尤其在4.0以后。 恰恰相反,使用上面的方法得到的大多数是手机内部对应的SD卡(/mnt/sdcard 4.1系统以下,4.1直接变为/storage/sdcard0), 下面我总结了一些较常见的外部SD卡的路径: /mnt/sdcard2 /mnt/sdcard-ext /mnt/ext_sdcard /mnt/sdcard/SD_CARD /mnt/sdcard/extra_sd /mnt/extrasd_bind /mnt/sdcard

Android6.0如何判断有无外置SD卡(TF卡),并读写

房东的猫 提交于 2019-12-05 17:41:34
  安卓6.0已经发布一段时间了,不过安卓6.0的新特性仍在发掘中。现在,又有一个有趣的新特性被发现了——安卓6.0可以把microSD卡也就是TF卡,作为设备的内置存储使用。这个新特性之所以被发现得晚,大概是由于能够率先升级安卓6.0的Nexus设备不支持TF卡扩展吧。 在之前,安卓系统虽然可以支持TF卡扩展,但TF卡扩展的容量只能当成外置存储。虽然用户可以把照片、音乐等内容放进去,但App不能安装到其中。在安卓6.0中,当首次插入TF卡的时候,系统会询问会将TF卡作为外置还是内置储存。如果选择作为内置存储,系统则会对TF卡格式化并加密——注意,这会丢失数据!然后,TF卡的容量就和设备的内置存储融合了。   一般来说,设备的内置存储速度会比TF卡快上不少,稳定性也更高,因此如果不是容量特别紧张,并不建议把TF当成内置储存植入。同时,市面上支持TF卡扩展的安卓设备也越来越少,安卓6.0的这个新特性也许会遭到冷遇。 Android手机上的外置SD卡,起初的时候,即在Android出世的前几年,那时手机的存储是十分有限的,不像现在到处可见16G、32G和64G的存储,因而那时候的手机有的厂商允许插入外置的SD卡,此时这张卡仍处于手机的扩展部分。后来,随着手机的发展以及存储能力的增加,这张外置SD卡,逐渐成为了手机的一部分,不再允许可插拔了,当然现在依然有的手机允许对存储进行拓展

析:自定义适配器实现Grid View和Gallery碰到到问题。

僤鯓⒐⒋嵵緔 提交于 2019-12-04 06:22:56
在: http://www.oschina.net/code/snippet_151287_9426 上学习grid view,不过做学习代码到过程中碰到一下问题: 1.运行起来之后,APP会异常结束; 2.copy数据到模拟终端到sdcard中; 问题1.运行起应用程序之后, 点击两种模式,都会出现应用程序异常退出到问题。debug发现: File file=new File(path); 通过path new出来到file是访问是空指针,也就回出现空指针异常。 通过咨询原作者说明,那是访问图片在Sdcard中图片到位置。 参考当前到情况,我并没有在模拟器并没有sdcard卡,所以sdcard也没有任何东西。所以会出现上面到问题。 下面新到问题就出现了: 1-1)如果增加sdcard卡到模拟器; 1-2)如何copy 图片等信息到模拟到模拟器; 不论是听MP3音乐或是浏览图片,Android手机的保存媒介就是常用的Micro SD存储卡。若想在Android仿真器播放音乐或者看数位相片,就必须先仿真出SD存储卡,并让Android仿真器能够访问仿真出来的SD存储卡。Android SDK组件的tools目录里,除了emulator这个运行文件外,另外放置mksdcard这个程序,它可以仿真出您所需要的SD存储卡空间,例如使用mksdcard指令仿真出1 GB的存储卡,指令如下: