0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

sd卡的读写验证流程介绍

冬至子 来源:悠悠海 作者:悠悠海 2023-08-08 14:34 次阅读

原理图
下图是sdio的接线图
dat0-4 cmd 接了4.7k的上拉电阻。六根与mcu相连的线中均接了一个22欧的电阻,用于限制电流

1.jpg

下图是mcu的接线

1.jpg

dat0接引脚P2.0,dat1接P2.1,dat2接P2.2,dat3接P2.3,cmd接P2.4,clk接P2.5,

1.jpg

板子的sd卡座是弹簧式的,卡片压下去 ,弹片与地相接,mcu_sd_cd低电平,mcu可检测到当前有卡片插入。

1.jpg

英飞凌提供了两种驱动依赖:
PSoC 6 Peripheral Driver Library(PDL),Hardware Abstraction Layer (HAL)。

pdl接口大概对sdio的支持度不很好,不太完善,当前测试按照以下流程初始化会失败,
pdl接口位于HAl的上层,属于对hal接口的再次封装。

1.jpg

群里有位大佬使用了hal接口,初始化看起来问题不大,初始化效果如下,可以得到卡片的容量

1.jpg

rtt驱动结构
之前写linux驱动,学习rtt的驱动时,多少会带入linux的思维。
rtt的驱动要比linux的简单许多,大概框架相似。
整个系统结构分为三层,应用层,也就是我们的业务层。
第二层时rtt提供的中间层,虚拟文件驱动层。
第三层是针对具体硬件的硬件驱动层。
业务层直接调用虚拟驱动层,虚拟驱动层通过回调函数方式操纵硬件驱动代码了。

代码的文件结构如下图

1.jpg

1.jpg

application是存放应用层代码的文件夹。
rt-thread目录存放虚拟文件系统接口
libraries存放硬件驱动代码和厂商的bsp等支持代码。
调用官方的pdl接口导致硬件崩溃,对英飞凌的mcu了解不深,暂不知如何调查,借鉴群里大佬Vandoul的sdhc驱动代码,测试了一下接口。
接口dfs_filesystem_get_partition 有一个小bug,sd卡是64gb容量的卡片,格式化为ntfs格式,读出的分区表解析到的容量错误,如下图所示。

1.jpg

代码参考了vandoul大佬的代码,删除了一些异常判断等代码。
提供两个接口 sdrd 和sdwt,仅是直接测试sd卡存储空间的读写,不涉及到文件系统的挂载。
sdrd 带一个参数,读取地址
sdwt带两个参数,第一个是地址,第一个是数值
下图是命令使用效果。

1.jpg

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 上拉电阻
    +关注

    关注

    5

    文章

    359

    浏览量

    30574
  • 存储器
    +关注

    关注

    38

    文章

    7455

    浏览量

    163622
  • SD卡
    +关注

    关注

    2

    文章

    560

    浏览量

    63812
  • MCU控制
    +关注

    关注

    0

    文章

    48

    浏览量

    6729
  • RTThread
    +关注

    关注

    8

    文章

    132

    浏览量

    40811
收藏 人收藏

    评论

    相关推荐

    SD详细介绍

    SD详细介绍 SD(Secure Digital Memory Card)是一种基于半导体快闪记忆器的新一代记忆设备。
    发表于 04-12 12:30 1627次阅读

    基于SPI协议的SD读写

    基于SPI协议的SD读写SD的协议分析。
    发表于 01-06 14:24 0次下载

    sd读写产品设计经验

    sd读写产品设计经验,很好的学习资料,快来下载吧
    发表于 01-25 10:27 0次下载

    SD读写C程序

    SD读写C程序,包含具体程序以及相关注释。
    发表于 03-16 16:30 17次下载

    SD读写控制研究_张淼

    SD读写控制研究_张淼 用单片机控制SD读写增添删减文件等等。
    发表于 04-14 16:43 9次下载

    ARM基础应用实验06_SD读写

    ARM嵌入式应用程序架构设计实例精讲--ARM基础应用实验06SD读写
    发表于 07-08 11:08 0次下载

    ARM基础应用实验_SD读写

    电子专业单片机相关知识学习教材资料——ARM基础应用实验06SD读写
    发表于 09-13 17:23 0次下载

    STM32CubeMX生成一个SD读写程序

    本文档内容介绍了一个STM32CubeMX生成一个SD读写程序,由于本程序是直接操作SD的物
    发表于 01-08 11:23 57次下载

    fireflyROC-RK3328烧写SD介绍

    烧写 SD 下面我们将介绍如何烧写固件到 SD 。关于固件的类型说明可以看这里。 以下是支持的系统列表: Android 7.1.2
    的头像 发表于 12-23 15:20 3422次阅读

    基于SPI协议的SD读写说明

    数字设备。为此,本文首先介绍了单片机在SPI协议下与SD硬件接口电路,然后简要阐述了SPI总线模式以及软件模拟的SPI总线字节传输,最后给出了具体实现SD
    发表于 03-17 16:07 49次下载
    基于SPI协议的<b class='flag-5'>SD</b><b class='flag-5'>卡</b><b class='flag-5'>读写</b>说明

    基于SPI协议的SD读写机制与实现方法

    基于SPI协议的SD读写机制与实现方法。
    发表于 03-25 11:21 27次下载
    基于SPI协议的<b class='flag-5'>SD</b><b class='flag-5'>卡</b><b class='flag-5'>读写</b>机制与实现方法

    SD读写测试程序

    **SD介绍**SD (Seecure Digital Memory Cardl)是一种基于 Flash 的新一代存储器,具有体积小、容
    发表于 12-31 19:22 17次下载
    <b class='flag-5'>SD</b><b class='flag-5'>卡</b><b class='flag-5'>读写</b>测试程序

    stm32 CubeMx 实现SD/sd nand FATFS读写测试

    文章目录stm32CubeMx实现SD/SDnandFATFS读写测试1.前言2.环境介绍2.1软硬件说明2.2外设原理图3.工程搭建3.1CubeMx配置3.2SDIO时钟配置说明
    的头像 发表于 06-03 09:20 1909次阅读
    stm32 CubeMx 实现<b class='flag-5'>SD</b><b class='flag-5'>卡</b>/<b class='flag-5'>sd</b> nand FATFS<b class='flag-5'>读写</b>测试

    SDSPI读写中文资料

    电子发烧友网站提供《SDSPI读写中文资料.pdf》资料免费下载
    发表于 10-13 10:09 7次下载
    <b class='flag-5'>SD</b><b class='flag-5'>卡</b>SPI<b class='flag-5'>读写</b>中文资料

    基于NIOS II的SD读写控制设计

    电子发烧友网站提供《基于NIOS II的SD读写控制设计.pdf》资料免费下载
    发表于 11-06 10:06 7次下载
    基于NIOS II的<b class='flag-5'>SD</b><b class='flag-5'>卡</b><b class='flag-5'>读写</b>控制设计