首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

STM32开发_利用SPI协议读写SD、介绍SDSPI时序

然而,实际SD主机端应用程序能否使用MMC数据,因为是涉及到安全和文件格式问题,所以是由应用程序决定。 特别是用到安全性情况下,基本没有兼容性。...SD默认操作扇区大小是512字节。扇区大小,可以通过指令设置。就算不是512,也可以通过指令设置成512,因为这个不太大,占用内存不太多,适合单片机使用。...SD响应命令成功,可以继续接收4字节OCR寄存器; OCR寄存器第30位(CCS)指示了类型是否为SDHC,此位为1则为SDHC,为0则为SDSC。...然后就可以读取4字节OCR 寄存器。OCR寄存器第30位(CCS)指示了类型是否为SDHC,此位为1则为SDHC,为0则为SDSC。...图5-5-1 写多个扇区步骤: 1、发送CMD55命令(正常应返回0x01) 2、​ 发送CMD23命令(设置多扇区写入前预先擦除N个block)---写入数量 3、​ 发送CMD25命令,设置写入扇区位置

4K40

SDMMC初始化及读写流程

二、MMC/SD模型和工作原理 PIN脚、SD总线、SD结构、SD寄存器、电过程 SD寄存器: OCR:操作电压寄存器: 只读,32位 第31位: 表示状态位...(resp[4] & 0x80)); // 直到r3中ocr回复31位为1时候表示电完成了 if(resp[4]&0x40)// 电压验证最后一次应答中带有数据访问模式位,如果为...1,则类似SDHC基于块地址访问 { sd2_0 = 1; // 也可以利用r3 返回ocr30位来检查是高容量(>2G)还是标准 其实也可以利用cmd9...mmc参数不一样 mmc参数是自己设定一个rca ,但是sd是通过回复中读取rca,上面sd初始化中有描述 OUTREG16(A_MSC_CLKRT(0), 1);...Class5 (擦除命令集):CMD32:设置擦除起始地址.CMD33:设置擦除终止地址.CMD38: 擦除所选择块.

1.9K20
您找到你想要的搜索结果了吗?
是的
没有找到

stc12c5a60s2功能说明(STC12C5A60S2默认触发)

0到2GSD,最普通的卡;2G到32GSDHC,也就是现在最常用大容量SD;还有我没有见过SDXC,容量好像在32G以上。...同时还有手机上TF,实际也是SD 只不过做工不同而已,MMC。...),则说明你SD硬件层版本是2.0,支持大容量储存,也就是SDHC。...我所使用的卡就是SDHC,所以有6个字节返回,这个在后面说明。另外要说一点,我曾经直接跳过了CMD8发送,直接进行了下一步命令,SD返回了错误信息,没有进入正确读写准备状态。...发送了CMD58命令后,SD下一组返回为R1返回+OCR寄存器内容。根据datasheet我们可以得到很多信息,上面已经提到,具体位置手册很明白。

66010

【嵌入式开发】向开发板中烧写Linux系统-型号S3C6410

向 SD 中烧写 u-boot 烧写位置 : 烧写 u-boot 位于 sd末端, 如果SD存满了数据, 就会将最后数据破坏掉, 烧写 u-boot 在文件系统中是看不到; 计算位置...: 根据SD类型计算出 烧写 u-boot 初始位置; -- SD : SD 最后2个文件块 不能用于烧写 u-boot, 因此烧写位置是 SD块大小 减去 2 再减去 u-boot 块大小..., 注意是 块 大小, 一块是 512字节; -- SDHC : SDHC 最后 1026 字节不能用于烧写 u-boot, 因此烧写位置SDHC 块大小 减去 1026, 再减去 u-boot...; -- bs : 设备文件块大小; -- count : 烧写源文件块大小; -- seek : 烧写sd初始位置, 设立是 sd块大小 - 2 - 528; 需要注意问题 :  --...: tftp 50000000 uboot.bin 命令; -- 命令解释 : 下载 uboot.bin 文件到 内存 50000000 位置; atxb # tftp 50000000 uboot.bin

