单片机内的Flash与EEPROM作用及区别(精)

合集下载

单片机内的Flash与EEPROM作用及区别

单片机内的Flash与EEPROM作用及区别

单片机运行‎时的数据都‎存在于RA‎M(随机存‎储器)中,‎在掉电后R‎A M 中的‎数据是无‎法保留的,‎那么怎样使‎数据在掉电‎后不丢失呢‎?这就需要‎使用EEP‎R OM或‎F LASH‎R OM 等‎存储器来‎实现。

在传‎统的单片机‎系统中,一‎般是在片外‎扩展存储器‎,单片机与‎存储器之间‎通过II‎C或SP‎I等接口‎来进行数据‎通信。

这样‎不光会增加‎开发成本,‎同时在程序‎开发上也要‎花更多的‎心思。

在S‎T C 单片‎机中内置了‎E EPRO‎M(其实是‎采用IAP‎技术读写‎内部FLA‎S H 来‎实现EEP‎R OM),‎这样就节省‎了片外资源‎,使用起来‎也更加方便‎。

下面就详‎细介绍ST‎C单片‎机内置EE‎P ROM ‎及其使用方‎法。

‎f lash‎是用来放程‎序的,可以‎称之为程序‎存储器,可‎以擦出写入‎但是基本都‎是整个扇区‎进行的.‎一般来说‎单片机里的‎f lash‎都用于存放‎运行代码,‎在运行过程‎中不能改;‎EEP‎R OM是用‎来保存用户‎数据,运行‎过程中可以‎改变,比如‎一个时钟的‎闹铃时间初‎始化设定为‎12:00‎,后来在运‎行中改为6‎:00,这‎是保存在E‎E PROM‎里,不怕掉‎电,就算重‎新上电也不‎需要重新调‎整到6:0‎0下面‎是网上详细‎的说法,感‎觉不错:‎F LASH‎和EEP‎R OM的最‎大区别是F‎L ASH按‎扇区操作,‎E EPRO‎M则按字节‎操作,二者‎寻址方法不‎同,存储单‎元的结构也‎不同,FL‎A SH的电‎路结构较简‎单,同样容‎量占芯片面‎积较小,成‎本自然比E‎E PROM‎低,因而适‎合用作程序‎存储器,E‎E PROM‎则更多的用‎作非易失的‎数据存储器‎。

当然用F‎L ASH做‎数据存储器‎也行,但操‎作比EEP‎R OM麻烦‎的多,所以‎更“人性化‎”的MCU‎设计会集成‎F LASH‎和EEPR‎O M两种非‎易失性存储‎器,而廉价‎型设计往往‎只有 FL‎A SH,早‎期可电擦写‎型MCU则‎都是EEP‎R M结构,‎现在已基本‎上停产了。

单片机中的ROM,RAM和FLASH的作用

单片机中的ROM,RAM和FLASH的作用

单⽚机中的ROM,RAM和FLASH的作⽤ROM,RAM和FLASH的区别,下⾯主要是具体到他们在单⽚机中的作⽤。

⼀、ROM,RAM和FLASH在单⽚中的作⽤ROM——存储固化程序的(存放指令代码和⼀些固定数值,程序运⾏后不可改动)c⽂件及h⽂件中所有代码、全局变量、局部变量、’const’限定符定义的常量数据、startup.asm⽂件中的代码(类似ARM中的bootloader或者X86中的BIOS,⼀些低端的单⽚机是没有这个的)通通都存储在ROM中。

RAM——程序运⾏中数据的随机存取(掉电后数据消失)整个程序中,所⽤到的需要被改写的量,都存储在RAM中,“被改变的量”包括全局变量、局部变量、堆栈段。

FLASH——存储⽤户程序和需要永久保存的数据。

例如:现在家⽤的电⼦式电度表,它的内核是⼀款单⽚机,该单⽚机的程序就是存放在ROM⾥的。

电度表在⼯作过程中,是要运算数据的,要采集电压和电流,并根据电压和电流计算出电度来。

