【工具箱】Flash基础及“SD NAND Flash”的测试例程

“Flash闪存”基础 介绍及 雷龙电子“CSNP32GCR01-AOW”产品的测试 阅读详情

目录

一、“FLASH闪存”是什么?

1. 简介

2. 分类

3. 性能

4.可靠性

5.易用性

二、SD NAND Flash

1. 概述

2. 特点

3. 引脚分配

4. 数据传输模式

5. SD NAND寄存器

6. 通电图

7. 参考设计

三、STM32测试例程

1. 初始化

2. 单数据块测试

3. 多数据块测试

4. 状态缓冲


        本篇除了对flash闪存进行简单介绍外,另给读者推荐一种我本人也在用的小容量闪存。

        自带坏块管理的SD NAND Flash(贴片式TF卡),尺寸小巧,简单易用,兼容性强,稳定可靠,标准SDIO接口,兼容SPI,兼容拔插式TF卡/SD卡,可替代普通TF卡/SD卡,尺寸6.2x8mm毫米,内置平均读写算法,读取速度23.5MB/S写入速度12.3MB/S,标准的SD 2.0协议使得用户可以直接移植标准驱动代码,省去了驱动代码编程环节。该 SD NAND Flash 产品由“深圳市雷龙发展有限公司”提供,获取更多学习资料可移步“雷龙发展”。

        下面我也将结合该公司下的“二代 CSNP32GCR01-AOW”为例展开介绍:

一、“FLASH闪存”是什么?

1. 简介

        FLASH闪存是属于内存器件的一种,“Flash”。闪存则是一种非易失性( Non-Volatile )内存,在没有电流供应的条件下也能够长久地保持数据,其存储特性相当于硬盘,这项特性正是闪存得以成为各类便携型数字设备的存储介质的基础。

2. 分类

        NOR和NAND是市场上两种主要的非易失闪存技术。

        Intel是世界上第一个生产闪存并将其投放市场的公司。1988年,公司推出了一款256K bit闪存芯片。它如同鞋盒一样大小,并被内嵌于一个录音机里。後来,Intel发明的这类闪存被统称为NOR闪存。它结合EPROM和EEPROM两项技术,并拥有一个SRAM接口。

        第二种闪存称为NAND闪存。它由日立公司于1989年研制,并被认为是NOR闪存的理想替代者。NAND闪存的写周期比NOR闪存短90%,它的保存与删除处理的速度也相对较快。NAND的存储单元只有NOR的一半,在更小的存储空间中NAND获得了更好的性能。鉴于NAND出色的表现,它常常被应用于诸如CompactFlash、SmartMedia、 SD、 MMC、 xD、 and PC cards、USB sticks等存储卡上。NAND 闪存的存储单元采用串行结构,存储单元的读写是以页和块为单位来进行(一页包含若干字节,若干页则组成储存块, NAND 的存储块大小为 8 到 32KB ),这种结构最大的优点在于容量可以做得很大,超过 512MB 容量的 NAND 产品相当普遍, NAND 闪存的成本较低,有利于大规模普及。

3. 性能

        flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。任何flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。NAND器件执行擦除操作是十分简单的,而NOR则要求在进行擦除前先要将目标块内所有的位都写为1。

        由于擦除NOR器件时是以64~128KB的块进行的,执行一个写入/擦除操作的时间为5s,与此相反,擦除NAND器件是以8~32KB的块进行的,执行相同的操作最多只需要4ms。执行擦除时块尺寸的不同进一步拉大了NOR和NADN之间的性能差距,统计表明,对于给定的一套写入操作(尤其是更新小文件时),更多的擦除操作必须在基于NOR的单元中进行。这样,当选择存储解决方案时,设计师必须权衡以下的各项因素。

● NOR的读速度比NAND稍快一些。

● NAND的写入速度比NOR快很多。

● NAND的4ms擦除速度远比NOR的5s快。

● 大多数写入操作需要先进行擦除操作。

● NAND的擦除单元更小,相应的擦除电路更少。

4.可靠性

        采用flash介质时一个需要重点考虑的问题是可靠性。对于需要扩展MTBF的系统来说,Flash是非常合适的存储方案。可以从寿命(耐用性)、位交换和坏块处理三个方面来比较NOR和NAND的可靠性。

        在NAND闪存中每个块的最大擦写次数是一百万次,而NOR的擦写次数是十万次。NAND存储器除了具有10比1的块擦除周期优势,典型的NAND块尺寸要比NOR器件小8倍,每个NAND存储器块在给定的时间内的删除次数要少一些。

5.易用性

        可以非常直接地使用基于NOR的闪存,可以像其他存储器那样连接,并可以在上面直接运行代码。由于需要I/O接口,NAND要复杂得多。各种NAND器件的存取方法因厂家而异。在