2.7K40

SDMMC介绍

它在MMC基础发展而来,增加了两个主要特色:SD强调数据安全安全,可以设定所储存 使用权限,防止数据被他人复制;另外一个特色就是传输速度比2.11版MMC快。...在数据传输和物理规范,SD(24mm*32mm*2.1mm,比MMC更厚一点),向前兼容了MMC.所有支持SD设备也支持MMC。SD和2.11版MMC完全兼容。...3.2.4.Class5 (擦除命令集): CMD32:设置擦除起始地址。 CMD33:设置擦除终止地址。 CMD38: 擦除所选择块。...3.3.SD工作流程 首先看下脱离操作系统如何在ARM处理器实现SD读写。过程可以分为3个大步骤:初始化sd、写sd、读sd。...4.4.1.检测中涉及到函数 tcc_mmc_probe(host/tcc_sdhc.c) mmc_alloc_host(core/core.c) mmc_rescan(core/core.c

2.1K20

国产 linux 系统体验

Raspberry Pi Imager 是为 microSD 安装操作系统一种快速简便方法,可以与您 Raspberry Pi 一起使用。或者,从下面的操作系统中选择,可以手动下载和安装。...如何烧录树莓派 OS / 优麒麟(树莓派版)到您 microSD 存储 去树莓派官网 下载 raspberry pi image 工具 选择镜像 选择 sd 点击 write 与树莓派搭配使用工具...: SDFormatter 介绍 https://www.sdcard.org/downloads/formatter/index.html SDFormatter 是一个简单和有用 SD 修复工具也是内存修复工具...,专门设计为 TF /手机 SD / SD / SDHC / SDXC 内存修复使用,此内存修复工具除了可以在 WIN 系统运行,还支持苹果 MACOSX 系统运行。...注意:本工具只能格式化修复你内存,不能恢复你内存数据,但可以让你内存起死回生,所以你也可以先进行数据恢复再使用本工具修复!

3.8K10

【STM32H7教程】第87章 STM32H7SDMMC总线基础知识和HAL库API

注意,操作SD是采用函数HAL_SD_XXXX,而操作eMMC是采用函数HAL_MMC_XXXX,也就是说他们采用函数前缀是不同。 SD官网: www.sdcard.org 。...SDMMC_CKIN 来自SD/SDIO/MMC外部驱动器时钟反馈(用于SDR12,SDR25,SDR50和DDR50)。 SDMMC_CK SD/SDIO/MMC时钟。...RelCardAdd 相对地址。 BlockNbr 整个块数。 BlockSize 每个块字节数。 LogBlockNbr 整个逻辑块数。...= HAL_SD_STATE_READY; return HAL_OK; } else { return HAL_BUSY; } } 函数描述: 此函数主要用于SD擦除...第2个参数是擦除起始扇区地址,地址单位是第几个扇区(512字节为一个扇区)。 第3个参数是擦除结束扇区地址,地址单位是第几个扇区(512字节为一个扇区)。

2.9K10

STM32CubeMX学习笔记(26)——SDIO接口使用(读写SD)

根据SD容量,可划分为SDSC(SD Standard Capacity)、SDHC(SD High Capacity)、SDXC(SD Extended Capacity)三种标准。...现今,市场主流SD产品是SDHC和SDXC这两种较大容量存储,而SDSC因容量过小,已逐渐被市场淘汰。...点击 DMA Settings 添加 SDIO 对应 DMA2 通道4。DMA模式选择循环模式,方向选为内存到外设。...\r\n" ); } 4.7 擦除SD块数据 操作SD后最好先用函数HAL_SD_GetCardState()确定一下状态再进行其他操作。...\r\n"); } 5.2 读取SD块数据 如果读写失败,可能SD通信速度太高,可将hsd.Init.ClockDiv改大 操作SD后最好先用函数HAL_SD_GetCardState()确定一下状态再进行其他操作

2K31

1. 概念与框架

