既生Flash,又何生EEPROM?

我们正常编译生成的二进制文件,需要下载烧录到单片机里面去,这个文件保存在单片机的ROM中,ROM这个名称指的是「read only memory」的意思,所有可以完成「read only memory」这种特性的存储介质都可以称为ROM,我们一般使用的单片机里面使用的是EEPROM。

OTP「一次性可编程芯片」跟EEPROM可以说是相辅相成的。

EEPROM的全称是「电可擦除可编程只读存储器」,即Electrically Erasable Programmable Read-Only Memory。

电擦除和紫外线擦除是两种不同的擦除方式,我现在知道用紫外线擦除的ROM是EPROM。

EPROM芯片有一个很明显的特征,在其正面的陶瓷封装上,开有一个玻璃窗口,透过该窗口,可以看到其内部的集成电路,紫外线透过该孔照射内部芯片就可以擦除其内的数据,完成芯片擦除的操作要用到EPROM擦除器。EPROM内资料的写入要用专用的编程器,并且往芯片中写内容时必须要加一定的编程电压(VPP=12~24V,随不同的芯片型号而定)。

EPROM的型号是以27开头的,如27C020(8*256K)是一片2M Bits容量的EPROM芯片。EPROM芯片在写入资料后,还要以不透光的贴纸或胶布把窗口封住,以免受到周围的紫外线照射而使资料受损。

---- EEPROM拯救了这一切

EEPROM的出现可以说是跨时代的,因为ROM可以多次编程了,对于程序员来说,终于可以多次烧写单片机了,更让我们兴奋的是,我们可以使用电擦除,而不是紫外线擦除了。

从擦除次数上,EEPROM可以擦除100W次,而且EEPROM可以针对每一个区块,也就是每一个位置写 「0」或者 写 「1」,如果大家知道FLASH特性的话,就会觉得EEPROM是多么优秀。而且数据的保存时间可以达到100年。

当然了,特点就是电路复杂,成本高,因为成本高就导致了EEPROM的大小不是非常大,一般在512KB 以下。

---- Flash:

如果从电擦除这个特性上说的话,FLASH也是EEPROM的一种,不同的是,FLASH的擦除区块不是一个字节,而是扇区来擦除,也是因为这样的特性,才导致FLASH价格比EEPROM便宜。

为什么单片机中还要既有Flash又有EEPROM呢?

不仅仅是单片机,很多ARM处理器也是这样,需要有ROM来存储WIFI、蓝牙的MAC地址之类的。

简单来说,当然是为了省钱啊,如果有钱,我肯定是放几个G的EEPROM,不用就放着也可以,但是实力不允许啊。

所以EEPROM就用来存储一些小东西,比如开机次数,常用的标志位之类的东西。FLASH就用来存储比较大的,比如固件,如果是MP3这类的产品,就可以用FLASH来保存歌曲。

推荐阅读:

    专辑|Linux文章汇总

    专辑|程序人生

    专辑|C语言

嵌入式Linux

微信扫描二维码,关注我的公众号 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/467198.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网吧电影服务器解决方案完全指南(一)

我们在这里所讲到的流媒体服务器&#xff0c;从本质上来讲&#xff0c;根本目的也是为了满足顾客这方面的要求。但相对于目前大多数网吧采用的系统来说&#xff0c;主要基于我们吸引顾客&#xff0c;在影视点播方面体现本网吧区别于其他竞争对手的特色。 <?xml:namespace p…

URLEncoder.encode问题

遇到java里的URLEncoder.encode方法编码后与javascript的encodeURIComponent方法的结果有点不一样&#xff0c;找了一下资料&#xff0c;原来URLEncoder实现的是HTML形式的规范&#xff0c;jdk文档里这么说&#xff1a; Utility class for HTML form encoding. This class cont…

数字油田

随着技术的进步和应用的深入&#xff0c;数字油田的概念也处于不断的发展之中&#xff0c;因此&#xff0c;到目前为止&#xff0c;数字油田尚无一个确切的概念&#xff0c;就目前的应用而言&#xff0c;数字油田一般可以描述为&#xff1a;数字油田是以油田为研究对象&#xf…

文本或代码中 \n 和 \r 的区别

我们使用printf打印时基本都会用到 \n 和 \r 之类控制字符&#xff0c;比如&#xff1a;printf("hello world!\r\n");那你知道这些 \n 和 \r 的区别吗&#xff1f;# 关于「 \n 」 和「 \r 」在ASCII码中&#xff0c;我们会看到有一类不可显示的字符&#xff0c;叫控制…

NYOJ276 比较字母大小

描述任意给出两个英文字母&#xff0c;比较它们的大小&#xff0c;规定26个英文字母A,B,C.....Z依次从大到小。 输入第一行输入T&#xff0c;表示有T组数据&#xff1b;接下来有T行&#xff0c;每行有两个字母&#xff0c;以空格隔开&#xff1b;输出输出各组数据的比较结果&am…

公布一个硬盘杀手的分析报告

这个东东不是新货了&#xff0c;最近发现受害者在增多&#xff0c;严重的是这个病毒破坏的硬盘数据&#xff0c;很难修复&#xff0c;有必要公布这个病毒的更多细节。病毒名&#xff1a;Win32.Troj.Small.cf.40960该病毒是一个硬盘杀手。该病毒会向硬盘分区的各分区起始扇区写入…