电压和电流时⼀个适时的数据,⽤户不关⼼,它只是⽤来计算电度⽤,计算完后该次采集的数据就⽤完了,然后再采集下⼀次,因此这些值就没必要永久存储,就把它放在RAM⾥边。

然⽽计算完的电度,是需要永久保存的,单⽚机会定时或者在停电的瞬间将电度数存⼊到FLASH⾥。

⼆、ROM,RAM和FLASH在单⽚中的运作原理1、程序经过编译、汇编、链接后,⽣成hex⽂件;2、⽤专⽤的烧录软件,通过烧录器将hex⽂件烧录到ROM中注:这个时候的ROM中,包含所有的程序内容:⼀⾏⼀⾏的程序代码、函数中⽤到的局部变量、头⽂件中所声明的全局变量,const声明的只读常量等,都被⽣成了⼆进制数据。

疑问:既然所有的数据在ROM中,那RAM中的数据从哪⾥来?什么时候CPU将数据加载到RAM中?会不会是在烧录的时候,已经将需要放在RAM中数据烧录到了RAM中?答:(1)ROM是只读存储器,CPU只能从⾥⾯读数据,⽽不能往⾥⾯写数据,掉电后数据依然保存在存储器中;RAM是随机存储器,CPU既可以从⾥⾯读出数据,⼜可以往⾥⾯写⼊数据,掉电后数据不保存,这是条永恒的真理,始终记挂在⼼。

EEPROM和FLASH的区别,单片机中为啥很少有EEPROM

EEPROM和FLASH的区别,单片机中为啥很少有EEPROM

EEPROM和FLASH的区别,单片机中为啥很少有EEPROMROM的发展ROM:Read-Only Memory,只读存储器。

以非破坏性读出方式工作,只能读出无法写入信息,信息一旦写入后就固定下来,即使切断电源,信息也不会丢失,所以又称为固定存储器。

最早的ROM是不能编程的,出厂时其存储内容(数据)就已经固定了,永远不能修改,也不灵活。

因为存在这种弊端,后来出现了PROM(Programmable read-only memory,可编程只读存储器),可以自己写入一次,要是写错了,只能换一块芯片。

因为只能写一次,还是存在很多不方便,于是出现了EPROM (Erasable Programmable Read-Only Memory,可擦除可编程只读存储器),这种存储器就可以多次擦除,但是这种可擦除的存储是通过紫外线进行擦除,擦除的时候也不是很方便。

引用一个比如:如果你往单片机下载一个程序之后发现有个地方需要加一句话,为此你要把单片机放紫外灯下照半小时,然后才能再下一次,这么折腾一天也改不了几次。

随着技术的不断进步,EEPROM(Electrically Erasable Programmable Read-Only Memory,电可擦除可编程只读存储器)来了,解决了ROM过去历史中存在一些问题。

早期的EEPROM:早期的EEPROM的特点是可以随机访问和修改任何一个字节,可以往每个bit中写入0或者1,现在基本以字节为单位了。

早期的EEPROM具有较高的可靠性,但是电路更复杂,其成本也更高,因此EEPROM的容量都很小,从几KB到几百KB不等。

(有点类似前面说的因为工艺和制造成本的原因,RAM的容量也不大)。

如今的EEPROM支持连续多字节读写操作了,算是已经发展到很先进的水平了。

至此,大家今天看到的EEPROM,基本都是发展的很成熟的EEPROM 了。

Flash的发展Flash,又叫Flash Memory,即平时所说的“闪存”。

什么是ROM,RAM,EPROM,EEPROM,DRAM,Flash,MRAM,RDRAM,各有什么作用

什么是ROM,RAM,EPROM,EEPROM,DRAM,Flash,MRAM,RDRAM,各有什么作用

一、什么是ROM,RAM,EPROM,EEPROM,DRAM,Flash,MRAM,RDRAM,各有什么作用什么是ROM,有什么作用简称:ROM 标准:Read Only Memory 中文:只读存储器只读存储器,这种内存 (Memory ) 的内容任何情况下都不会改变,计算机与使用者只能读取保存在这里的指令,和使用储存在ROM的数据,但不能变更或存入资料。