一、概念 1、mmc概念 mmc有很多种意义,具体如下: mmc MultiMedia Card,多媒体存储, 但后续泛指一个接口协定(一种卡式),能符合这接口内存器都可称作mmc储存体。...它在MMC基础发展而来,增加了两个主要特色:SD强调数据安全安全,可以设定所储存使用权限,防止数据被他人复制。兼容mmc接口规范。...sdio type card (1)sdio设备:SDIO是在SD标准定义了一种外设接口,它和SD卡规范间一个重要区别是增加了低速标准。在SDIO只需要SPI和1位SD传输模式。...mmc协议 类似i2c协议、spi协议,mmc总线上也有一套自己通讯规范。通信规范后续在说明。 而上述mmc设备基于mmc总线通讯规范由自身硬件特性设置了自己一套协议。...这里补充说明,sdhci并不是实际host驱动,而是上述说明sdhc标准host驱动部分。

1.2K20

mpc5748g sdhc调试

本文由腾讯云+社区自动同步,原文地址 https://stackoverflow.club/debug-mpc5748g-devkit-sdhc-module/ 现象: 在测试工程中无法初始化SD,但是在示例工程中却可以...猜测 可能是引脚初始化问题 解决方案 使用debug中查看寄存器功能记录了两个工程中与SDHC相关引脚寄存器,发现如下不同: 寄存器名称 | 该寄存器对应引脚 | 正常工作寄存器内容 |...rate control 随后,在测试工程中修改driver strength 和slew rate control后,SD初始化正常 后续工作: 曾经把示例工程中Generated_Code搬移到测试工程中...driver strength 实际是有很多并联驱动模块,寄存器里选择哪种strength,就会有多少驱动模块加入到IO口中 slew rate control 暂时没有权威资料,但是这个与IO口信号上升沿陡峭程度有关...一个对pad解释较为清楚文档 其他 刚刚发现自己markdown编辑器不能识别表格?有待以后解决 至于具体表格里面哪一栏是正常工作记不清楚了,使用S32DS内置样例工程测试下就好

83010

stm32 sd读写_sd引脚定义图

SD SD(Secure Digital Memory Card)即:安全数码,它是在MMC基础发展而来,是一种基于半导体快闪记忆器新一代记忆设备,它被广泛地于便携式装置使用,...SD按容量分类,可以分为3类:SDSDHC、SDXC 容量 命名...STM32SDIO接口 简介:SDIO Secure Digital Input and Output,安全数字输入输出接口,在SD接口基础发展而来,兼容SD,并可以连接SDIO设备...从SD初始化流程可知,不管什么(这里我们将分为4类:SD2.0高容量SDHC,最大32G),SD2.0标准容量(SDSC,最大2G),SD1.x和MMC),首先我们要执行电(设置...SDIO_POWER[1:0]=11),电后发送CMD0,对进行软复位,之后发送CMD8命令,用于区分SD2.0,只有2.0及以后的卡才支持CMD8命令,MMC和V1.x的卡,是不支持该命令

1.5K40

从闪存卡到SSD硬盘,存储芯片是如何发展起来

上篇文章(链接),小枣君给大家详细介绍了DRAM沧桑往事。 DRAM属于易失性存储器,也就是大家常说内存。...他发明了一种全新、能够快速进行擦除操作浮栅存储器,也就是——“simultaneously erasable(同步可擦除) EEPROM”。...这一年,西门子和闪迪合作,使用东芝NAND Flash技术,开发了著名MMC(Multi Media Memory,多媒体内存)。...后来,又有了MiniSD、MicroSD、MS Micro2和Micro SDHC等,相信70后和80后小伙伴一定非常熟悉。...巨大成本效应,开始将计算机推进闪存时代。 2007年,手机进入智能机时代,再次对闪存市场技术格局造成影响。 此前功能机时代,手机对内存要求不高。

1K20

树莓派3b+组装+烧录retropie系统

