哪些 SD(或 microSD)卡与我的主机设备兼容?
如何为我的主机设备选择最好的卡?
SD 存储卡系列主要分为三种类型:SD、SD 高容量 (SDHC™) 和 SD 扩展容量 (SDXC™)。 本文详细介绍了所有三种类型的 SD 存储卡的不同规格,以及每种类型不同的速度等级额定值和兼容性。
SD:
SD卡
容量:从 128MB 到 2GB
默认格式:FAT16
适用范围:所有支持 SD、SDHC 或 SDXC 的主机设备
SD 高容量 (SDHC™)
SDHC卡
基于 SDA 2.0 规范的 SD™ 存储卡。
容量:从 4GB 到 32GB
默认格式:FAT32
由于 SDHC 与标准 SD 卡的工作方式不同,因此此格式不向后兼容仅使用 SD (128MB - 2GB) 卡的主机设备。
2008 年之后制造的大多数阅读器和主机设备都应该兼容 SDHC。
为确保兼容性,请在卡和主机设备(相机、摄像机等)上查找 SDHC 徽标
SD 扩展容量 (SDXC™)
SDXC卡
基于 SDA 3.0 规范的 SD™ 存储卡。
容量 :64GB 到 2TB
默认格式:exFAT
由于 SDXC 使用称为 exFAT 的不同文件系统,并且其工作方式与标准 SD 卡不同,
因此此格式不向后兼容仅使用 SD(128MB 至 2GB)的主机设备或仅使用 SDHC(4GB 至 32GB)的主机设备。
2010 年之后构建的大多数主机设备都应该与 SDXC 兼容。
为确保兼容性,请在卡和主机设备(相机、摄像机等)上查找 SDXC 徽标。
注意:2008 年之前笔记本电脑上的内置读卡器可能不支持 SDXC 卡。
如果计算机操作系统支持 exFAT,SDXC 卡将在 SDHC 兼容读卡器(不是 SD 读卡器)中工作。
SD/SDHC/SDXC兼容性从硬件接口来看,遵循SDA 1.x spec的SD卡以及读卡器,遵循2.x spec的SDHC卡以及读卡器,遵循2.x spec的SDXC卡以及读卡器有9种组合情况。
SD卡及读卡器的兼容性分析
从上表来看,仅从SD卡的接口协议而言,不管是支持什么类型协议的读卡器和SD卡,它们之间总能自动协商出能相互通信的协议,使得SD卡被识别。
但是,当考虑到SD卡的上层文件的文件系统类型时,SD卡特别是SDXC卡会存在不被识别的情况,这就是什么原因呢?
exFAT文件系统的SD卡不被识别的原因exFAT(Extended File Allocation Table File System,扩展FAT,即扩展文件分配表)是Microsoft引入的一种适合于闪存的文件系统,为了解决FAT32等不支持4G及其更大的文件而推出。
windows系统都支持exFAT的文件系统,可以通过其格式化的工作能将SDXC卡格式化为exFAT文件系统。
但是由于系统限制,windows操作系统不支持将容量超过32GB的SDXC卡格式化为FAT32的文件系统。
问题在于,5.7版本之前的linux内核不支持exFAT文件系统,需要开发者自己移植。
所以,当文件系统为exFAT格式的SDXC卡插入到不支持exFAT文件系统的linux嵌入式设备时,该SDXC卡不被识别,不能使用。
存在的问题当用户从网上买了容量超过32GB,默认文件系统为exFAT的SDXC卡,插入到不支持exFAT文件系统的linux嵌入式设备,设备识别不到卡。
根据说明书,他了解到设备只支持FAT32的文件系统,于是他把卡插入到windows操作系统的个人电脑,准备格式化时发现windows只支持将SD卡格式化为NTFS或者FAT32的格式。
这样折腾下来,客户不免对产品产生的抱怨。
解决方案为了解决客户使用SDXC卡的痛点,使用linux5.7版本之前的嵌入式设备需要移植 exFAT的源码。
但是,exFAT是完全免费的吗?
2019 年 8 月下旬,微软向公众发布了 exFAT 规范,并宣布最终将 exFAT 支持纳入 Linux 内核。
此举将有助于使 exFAT 生态系统更加强大和统一,同时确保其在未来几年成为事实上的市场标准。
在考虑“免费”使用 exFAT 时,该公告给 OEM 社区中的许多人带来了开源自由的感觉。
实际上,这背面还隐藏了一些坑,有以下几个问题:
1. Microsoft exFAT 知识产权 (IP) 如何受到保护?
exFAT IP 受 Microsoft 拥有的多项专利保护,这些专利在未来几年内有效。
2. 如何在不向微软支付任何专利费的情况下在 Linux 中使用 exFAT?
Microsoft 是Open Innovation Network (OIN) 的成员。
该成员资格为所有 OIN 成员提供了防御性专利承诺。
因此,如果制造商 是 OIN 的成员,那么他们使用 exFAT 不需要向 Microsoft 支付专利费。
3. 就 exFAT 专利而言,OIN 成员资格是否涵盖 Linux(内核 5.7 或更高版本)以外的任何内容?
不可以。OIN 的防御性专利承诺仅适用于 OIN 许可协议中定义的 Linux 系统。
OIN 的防御性专利承诺不涵盖在任何其他操作系统或内核下使用 exFAT。
4. Linux可以免费使用 exFAT吗?
重要的是要了解 exFAT 只能用作 Linux Kernel 5.7 及更高版本中的实现。
exFAT 的其他实现(例如,外部 exFAT 驱动程序,或将 5.7 内核代码改造为早期版本的 Linux 内核)将需要与 Microsoft 就 exFAT IP 达成协议,该协议受专利保护。
5、exFAT可以在Kernel 5.7之前的任何Linux版本下免费使用吗?
不可以。Microsoft 仅认可从 Linux Kernel 5.7 开始在 Linux Kernel 中使用 exFAT 实现代码。 在任何早期版本的 Linux 中使用仍必须支付 exFAT 版税或者加入OIN免费使用。
6. Open Innovation Network (OIN) 成员有哪些义务?
除了各种其他义务外,OIN 许可协议第 1.2 条要求每个 OIN 成员及其附属公司“向每个被许可方及其在资格日期为子公司的子公司授予免版税、全球范围内、非排他性、不可转让根据您的专利许可制作、已经制作、使用、导入和分发任何 Linux 系统。”
OIN 会员资格在交换条件的基础上提供防御性专利承诺——OIN 会员必须免费向整个开源社区提供其专利组合。
大多数 OEM 更愿意从 Microsoft 或授权的 Microsoft 合作伙伴(例如 Paragon Software)获得 Microsoft exFAT 技术的适当许可,而不是将其宝贵的 IP 专利免费提供给整个 OIN 社区和潜在竞争对手。
7. 涵盖 Linux 内核中包含 exFAT 的 GPL v2 许可证与其在 exFAT 技术方面的继任者 GPL v3 之间的根本区别是什么?
GPL v3 包含明确的专利许可,而 GPL v2 没有。这就是为什么通过Open Innovation Network (OIN) 的相互防御专利承诺,可以在 GPL v2 许可下“无专利”地使用 exFAT 技术。
这一区别清楚地表明了微软打算将其 exFAT 技术的“无专利”使用仅限于 OIN 成员并严格遵守 GPL v2 许可。
8. GPL v2 许可对 OEM 制造商有何影响?
OEM 更愿意避免使用 GPL 软件和组件,这些软件和组件通常需要修改以使最终产品针对稳定性、大小、内存使用和性能进行优化。 GPL 要求发布对原始 Linux 代码所做的任何更改(即发布到开源社区),以防进一步分发——当 OEM 产品与 GPL 软件和组件一起分发时,情况总是如此。
OEM 避免使用 GPL 代码的原因:
他们的竞争对手可能直接从他们的代码更改和优化中受益,这些更改和优化必须公开;
服务 GPL/开源社区请求是一个合法的过程,它需要来自 OEM 的高质量(即昂贵的)法律资源。
9. 提交到 Linux 内核以实现 exFAT 支持的开源代码是否由 Microsoft 开发或以任何方式认可或批准?
提交到 Linux 内核的代码最初是由开源社区的爱好者开发的——它不是由 Microsoft 开发、测试、批准或认可的,并且在代码质量方面与 Microsoft 没有任何其他关系。
本文来自盈盈一水间投稿,不代表美啦巴巴立场,如若转载,请注明出处:https://www.meila8.com/3/3873.html