SD协议栈
文章平均质量分 95
笔者学习sd的学习记录
十了个三
小白
展开
-
SylixOS的SD协议栈(SD总线下的SD存储设备)
1.内容简介SD设备包括SD存储设备和SDIO设备两种。SD设备一般支持SD总线接口和SPI总线接口两种工作方式,两者的硬件接口不同,如图 1-1所示。图 1-1 SD硬件接口本文目前涵盖的内容如下:SD存储设备。SD设备的SD总线接口。2.原理概述2.1 SD 协议栈功能SD协议栈负责SD设备驱动管理,创建、删除设备节点,实现传输、控制等功能。2.2 SD 协议栈框架图 2-1 SD协议栈结构 SD协议栈的结构如图 2-1所示,分为三个层次,各个层次独立实现各自的功能转载 2021-01-08 14:20:54 · 415 阅读 · 1 评论 -
SylixOS SD协议栈之五:SDM驱动管理
1. SDM的主要功能上一篇说道,SD Core设备主要是封装了底层的细节,为应用层提供唯一的传输接口。SDM,即SD Driver Management,是用来管理SD协议栈里的驱动的,包括硬件控制器驱动和设备类驱动(这与USB协议栈的设计非常类似),以此将两者隔离开来。SDM的功能主要有以下几点:对上,提供Client层驱动注册的接口,包括SD 基础驱动和 SDIO子设备驱动对下,提供Host层驱动信息注册的接口,这些信息一部分是应用驱动需要的,比如控制器类型,支持的位宽等等,由SDM管理转载 2020-12-30 18:01:17 · 464 阅读 · 0 评论 -
SylixOS SD协议栈之四:SD Core设备
1. SD Core设备的功能在第二篇【SD总体结构】中,介绍了系统的各个层次,其中的Core主要包含了Core Xfer和SDM两个重要组件。Core这个词在软件设计中通常隐含着【封装】和【隔离】两个意思。【封装】指的是将其他外部组件需要的通用操作包装为简单易用的模块(或接口),让其他组件达到“拿来即用”的效果,这些模块通常隐藏了很多繁琐的细节,通常这些细节不应该由使用它的组件关心。由于SD设备可使用SDI传输,但要通过SPI总线完成一次完整的会话(发送命令、获取命令应答、数据传输),将在软件上有比较复转载 2020-12-30 16:49:17 · 219 阅读 · 0 评论 -
SylixOS SD协议栈之三:SD总线适配器
1. 文件结构前面的两篇文章分别介绍了SD协议以及SylixOS SD协议栈的整体设计结构,在接下来将主要分析软件设计上的细节。为了让读者能够更方便的对照源码进行分析,这里首先简要介绍一下SD软件的文件结构。以上文件位于libsylixos/SylixOS/system/device目录下,该目录下为SylixOS所有设备驱动框架的源代码。名为sd目录下的文件为对SD总线传输协议的抽象和封装,即本篇将要介绍的SD总线适配器。在sd的同一目录下,还有一个名为spi的文件夹,它是spi总线适配器,两者处于转载 2020-12-30 16:31:26 · 492 阅读 · 0 评论 -
SylixOS SD协议栈之二:系统框架
1. 历史背景为了让读者在整体上对SylixOS SD 协议栈(以下称作SD Stack)有更深的理解,本篇将会把早期SD Stack与最新的进行对比说明。第一版本始于2010年,该版仅支持SD存储卡(SD Memory),同时支持SPI和SD传输模式。后来由于项目需求,需要支持SDIO WIFI设备,这就带来了多设备类支持的需求。原SD Stack 在这方面并未有相应的功能,并且存在诸多不足或缺陷,因此需要一个更加丰富和完善的SD Stack。2. 原有SD Stack分析2.1 原有SD Stac转载 2020-12-30 14:49:31 · 257 阅读 · 0 评论 -
SylixOS SD协议栈之一:SD协议简介
1. 前言本系列博文将详细讲解SylixOS SD 协议栈涉及的诸多细节,以求达到读者能够更轻松地编写SD相关的驱动(应用层驱动和SD控制器驱动)。关于SD协议的解读,在网上已经有很多非常好的文章,但为了保持本博文的完整性,开篇还是从总体上介绍一下SD协议,在后续章节也会围绕SylixOS SD分析SD协议的一些重要细节。2. SD协议简介SD协议由MMC发展而来,可在软件上完全兼容MMC协议。其定义了一套完整的物理层规范和总线通信协议,并且在协议层支持SPI传输模式,其目的是为了在没有SD控制器的芯转载 2020-12-30 14:30:24 · 799 阅读 · 0 评论