SD卡学习笔记
最近调试了SD卡,遇到了一些小问题,记录一下,分享一下。
1. SD卡 卡槽旁边的一个小开关
我们平时见过的SD卡都是小的SD卡,可以放在手机上的。现在大多数的开发板上也是小的SD卡的卡槽,插入后,正好可以使用。但是如果想要用PC向里存储一定的东西,还是需要一个读卡器。读卡器有USB型的,同时也有一个大大的SD卡卡槽,就是扩展成为一个大的SD卡。大的SD卡在笔记本上有专门的插槽(笔者的有)。但是在SD卡卡槽的一侧有一个小的开关,这个小的开关是一个写保护开关。一般情况下,以金属接触点向上为正方向。向上推,是可读写。向下推是,是只读。这个在某些U盘上也有。
如果PC写不进去,说是被写保护。先不要怀疑SD卡(U盘)坏了,首先考虑这个硬件写保护。
原理是:这个开关是一个机械性的开关,如果里面两个金属触点接触,就可以写。否则,不能写。
2. SD卡的区分
SD,SDHC,SDXC这三个都是SD卡,以容量区分。在进行地址读写,有一定的区别。
SD卡,按照字节地址去写(一般情况)。SDHC,SDXC卡,按照扇区地址进行读写(一般情况)。按照扇区还是字节地址和驱动协议也有一定的关系。
一个扇区的大小为512字节。
3. SD的扇区读写地址
我们可以用控制器进行读写SD卡,地址就是按照自己的设计就可以。
很多时候,我们需要用PC将一些数据放入到SD卡,然后通过控制器进行读取。读取时,需要知道数据存储的地址。利用winhex软件可以查到数据存放的地址。我们用控制器进行读写SD卡,利用winhex软件查到的地址,有时读出来的数据不正确。
经过不断的查找资料,发现利用winhxe软件查询数据存放地址时,可以有两个地址:物理地址和逻辑地址。winhex软件直接显示的逻辑地址。
控制器直接进行SD卡读写时,是按照物理地址进行读写的。所以需要利用winhex中的逻辑地址。
winhex显示逻辑地址一般在winhex软件的右下侧。
希望对遇到同样问题的学习者有用,有什么不对的地方,恳请大佬们指出。
奋斗的小孩郝旭帅:18500739518(QQ、微信)。 交流群:173560979
SD卡学习笔记的更多相关文章
- ID卡学习笔记
前言: 我也来篇关于当时学习ID卡的笔记.前段时间小区装门禁.一个钮扣型的ID卡就要30块.非常黑心.因为其ID卡的成本也就是1块钱以下.因此我也加入到这方面的研究.用来模拟ID卡的T5557卡成本2 ...
- 转 Android:文件下载和写入SD卡学习小结
转自 http://blog.csdn.net/zzp_403184692/article/details/8160739 一.文件下载 Android开发中,有时需要从网上下载一些资源以供用户使 ...
- [SD卡] FPGA笔记之SD卡
1.数据怎么存进去的? 其中的sd_miso就是接收的1位数据,n个时钟下就收到n个数据,比如n=21. 2.如何做到先发送高位?
- android学习笔记47——读写SD卡上的文件
读写SD卡上的文件 通过Context的openFileInput.openFileOutput来打开文件输入流.输出流时,程序打开的都是应用程序的数据文件夹里的文件,其存储的文件大小可能都比较有限- ...
- Android(java)学习笔记183:判断SD卡状态和存储空间大小
当我们在使用SD卡时候,如果我们想往SD卡里读写数据,我们必须在这之前进行一个逻辑判断,那就是判断SD卡状态和SD存储空间大小: 核心代码: String status = Environment.g ...
- Android(java)学习笔记182:保存数据到SD卡 (附加:保存数据到内存)
1. 如果我们要想读写数据到SD卡中,首先必须知道SD的路径: File file = new File(Environment.getExternalStorageDirectory()," ...
- Android(java)学习笔记126:判断SD卡状态和SD卡容量
1. 判断SD卡状态和SD卡存储空间大小 当我们在使用SD卡时候,如果我们想往SD卡里读写数据,我们必须在这之前进行一个逻辑判断,那就是判断SD卡状态和SD存储空间大小: 核心代码: String s ...
- Android(java)学习笔记125:保存数据到SD卡 (附加:保存数据到内存)
1. 如果我们要想读写数据到SD卡中,首先必须知道SD的路径: File file = new File(Environment.getExternalStorageDirectory()," ...
- Android学习笔记-获取手机内存,SD卡存储空间。
前面介绍到如何保存数据到手机内存或者SD卡,但是问题是,在保存以前,我们还需要对他们的空间(可用空间),进行判断,才可以进行后续操作,所以,本节我们就介绍如何获取手机内存以及Sd卡的空间. //这时获 ...
随机推荐
- Go pprof性能调优
在计算机性能调试领域里,profiling 是指对应用程序的画像,画像就是应用程序使用 CPU 和内存的情况. Go语言是一个对性能特别看重的语言,因此语言中自带了 profiling 的库,这篇文章 ...
- Spring Boot2 系列教程(五)Spring Boot中的 yaml 配置
搞 Spring Boot 的小伙伴都知道,Spring Boot 中的配置文件有两种格式,properties 或者 yaml,一般情况下,两者可以随意使用,选择自己顺手的就行了,那么这两者完全一样 ...
- python+selenium调用chrome打开网址获取内容
目录 1,安装selenium和配置chromedriver 2,调用chromedriver打开网页获取网页内容 3,模拟登陆百度云 附录(webdriver版本兼容列表) 通过selenium库, ...
- apache ignite系列(一): 简介
apache-ignite简介(一) 1,简介 ignite是分布式内存网格的一种实现,其基于java平台,具有可持久化,分布式事务,分布式计算等特点,此外还支持丰富的键值存储以及SQL语法(基于 ...
- Swoole入门到实战 打造高性能 赛事直播平台(完整版)
Thinkphp+Swoole入门到实战打造高性能赛事直播平台 第1章 课程介绍 欢迎大家来到swoole的课程!本章主要是介绍了swoole的一些特性,以及使用场景,并且分享了swoole在其他公司 ...
- Win10家庭版安装Docker
1.下载Docker Toolbox 下载地址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/ 2.安装Docker ...
- Day 22 进程管理2之系统的平均负载
1.管理进程状态 当程序运行为进程后,如果希望停止进程,怎么办呢? 那么此时我们可以使用linux的kill命令对进程发送关闭信号.当然除了kill.还有killall,pkill 1.使用kill ...
- LeetCode 430. Faltten a Multilevel Doubly Linked List
题目链接:LeetCode 430. Faltten a Multilevel Doubly Linked List class Node { public: int val = NULL; Node ...
- demo演示如何写一个无配置格式统一的日志
一.背景 大量项目在使用logback记日志,有部分项目使用日志混乱,格式不统一,多数人搞不懂配置文件,导致配置错误,现在需要开发一套统一的.少配置的日志组件,方便使用. 二.设计思路 尽量采用0配置 ...
- 从壹开始学习 NetCore 新篇章 ║ Blog.Core 开发社之招募计划书
宫 哈喽大家好,国庆马上就要来了,在新的第四季度来临之际,祝大家年末能顺顺利利,解决所有的难题.大家可能从我的标题里也能看的出来,老张又要耍花样,搞事情了,近来随着 netcore 3.0 的正式推出 ...