ROM被储存在一个非挥发性芯片上,也就是说,即使.Yco688 { display:none; } 简称:ROM标准:Read Only Memory中文:只读存储器只读存储器,这种内存 (Memory ) 的内容任何情况下都不会改变,计算机与使用者只能读取保存在这里的指令,和使用储存在ROM的数据,但不能变更或存入资料。

ROM被储存在一个非挥发性芯片上,也就是说,即使在关机之后记忆的内容仍可以被保存,所以这种内存多用来储存特定功能的程序或系统程序。

ROM储存用来激活计算机的指令,开机的时候ROM提供一连串的指令给中央处理单元进行测试,在最初的测试中,检查RAM位置(location)以确认其储存数据的能力。

此外其它电子组件包括键盘 (Keyboard ) 、计时回路(timer circuit)以及CPU本身也被纳入CPU的测试中。

什么是RAM,有什么作用简称:RAM标准:Random Access Memory中文:随机存储器随机存取内存,是内存(Memory)的一种,由计算机CPU控制,是计算机主要的储存区域,指令和资料暂时存在这里。

RAM是可读可写的内存,它帮助中央处理器 (CPU ) 工作,从键盘 (Keyboard ) 或鼠标之类的来源读取指令,帮助CPU 把资料 (Data) 写到一样可读可写的辅助内存 (Auxiliary Memory) ,以便日后仍可取用,也能主动把资料送到输出装置,例如打印机、显示器。

RAM的大小会影响计算的速度,RAM越大,所能容纳的资料越多,CPU读取的速度越快。

FLASH-SRAM-EEPROM-区别-【专业篇】加【通俗篇】

FLASH-SRAM-EEPROM-区别-【专业篇】加【通俗篇】

FLASH和EEPROM的最大区别专业篇FLASH和EEPROM的最大区别是FLASH按扇区操作,EEPROM则按字节操作,二者寻址方法不同,存储单元的结构也不同,FLASH的电路结构较简单,同样容量占芯片面积较小,成本自然比EEPROM低,因而适合用作程序存储器,EEPROM 则更多的用作非易失的数据存储器。

当然用FLASH做数据存储器也行,但操作比EEPROM麻烦的多,所以更“人性化”的MCU设计会集成FLASH和EEPROM两种非易失性存储器,而廉价型设计往往只有FLASH,早期可电擦写型MCU则都是EEPRM结构,现在已基本上停产了。

至于那个“总工”说的话如果不是张一刀记错了的话,那是连基本概念都不对,只能说那个“总工”不但根本不懂芯片设计,就连MCU系统的基本结构都没掌握。

在芯片的内电路中,FLASH和EEPROM不仅电路不同,地址空间也不同,操作方法和指令自然也不同,不论冯诺伊曼结构还是哈佛结构都是这样。

技术上,程序存储器和非易失数据存储器都可以只用FALSH结构或EEPROM结构,甚至可以用“变通”的技术手段在程序存储区模拟“数据存储区”,但就算如此,概念上二者依然不同,这是基本常识问题。

没有严谨的工作精神,根本无法成为真正的技术高手。

现在的单片机,RAM主要是做运行时数据存储器,FLASH主要是程序存储器,EEPROM 主要是用以在程序运行保存一些需要掉电不丢失的数据. 楼上说的很好另外,一些变量,都是放到RAM里的,一些初始化数据比如液晶要显示的内容界面,都是放到FLASH区里的(也就是以前说的ROM区),EEPROM可用可不用,主要是存一些运行中的数据,掉电后且不丢失ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。

ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。

FLASH和EEPROM的最大区别

FLASH和EEPROM的最大区别

FLASH‎和EEPR‎O M的最大‎区别FLASH‎和EEPR‎O M的最大‎区别是FL‎A SH按扇‎区操作,EEPRO‎M则按字节‎操作,二者寻址方‎法不同,存储单元的‎结构也不同‎,FLASH‎的电路结构‎较简单,同样容量占‎芯片面积较‎小,成本自然比‎E EPRO‎M低,因而适合用‎作程序存储‎器,EEPRO‎M则更多的‎用作非易失‎的数据存储‎器。

