STM32笔记之NORFLASH,NANDFLASH,EEPROM大体认识

EEPROM , FLASH

首先我们了解一下内存的分类(从上到下越来越远离cpu,同时单位造价越来越便宜)

  1. CPU寄存器
  2. cpu内的缓存(可以有好几级)(cache)
  3. 内存(SRAM、DRAM、DDRAM)
  4. 外存(Flash、PROM、EPROM、EEPROM)
  5. 存储器(U盘、光盘、SD卡)

一般EEPROM,FLASH都用来做单片机的“硬盘”。首先我们来看看EEPROM和FLASH的区别。

EEPROM(Electrically Erasable Programmable Read-Only Memory)和FLASH(Flash Memory)都是非易失性存储器,意味着它们在断电后仍能保持数据,但它们有一些关键区别:

  1. 数据存储和擦除方式
    • EEPROM:可以按字节(或更小的单位)进行读写和擦除。这使得EEPROM非常适合需要频繁修改少量数据的应用,如存储配置参数。
    • FLASH:通常按块(通常是几百到几千字节)进行擦除,但可以按字节或字进行读写。由于擦除是按块进行的,这在频繁写入时会带来一些不便。
  2. 速度
    • EEPROM:读写速度相对较慢,但在需要频繁小量写入操作时表现良好。
    • FLASH:读写速度较快,特别是读取速度,但在需要频繁修改小量数据时效率不如EEPROM。
  3. 耐久性
    • EEPROM:一般的写入和擦除次数在10万到100万次左右。
    • FLASH:擦写次数通常在1万到10万次左右,使用寿命较EEPROM稍短。
  4. 成本和容量
    • EEPROM:制造成本较高,通常容量较小(几百字节到几兆字节)。
    • FLASH:制造成本较低,容量大得多(从几兆字节到几百兆字节),这使得它成为大容量存储应用(如固态硬盘和USB闪存)的首选。
  5. 应用场景
    • EEPROM:适用于存储需要频繁更新的配置信息、校准数据等。
    • FLASH:适用于大容量数据存储,如操作系统、程序代码、固件更新等。

总结,EEPROM和FLASH各有优缺点,选择哪种存储器取决于具体应用的需求。

NOR FLASH, NAND FLASH

其次,我们来看看NOR FLASH和NAND FLASH的区别

NOR Flash和NAND Flash都是Flash存储器的两种主要类型,它们在结构、性能、用途等方面有明显的区别:

  1. 架构和工作原理

    • NOR Flash:使用的是“字”级别的地址访问架构,类似于传统的SRAM和EPROM,可以直接寻址并读取每一个字节的数据。其内部连接类似于一个大的逻辑门阵列,使其读取速度非常快。
    • NAND Flash:使用的是“页”级别的地址访问架构,数据存取以块和页为单位。其内部连接类似于一个大的串联门阵列,读取和写入都需要更复杂的控制器管理。
    • 读写区别:NOR闪存是由Intel公司开发的,是一种随机访问设备,具有专用的地址和数据线(和SRAM类似),以字节的方式进行读写,允许对存储器当中的任何位置进行访问。而NAND闪存则没有专用的地址线,不能直接寻址,是通过一个间接的、类似I/O的接口来发送命令和地址来进行控制的,这就意味着NAND闪存只能够以页的方式进行访问。NOR 主要应用于代码存储介质中,而 NAND 则用于数据存储,所以NAND FLASH在进行存储,读出的时候,都是以“块”“页”,为单位的,而不是一个字节一个字节的去读写。
  2. 性能

    • NOR Flash:读取速度非常快,适合用于需要快速随机读取的应用,如代码存储和执行。然而,写入和擦除速度相对较慢。
    • NAND Flash:写入和擦除速度较快,读取速度较慢,但在大容量顺序读取时性能优异。这使其非常适合大容量数据存储和快速写入的应用,如存储多媒体文件。
  3. 容量和成本

    • NOR Flash:单位存储容量较小(一般在几MB到几百MB),成本较高。适合小容量、高可靠性的存储需求。
    • NAND Flash:单位存储容量较大(从几GB到几TB),成本较低。适合大容量、成本敏感的存储需求。
  4. 擦写寿命

    • NOR Flash:一般具有较高的擦写寿命,但在实际使用中,写入和擦除频率有限。
    • NAND Flash:擦写寿命相对较短,但现代NAND Flash通常使用磨损均衡算法来延长使用寿命。

总结:NOR Flash和NAND Flash各自擅长于不同的应用领域。NOR Flash适合需要快速随机读取的应用,而NAND Flash则适合大容量、顺序读写的应用。

  • 17
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
STM32F4是意法半导体公司推出的一款32位ARM Cortex-M4处理器核心的微控制器系列,具有丰富的外设和强大的性能。NAND Flash是一种常见的非易失性存储器,具有较大的存储容量和高速读写特性。本文将介绍如何使用STM32F4驱动NAND Flash。 首先,STM32F4的GPIO外设可以用来配置引脚的输入输出状态。我们可以通过设置GPIO引脚为输出模式,控制NAND Flash的片选、写使能、读使能等信号。另外,STM32F4还提供了寄存器控制的SPI和FSMC接口,可以用来和NAND Flash进行通信。 其次,STM32Cube软件平台可以为STM32F4系列提供丰富的驱动库。在使用NAND Flash时,我们可以借助STM32Cube的外设库函数,方便地对NAND Flash进行初始化、读写操作。可以通过调用库函数来配置FSMC接口的时序参数,以及设置NAND Flash的特性和模式等。此外,还可以使用DMA控制器来提高数据读写效率。 最后,针对具体的NAND Flash型号,我们需要查阅其数据手册来了解其特性和命令集。通过合理配置STM32F4的寄存器参数,将数据传输到NAND Flash的相应寄存器,然后读取返回的数据,完成对NAND Flash的读写操作。 综上所述,通过合理配置STM32F4的GPIO和FSMC接口,并结合STM32Cube库函数和DMA控制器,我们可以实现对NAND Flash的驱动。这样可以充分发挥STM32F4的性能优势,实现高速、可靠的数据存储和读取,满足各种应用的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值