“Flash闪存”基础 及 “SD NAND Flash”产品的测试介绍 FLASH闪存是属于内存器件的一种,“Flash”。闪存则是一种非易失性( Non-Volatile )内存,在没有电流供应的条件下也能够长久地保持数据,其存储特性相当于硬盘,这项特性正是闪存得以成为各类便携型数字设备的存储介质的基础。各类 DDR 、 SDRAM 或者 RDRAM 都属于挥发性内存,只要停止电流供应内存中的数据便无法保持,因此每次电脑开机都需要把数据重新载入内存。 阅读详情

相关推荐

flash芯片测试

flash操作不同于sram,sram类似于在使用ram ip核(quartus/vivado)时生成的模块直接对存储操作,flash操作都是基于控制器的指令来的。flash在编程(写数据)之前是需要对芯片擦除(也就是写1),因为编程操作只能把1变成0,而不能把原本是0的位变成1。 基本的命令:擦除命令/编程命令/读取命令 基本操作格式:命令+[地址]+[数据] //地址和数据是可选的 flash芯片擦除时按扇区来划分的;读取时一般芯片内部有一个buffer...

timewh的专栏 6822

Flash 闪存技术基础与 SD NAND Flash 产品测试解析

本篇除了对flash闪存进行简单介绍外,另给读者推荐一种我本人也在用的小容量闪存。自带坏块管理的SD NAND Flash(贴片式TF卡),尺寸小巧,简单易用,兼容性强,稳定可靠,标准SDIO接口,兼容SPI,兼容拔插式TF卡/SD卡,可替代普通TF卡/SD卡,尺寸6.2x8mm毫米,内置平均读写算法,读取速度23.5MB/S写入速度12.3MB/S,标准的SD 2.0协议使得用户可以直接移植标准驱动代码,省去了驱动代码编程环节。该 SD NAND Flash 产品由“深圳市雷龙发展有限公司”提供

嵌入式阿齐Archie 1972

基于STM32的“Flash闪存”基础 及 “SD NAND Flash”测试例程

第二种闪存称为NAND闪存。NAND 闪存的存储单元采用串行结构,存储单元的读写是以页和块为单位来进行(一页包含若干字节,若干页则组成储存块, NAND 的存储块大小为 8 到 32KB ),这种结构最大的优点在于容量可以做得很大,超过 512MB 容量的 NAND 产品相当普遍, NAND 闪存的成本较低,有利于大规模普及。FLASH闪存可以执行的写操作次数有限,这意味着FLASH闪存厂商需要开发复杂的控制器技术,对写入FLASH闪存模块的方式进行管理,确保每个FLASH闪存单元接收相同的写请求。

qq_33954661的博客 1785

DSP篇--C6701功能调试系列之 FLASH测试

对于Flash的操作主要是flash擦除,flash读和flash写。DSP通过EMIF的CE1存储空间外扩flash,根据Flash的数据手册可以得到Flash的相应操作的命令定义表。 擦除FLASH主要有片擦除和扇区擦除两种方法。一般调试大部分使用片擦除,也就是全部擦除。 查看flash手册重点需要找到以下几个关键点:1、FLASH的起始地址,也即基地址(0x01400000);2、扇区擦除时,每一扇区的起始地址和长度。

nanke_yh的博客 1414

FLASH测试方案

详细描述FLASH的测试流程,对于一般FLASH芯片在量产测试阶段具有借鉴意义。

SDFLASH V1.2

SDFlash 是一个独立的基于 JTAG 的 GUI 界面,由 Spectrum Digital 维护。它不需要 Code Composer Studio,但需要 CCS 驱动程序(包括在下载中)。SDFlash 包含在“仿真驱动程序”下载包中,该下载包包括其它驱动程序和实用程序,闪存编程不一定需要这些程序,但 eZdsp 硬件支持通常需要这些程序。SDFlash GUI 要求将“特定器件”算法用于闪存编程。这些算法必须从 Spectrum Digital 的网站单独下载并放在 sdflash\myprojects 目录中。在某些情况下,可能提供了适用于特定器件的更新版本的 SDFlash。如果需要使用新版本,则会在 SDFlash 算法的描述中说明。SDFlash 是一个独立的基于 JTAG 的 GUI 界面,由 Spectrum Digital 维护。它不需要 Code Composer Studio,但需要 CCS 驱动程序(包括在下载中)。SDFlash 包含在“仿真驱动程序”下载包中,该下载包包括其它驱动程序和实用程序,闪存编程不一定需要这些程序,但 eZdsp 硬件支持通常需要这些程序。SDFlash GUI 要求将“特定器件”算法用于闪存编程。这些算法必须从 Spectrum Digital 的网站单独下载并放在 sdflash\myprojects 目录中。在某些情况下,可能提供了适用于特定器件的更新版本的 SDFlash。如果需要使用新版本,则会在 SDFlash 算法的描述中说明。