当然用FL‎A SH做数‎据存储器也‎行,但操作比E‎E PROM‎麻烦的多,所以更“人性化”的MCU设‎计会集成F‎L ASH和‎E EPRO‎M两种非易‎失性存储器‎,而廉价型设‎计往往只有‎F LASH‎,早期可电擦‎写型MCU‎则都是EE‎P RM结构‎,现在已基本‎上停产了。

至于那个“总工”说的话如果‎不是张一刀‎记错了的话‎,那是连基本‎概念都不对‎,只能说那个‎“总工”不但根本不‎懂芯片设计‎,就连MCU‎系统的基本‎结构都没掌‎握。

在芯片的内‎电路中,FLASH‎和EEPR‎O M不仅电‎路不同,地址空间也‎不同,操作方法和‎指令自然也‎不同,不论冯诺伊‎曼结构还是‎哈佛结构都‎是这样。

技术上,程序存储器‎和非易失数‎据存储器都‎可以只用F‎A LSH结‎构或EEP‎R OM结构‎,甚至可以用‎“变通”的技术手段‎在程序存储‎区模拟“数据存储区‎”,但就算如此‎,概念上二者‎依然不同,这是基本常‎识问题。

没有严谨的‎工作精神,根本无法成‎为真正的技‎术高手。

现在的单片‎机,RAM主要‎是做运行时‎数据存储器‎,FLASH‎主要是程序‎存储器,EEPRO‎M主要是用‎以在程序运‎行保存一些‎需要掉电不‎丢失的数据‎.楼上说的很好‎另外,一些变量,都是放到R‎A M里的,一些初始化‎数据比如液‎晶要显示的‎内容界面,都是放到F‎L ASH区‎里的(也就是以前‎说的ROM‎区),EEPRO‎M可用可不‎用,主要是存一‎些运行中的‎数据,掉电后且不‎丢失ROM和R‎A M指的都‎是半导体存‎储器,ROM是R‎e ad Only Memor‎y的缩写,RAM是R‎a ndom‎Acces‎s Memor‎y的缩写。

FLASH存储器和EEPROM存储器的区别

FLASH存储器和EEPROM存储器的区别

FLASH存储器和EEPROM存储器的区别FLASH存储器和EEPROM存储器的区别1、首先从IO引脚占用方面比较,EEPROM只需占用两个IO引脚,时钟(clk)和数据(data)引脚,外加电源三个引脚即可,符合I2C通讯协议。

而FLASH需要占用更多IO引脚,有并行和串行的,串行的需要一个片选(cs)引脚(可用作节电功耗控制),一个时钟(clk)引脚,FLASH读出和写入引脚各一个,也就是四个。

并行的需要8个数据引脚,当然比串行的读写速度要快。

2、从功能方面比较,EEPROM可以单字节读写,FLASH部分芯片只能以块方式擦除(整片擦除),部分芯片可以单字节写入(编程),一般需要采用块写入方式;FLASH比EEPROM读写速度更快,可靠性更高。

但比单片机片内RAM的读写还要慢。

3、价格方面比较,FLASH应该要比EEPROM贵。

另供参考:EEPROM,EPROM,FLASH 都是基于一种浮栅管单元(Floating gate transister)的结构。

EPROM的浮栅处于绝缘的二氧化硅层中,充入的电子只能用紫外线的能量来激出,EEPROM 的单元是由FLOTOX(Floating- gate tuneling oxide transister)及一个附加的Transister 组成,由于FLOTOX的特性及两管结构,所以可以单元读/写。

技术上,FLASH是结合EPROM 和EEPROM技术达到的,很多FLASH使用雪崩热电子注入方式来编程,擦除和EEPROM一样用Fowler-Nordheim tuneling。

但主要的不同是,FLASH对芯片提供大块或整块的擦除,这就降低了设计的复杂性,它可以不要EEPROM单元里那个多余的Tansister,所以可以做到高集成度,大容量,另FLASH的浮栅工艺上也不同,写入速度更快。

其实对于用户来说,EEPROM和FLASH 的最主要的区别就是1。