从上到下分别是, 树莓派cm3+主板 tf内存 读卡器 3.5寸lcd显示屏 外壳 内存 这里注意以下内存选用最好是class10.因为内存充当主机硬盘,因此内存传输快慢决定着系统流畅性....(Class10(10MB/sec)是针对TF内存(SDHC)传输规范) 读卡器 用于烧录系统进tf 可忽略配件 显示屏,外壳.显示屏其实是可以使用hdmi线连接显示器使用,外壳可无,但是为了主板安全起见最好购买...这里我主板是3b+选择,这里推荐IDM多线程下载.不然速度很慢. ? 打开Win32DiskImager,镜像选择我们上面下好系统,设备选择tf. ?...选择写入即可.写入速度取决于读卡器. retropie配置 写入完成后,我们将tf插到主板,插上电源自动开机....手柄,蓝牙和wifi设置请参照这个视频,我也是. https://www.bilibili.com/video/BV1cW41117kj 电脑通过访问地址 \\retropie访问树莓派(需配置连接好

4.1K41

(45)STM32——SDIO实验

它是在SD接口基础发展而来,它可以兼容之前SD,并可以连接SDIO接口设备,比如:蓝牙、WIFI、照相机等。               ...SD         SD(Secure Digital MemoryCard)即:安全数码,它是在MMC基础发展而来,是一种基于半导体快闪记忆器新一代记忆设备,它被广泛地于便携式装置使用...不管什么(这里我们将分为 4 类:SD2.0 高容量SDHC,最大32G),SD2.0 标准容量(SDSC,最大 2G),SD1.x 和 MMC ),首先我们要执行电(需要设置 SDIO_POWER...[1:0]=11),电后发送 CMD0,对进行软复位,之后发送 CMD8 命令,用于区分 SD 2.0,只有 2.0 及以后的卡才支持 CMD8 命令,MMC 和 V1.x 的卡,是不支持该命令...在发送 CMD8 后,发送 ACMD41(注意发送 ACMD41 之前要先发送 CMD55),来进一步确认操作电压范围,并通过 HCS 位来告诉 SD ,主机是不是支持高容量SDHC)。

1.1K30

TRIM:提升磁盘性能,缓解Android

假如现在我要向磁盘中写入一张图片数据,这个图片数据大小刚好为一个 Page。最坏情况就是,内存中恰好只有一个 Block 恰好有一个 Page 无效数据可以擦除。...为了存下这张图片,于是主控就把这个 Block 所有数据读至缓存,擦除Block内容,再向缓存中加上这个4KB 新数据后最后写回 Block 中。...我天啊,其实想存储就是1个 Page 图片内容,但是实际确造成了整个 Block 内容都被重新写入,同时原本简单一步搞定事情被还被分成了前后四步执行(闪存读取、缓存改、闪存擦除、闪存写入)造成延迟大大增加...,经反复擦写 SD 制造闲置数据块后,该效率降低至原始50%。...主动调用 TRIM 后,可以发现 SD I/O 效率指标均恢复至接近原始水平(但仍未完全达到初始状态水平)。

3.3K110

树莓派打造复古游戏主机Retropie

从上到下分别是, 树莓派cm3+主板 tf内存 读卡器 3.5寸lcd显示屏(非必须) 为了后续安装可视化系统准备 外壳(非必须) 内存 这里注意以下内存选用最好是class10.因为内存充当主机硬盘...,因此内存传输快慢决定着系统流畅性....(Class10(10MB/sec)是针对TF内存(SDHC)传输规范) 读卡器 用于烧录系统进tf 可忽略配件 显示屏,外壳.显示屏其实是可以使用hdmi线连接显示器使用,外壳可无,但是为了主板安全起见最好购买...RetroPie其实是一个开源游戏模拟器,可以运行在树莓派(Raspberry Pi),使其成为一款游戏机,特别是复古游戏机,可玩性特别高。 简单来说,PS2以下平台包括主机和掌机全部兼容!...选择写入即可.写入速度取决于读卡器. retropie配置 写入完成后,我们将tf插到主板,插上电源自动开机. 不想配置蓝牙手柄可以使用microusb线直连手柄即可.

5.9K40
领券