Claude Code 接入 DeepSeek-V4 教程

本文介绍Claude Code的安装配置流程:1) 安装Node.js 18+和Git(Windows);2) 通过npm全局安装@anthropic-ai/claude-code;3) 配置DeepSeek API环境变量(需替换API Key);4) 启动Claude Code或配置VSCode插件。重点包括Linux/macOS和Windows的环境变量设置方法,以及VSCode插件的settings.json配置项。完成配置后即可在终端或VSCode中使用Claude Code功能。

培根芝士的专栏 1999

达梦数据守护集群监视器详解与应用指南

主库/备库:承担读写和只读服务的数据节点Redo 日志:记录数据库变更的核心日志Redo 日志传输:主备库间的日志同步机制Redo 日志重演:备库重做日志的应用过程守护进程 (dmwatcher):实例级别的监控和管理组件监视器 (dmmonitor):集群级别的监控和管理工具监视器作为数据守护系统的重要组成部分,提供了集群监控、故障管理和状态确认等关键功能。达梦数据守护集群监视器是维护数据库高可用性的关键工具。

huanhuanzhou blog 1057

Blender学习笔记——制作向量场

#下载Blender - UE4 - FGA Vector Field Editor插件的压缩包,Github上的下载地址如下:https://github.com/isathar/Blender_UE4_VectorFieldEditor #下载并解压后将FGA VectorFields文件夹复制到C:\Program Files\Blender Foundation\Blender 2.83\2.83\scripts\addons目录下,此步骤可根据blender安装的位置自行调整,只要放入addon

wychao2020的博客 1722

Part03 数据结构

本文介绍了CSP-S初赛中常见的高级数据结构及其实现,包括: 线性结构:双端栈、双端队列、单调队列、优先队列和ST表,重点分析了它们的特点、时间复杂度及典型应用场景。 集合与森林:并查集(带路径压缩和按秩合并)和树的孩子兄弟表示法,展示了多叉树转化为二叉树存储的方法。 特殊树结构:包括二叉堆、树状数组、线段树和字典树,详细说明了它们的构建、查询和更新操作,特别强调了线段树的递归实现和字典树的前缀匹配特性。 每种数据结构都配有核心C++代码实现,涉及数组模拟、动态规划和树形结构等编程技巧,适合算法竞赛选手快速

weixin_43863957的博客 1179

OpenVINS实战指南:从环境搭建到RGB-D相机实时建图

本文提供了一份详细的OpenVINS实战指南,涵盖从Ubuntu与ROS环境搭建、依赖安装与编译调试,到连接RGB-D相机进行实时建图的完整流程。重点解决了RealSense D435i等设备的驱动配置、话题对齐及常见问题,并分享了传感器标定与性能优化技巧,帮助开发者快速实现稳定高效的视觉惯性里程计系统。

weixin_29201313的博客 482

CiteSpace关键词聚类图谱含义详细解析

CiteSpace关键词聚类图谱含义详细解析 回顾上一次推文:CiteSpace关键词共现图谱含义详细解析 其中有一句: 当你人工已经可以很容易的进行归纳后,就不需要再利用CiteSpace聚类功能啦。 我们来看一下上次推文做出来的关键词共现图谱: 人工不好归纳!那怎么聚类呢? 此时便可使用CiteSpace的聚类功能啦! 如下所示:我们可以清晰地看到上边的关键词共现网络聚成了一个个不规则区域...

qq_39974284的博客 6万+

思科—OSPF多区域配置实验

实验目的:配置OSPF多区域,使得不同网段的PC互相ping通。 网络拓扑如下: R0的配置 Router>en Router#conf t Router(config)#int g0/1 Router(config-if)#ip add 192.168.1.1 255.255.255.0 Router(config-if)#no shut Router(config-if)#exit Router(config)#int g0/0 Router(config-if)#ip add 192.168.

m0_46237205的博客 1万+

改进后的yolov8导出进行部署到rk3588上时,导出为onnx格式报错aten::fft_fft2算子不支持导出...如何解决?

🏆本文收录于《全栈Bug调优(实战版)》专栏,主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!! 备注:部分问题/疑难杂症搜集于互联网。

**My Coding Family** 1793

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

上一篇: 【研发日记】嵌入式处理器技能解锁(六)——ARM的Cortex-M4内核
下一篇: 【温故知新】数字滤波器的理论和应用
Mr.Cssust
Mr.Cssust 优质创作者: 嵌入式与硬件开发技术领域 优质创作者: 嵌入式与硬件开发技术领域
博客等级 码龄9年 8609粉丝 162原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.Cssust

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值