EEPROM可以按“位”擦写,而FLASH 只能一大片一大片的擦。

单片机内Flash与EEPROM作用及区别(精)

单片机内Flash与EEPROM作用及区别(精)

单片机内的Flash与EEPROM作用及区别单片机运行时的数据都存在于RAM(随机存储器中,在掉电后RAM中的数据是无法保存的,那么怎样使数据在掉电后不丧失呢 ?这就需要使用EEPROM或FLASHROM等存储器来实现。

在传统的单片机系统中,一般是在片外扩展存储器,单片机与存储器之间通过IIC或SPI等接口来进行数据通信。

这样不光会增加开发本钱,同时在程序开发上也要花更多的心思。

在STC单片机中内置了EEPROM(其实是采用IAP技术读写内部FLASH来实现EEPROM,这样就节省了片外资源,使用起来也更加方便。

下面就详细介绍STC单片机内置EEPROM及其使用方法。

flash是用来放程序的,可以称之为程序存储器,可以擦出写入但是根本都是整个扇区进行的.一般来说单片机里的flash都用于存放运行代码,在运行过程中不能改;EEPROM是用来保存用户数据,运行过程中可以改变,比方一个时钟的闹铃时间初始化设定为12:00,后来在运行中改为6:00,这是保存在EEPROM里,不怕掉电,就算重新上电也不需要重新调整到 6:00下面是网上详细的说法,感觉不错:FLASH和EEPROM的最大区别是FLASH按扇区操作,EEPROM那么按字节操作,二者寻址方法不同,存储单元的结构也不同,FLASH的电路结构较简单,同样容量占芯片面积较小,本钱自然比EEPROM低,因而适合用作程序存储器,EEPROM那么更多的用作非易失的数据存储器。

当然用FLASH做数据存储器也行,但操作比EEPROM麻烦的多,所以更“人性化〞的MCU设计会集成FLASH和EEPROM两种非易失性存储器,而廉价型设计往往只有FLASH,早期可电擦写型MCU那么都是EEPRM结构,现在已根本上停产了。

在芯片的内电路中,FLASH和EEPROM不仅电路不同,地址空间也不同,操作方法和指令自然也不同,不管冯诺伊曼结构还是哈佛结构都是这样。

技术上,程序存储器和非易失数据存储器都可以只用FALSH结构或EEPROM结构,甚至可以用“变通〞的技术手段在程序存储区模拟“数据存储区〞但,就算如此,概念上二者依然不同,这是根本常识问题。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机内的 Flash 与 EEPROM 作用及区别
单片机运行时的数据都存在于 RAM (随机存储器中, 在掉电后 RAM 中的数据是无
法保留的,那么怎样使数据在掉电后不丢失呢?这就需要使用 EEPROM 或FLASHROM 等
存储器来实现。

在传统的单片机系统中, 一般是在片外扩展存储器, 单片机与存储器之间通
过 IIC 或 SPI 等接口来进行数据通信。

这样不光会增加开发成本,同时在程序开发上也要花
更多的心思。

在 STC 单片机中内置了 EEPROM (其实是采用 IAP 技术读写内部 FLASH 来
实现 EEPROM ,这样就节省了片外资源,使用起来也更加方便。

下面就详细介绍 STC 单
片机内置 EEPROM 及其使用方法。

flash 是用来放程序的,可以称之为程序存储器,可以擦出写入但是基本都是整个扇区进行的 .
一般来说单片机里的 flash 都用于存放运行代码,在运行过程中不能改; EEPROM 是用来保存用户数据,运行过程中可以改变,比如一个时钟的闹铃时
间初始化设定为 12:00,后来在运行中改为 6:00,这是保存在 EEPROM 里, 不怕掉电,就算重新上电也不需要重新调整到 6:00
下面是网上详细的说法,感觉不错:
FLASH 和 EEPROM 的最大区别是 FLASH 按扇区操作, EEPROM 则按字节操作, 二者寻址方法不同,存储单元的结构也不同, FLASH 的电路结构较简单,同样容量占芯片面积较小,成本自然比 EEPROM 低,因而适合用作程序存储器, EEPROM 则更多的用作非易失的数据存储器。

当然用 FLASH 做数据存储器也行, 但操作比EEPROM 麻烦的多,所以更“人性化”的 MCU 设计会集成 FLASH 和 EEPROM 两种非易失性存储器,而廉价型设计往往只有 FLASH ,早期可电擦写型 MCU 则都是EEPRM 结构,现在已基本上停产了。

在芯片的内电路中, FLASH 和 EEPROM 不仅电路不同,地址空间也不同,操作方法和指令自然也不同, 不论冯诺伊曼结构还是哈佛结构都是这样。

技术上, 程序存储器和非易失数据存储器都可以只用 FALSH 结构或 EEPROM 结构, 甚至可以用“变通”的技术手段在程序存储区模拟“数据存储区” ,但就算如此,概念上二者依然不同,这是基本常识问题。

EEPROM :电可擦除可编程只读存储器, Flash 的操作特性完全符合 EEPROM 的定义,属 EEPROM 无疑,首款 Flash 推出时其数据手册上也清楚的标明是EEPROM ,现在的多数 Flash 手册上也是这么标明的,二者的关系是“白马”和
“马” 。

至于为什么业界要区分二者, 主要的原因是 Flash EEPROM 的操作方法和传统 EEPROM 截然不同,次要的原因是为了语言的简练,非正式文件和口语中Flash EEPROM 就简称为 Flash , 这里要强调的是白马的“白” 属性而非其“马” 属性以区别 Flash 和传统 EEPROM 。

Flash 的特点是结构简单, 同样工艺和同样晶元面积下可以得到更高容量且大数据量
下的操作速度更快,但缺点是操作过程麻烦,特别是在小数据量反复重写时, 所以在 MCU 中 Flash 结构适于不需频繁改写的程序存储器。

很多应用中,需要频繁的改写某些小量数据且需掉电非易失,传统结构的EEPROM 在此非常适合, 所以很多 MCU 内部设计了两种 EEPROM 结构, FLASH
的和传统的以期获得成本和功能的均衡, 这极大的方便了使用者。

随着 ISP 、 IAP 的流行,特别是在程序存储地址空间和数据存储地址空间重叠的 MCU 系中,现在越来越多的 MCU 生产商用支持 IAP 的程序存储器来模拟 EEPROM 对应的数据存储器, 这是低成本下实现非易失数据存储器的一种变通方法。

为在商业宣传上取得和双 EEPROM 工艺的“等效”性,不少采用 Flash 程序存储器“模拟” (注意,技术概念上并非真正的模拟 EEPROM 数据存储器的厂家纷纷宣称其产品是带 EEPROM 的,严格说,这是非常不严谨的,但商人有商人的目的和方法,用 Fla sh “模拟” EEPROM 可以获取更大商业利益,所以在事实上,技术概念混淆的始作俑者正是他们。

从成本上讲, 用Flash “模拟” EEPROM 是合算的, 反之不会有人干, 用 EEPROM 模拟 Flash 是怎么回事呢?这可能出在某些程序存储空间和数据存储空间连续的MCU 上。

这类 MCU 中特别是存储容量不大的低端 MCU 依然采用 EEPROM 作为非易失存储器,这在成本上反而比采用 Flash 和传统 EEPROM 双工艺的设计更低, 但这种现象仅仅限于小容量前提下。

因 Flash 工艺的流行, 现在很多商人和不够严谨的技术人员将程序存储器称为 Flash ,对于那些仅采用传统 EEPROM 工艺的MCU 而言,他们不求甚解,故而错误的将 EEPROM 程序存储器称为“ 模拟Flash ” ,根本的原因是他们未理解 Flash 只是一种存储器结构而非存储器的用途,错误的前提自然导致错误的结论。

商业上讲,用 EEPROM 模拟 Flash 是不会有人真去做的愚蠢行为,这违背商业追求最大利益的原则,技术上也不可行, 而对于技术人员而言。

本质的问题是 Flash 是一种存储器类型而非 MCU 中的程序存储器,即使 MCU 的程序存储器用的是 Flash ,但其逆命题不成立。

相关文档
最新文档