中兴5G和展锐原厂芯片开发,怎么选?

最近跟一个读友聊天&#xff0c;谈到的还是offer选择的问题&#xff0c;我觉得讨论这个问题比讨论技术问题更加重要「特别是刚出校门的学生&#xff0c;选择一个好的行业比刚毕业的薪资重要」。当然了&#xff0c;肯定有人跟我说我不务正业&#xff0c;整天瞎BB&#xff0c;好的…

qsort 三级排序

nyoj 一种排序 描述现在有很多长方形&#xff0c;每一个长方形都有一个编号&#xff0c;这个编号可以重复&#xff1b;还知道这个长方形的宽和长&#xff0c;编号、长、宽都是整数&#xff1b;现在要求按照一下方式排序&#xff08;默认排序规则都是从小到大&a…

梦中女孩,不知还能不能再见你一面

我将于茫茫人海之中&#xff0c;访我惟一灵魂伴侣&#xff0c;得之我幸&#xff0c;失之我命&#xff0c;如是而已.那天,第一次见到你,没有陌生的感觉,很熟悉很熟悉.那天,你走了,留给我的仅有一个浅浅的微笑.那天,没有机会和你告别,没有机会和你说声再会.那天,再一次见到你,我们…

40张动图揭示各种传感器工作原理!

应变加速度感应器▼称重式料位计▼电子皮带秤重示意图▼电子吊车秤▼荷重传感器用于测量汽车衡的原理▼荷重传感器的应用▼TiO2氧浓度传感器结构及测量电路▼布料张力测量及控制原理▼直滑式电位器控制气缸活塞行程▼电位器式传感器▼陶瓷湿度传感器▼多孔性氧化铝湿敏电容原理…

lpad与rpad

--lpad(str, n, [pad_str])--rpad(str, n, [pad_str])-- 如果n<length(str),则显示substr(str,1,n)-- 否则&#xff0c;分别从左边和右边使用pad_str进行填充-- 其中n表示最后输出结果字符串的长度-- 如果pad_str为空&#xff0c;则用空格来填充select lpad(abc,2,#) from d…

利用qsort二级排序

qsort int comp(const void *a,const void *b) { struct node*c(node*)a; struct node*d(node*)b; if(c->x!d->x) return c->x-d->x; else return c->y-d->y; } qsort(s,m,sizeof(s[0]),comp); qsort的二级排序完整代码&#xff1a; #include<stdio.…

git log 你学废了吗?

# 前言Git 是一个工具&#xff0c;用来管理代码的东西&#xff0c;要是Git 使用不好&#xff0c;确实还是挺尴尬的&#xff0c;我今晚看了个文章&#xff0c;发现Git log 是的玄机都还很多。比如这样的# git log --help如果觉得git 还不会用&#xff0c;可以看看git log --help…

部署WSE3.0实战:性能、证书与WSE910错误

早些时候看WSE3.0附带sample code&#xff0c;似乎挺简单&#xff0c;根据项目情况&#xff0c;选择UsernameForCertificate断言&#xff0c;使用测试服务证书在本机上&#xff08;winxp SP2&#xff09;执行很顺利&#xff0c;可以将Web service 部署到服务器上就得到“WSE 91…

cors

起因 有同学在nginx站点配置中加了一行Access-Control-Allow-Origin *,导致微信中业务数据异常&#xff0c;抓包看http头有两个Access-Control-Allow-Origin字段&#xff0c;一个是站点自己的域名&#xff0c;一个是*。 为了实现跨域资源访问&#xff0c;在代码和nginx配置中都…

qsort与sort

sort()函数是C中的排序函数其头文件为&#xff1a;#include<algorithm>头文件&#xff1b; qsort()是C中的排序函数&#xff0c;其头文件为&#xff1a;#include<stdlib.h> sort是不需要自己写compare的&#xff0c;sort默认是升序排列&#xff0c;如果想要降序就…

别错过校招

我不是很想讨论这个问题&#xff0c;也没有想过我现在要用这个话题做文章的标题&#xff0c;这篇文是提醒准备毕业的同学们&#xff0c;校招非常重要。今天晚上&#xff0c;一个微信好友问「发哥&#xff0c;我现在研究生毕业&#xff0c;但是自己的基础非常不好&#xff0c;也…

spring集成 log4j + slf4j

以maven web项目为例&#xff0c; 首先、在pom文件引入相关依赖&#xff0c;如下&#xff08;spring官网文档有介绍&#xff09;&#xff1a; <dependencies><!-- spring 相关 --><dependency><groupId>org.springframework</groupId><artifa…

喜讯,Asp.net Ajax 文档提供下载

今天去了一下 Asp.net Ajax 的官方网站&#xff0c;准备挑战自己的耐心去映着头皮跨过那所谓的修好的电缆去读 Asp.net Ajax 的文档。发现一个喜讯&#xff0c;不知道到什么时候&#xff0c;Asp.net Ajax 的文档提供下载了。我下载了一个&#xff0c;包括文档,代码和示例数据库…

大数阶乘

描述我们都知道如何计算一个数的阶乘&#xff0c;可是&#xff0c;如果这个数很大呢&#xff0c;我们该如何去计算它并输出它&#xff1f; 输入输入一个整数m(0<m<5000)输出输出m的阶乘&#xff0c;并在输出结束之后输入一个换行符样例输入50 样例输出304140932017133780…