|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
编写版本:V1.04 m n& `( L6 u9 `* U
一.常用的嵌入式操作系统的存储器有哪些?
1 e) b" R E4 U% q+ h& U存储器大体分为两大类,一类是掉电后存储信息就会丢失,称为“易失性存储器”,另一类是掉电后存储信息依然保留,称为“非易失性存储器”,分支如下图所示:
% z: Y# P# W7 Z! h
) ?* _8 b H' u
6 j9 S& ^- j3 L# E二.各个存储器的特性,使用场景和范围?
' M2 u" h/ s) A2 I. a2.1 SRAM:
- k- U! `8 Z% W- 特性:
9 Q3 {. i9 ]3 B) q: Y. J3 R( j
1.SRAM利用双稳态触发器来保存信息,只要不掉电,信息是不会丢失的。6 b7 o% z8 j* p
& u a; n; M! {7 ?9 \
2.SRAM读取速度是目前存储器中最快的了。& g. k- G& [+ L1 F; z
6 d% ?3 Z) X: l* f* p; r2 _
3.SRAM集成度低,功耗较大,相同的容量体积较大,而且价格较高。
; `& _& r- }% ~) P8 x. i9 S& S8 g) O: O
- 使用场景和范围:" d1 C& f% m; U; Z+ |' \ A* t
, ?9 ]& Y- N6 `+ ^5 W
一般用小容量SRAM作为更高速CPU和较低速DRAM之间的缓存。
# M: r3 c" S0 r5 s% y/ E2 f: }5 S2 c6 I8 P7 |6 M4 r
2.2 SDRAM(Synchronous DRAM):
: |9 P3 o3 s+ X8 ~6 b6 v$ h7 v- 特性:
2 V- u# X4 D! j1 o
" Z. G$ O4 x8 E9 x) X1.DRAM是利用MOS(金属氧化物半导体)电容存储电荷来储存信息,因此必须通过不停的给电容充电来维持信息。( L. F1 K# `6 W/ M
6 S* V# h; Y& Z6 U
2.SDRAM基于双存储体结构,内含两个交错的存储阵列,当CPU从一个存储体或阵列访问数据时,另一个就已为读写数据做好了准备,通过这两个存储阵列的紧密切换,读取效率就能得到成倍的提高。* p% q4 \( Q& \: @ |; i
6 Z' h$ P( e, B8 ^. x- [2 V+ ]3.SDRAM将CPU与RAM通过一个相同的时钟锁在一起,使RAM和CPU能够共享一个时钟周期,以相同的速度同步工作。" K W! z8 @% i7 F
2 K. z, i6 W, d8 A- 使用场景及范围:5 {8 N- N% M+ m a0 X' T) F
/ b5 B8 r+ Z( \1 |* }用于扩大程序代码存储空间、执行或计算,类似内存
2 V; ]- j& s7 v( E7 Y$ A5 Q- G, o* l& q$ p
2.3 DDR SDRAM
1 a( G: G0 ]) O" h5 I) d S6 s- 特性:
; Y9 ~) |9 u: \& k
0 S9 W6 t( c3 `. i5 X, gDDR SDRAM和SDRAM是基本一样,不同之处在于它可以在一个时钟读写两次数据,使得数据传输速度加倍了。
# o: m* g0 X( v8 g: J
. o% l6 R- ^8 k5 @ g- 使用场景及范围:9 Z" A3 e3 m* C$ i; C
- A0 @' e+ B o: r# x3 t8 g. Z" A一般用于需要高速缓冲大量数据系统中,如图像处理与高速数据采集等场合的系统中。
1 g. N5 G' ^2 v9 G3 {# T1 ?' b4 ~/ M6 r5 V; u# @0 D
2.4 EEPROM
5 ?: I! B! k* {4 w$ M b: a8 `- 特性:
3 I0 `/ x. G( m2 y2 ^/ s1 p" O' P! m" C( w% u
1.EEPROM是可以随机访问和修改任何一个字节,可以往每个bit中写入0或者1。7 d/ P/ ~( b3 s8 q; ?5 X/ F4 X0 b
- Z9 y# I) g, q2.EEPROM掉电后数据不丢失,可以保持100年,可以擦写100w次。1 r" o4 Q$ T8 X" V
+ m) D! C5 r7 G' |1 z3 Z3.具有较高的可靠性,但是电路复杂、成本高,因此目前的EEPROM都是几千字节,少有超过512k字节的。9 |% s) N, u7 A# h& e" \% A
8 ^; F3 ^. m4 ^+ M6 T0 a- 使用场景及范围:5 P1 y# d2 O0 S; e: {
/ F+ [0 b. E# X c2 Y; A
EEPROM可以用来存储一些变量(配置参数及少量数据),可根据需要进行修改,并且这些变量掉电后重新上电也不会改变。
0 Q; l7 }" z2 R9 b ~0 Y2 c c& X9 y$ g1 }) H: o$ k
2.5 NOR FLASH- b# [/ x/ T, g: R% ?
- 特性:
% h1 T) O7 _* i% x8 s9 i6 P4 J% F! v4 L% }8 k" G- `) f4 H& K% R4 b
1.芯片内执行(XIP,execute in place),程序可以直接在NOR FLASH片内执行,不需要复制到RAM就可以直接运行。 G3 m% ~) T' D) f$ O& Y
% S0 P" j: b6 ?5 G* q
2.数据线和地址线分开,可以实现ram一样的随机寻址功能,可以读取任何一个字节。$ G( M- l- O. m" t; x" h
, `0 @9 D/ G! C" `: H
3.NOR FLASH的读取和RAM很类型,只要能够提供数据地址,数据总线就能够正确的给出数据,但不可以直接进行写操作,写操作需要遵循特定的命令系列,最终由芯片内部的控制单元完成写操作。5 ~5 ^! `! M# S
; A$ V1 D, m% V9 q6 y3 R
4.从最小访问单元来看,NOR FLASH一般分为8位和16位(有些同时支持8位模式和16位模式)。0 q/ i$ |- G- S& g! u+ ?- C
* g0 D9 I- x, L4 \
5.NOR FLASH的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响到它的性能。(NOR则要求在进行擦除前先要将目标块内所有的位都写为1,擦除NOR器件时是以64~128KB的块进行的,执行一个写入/擦除操作的时间为5s)) F" @& L2 f( Q
) L# Y+ N8 a! z0 @2 a6 B
- 使用场景及范围:
( h ^0 O) B% P( } Z. o
- _, F& e1 `. i7 LNOR FLASH一般只用来存储小容量的程序代码或数据存储,运行期间不允许修改。
7 P* u- c) D, u" E% h
5 I2 N) k8 n, d1 A2.6 NAND FLASH! L; v; i6 ]: I* e8 r3 v6 b
- 特性:6 m' V- X- Z& k& ]8 U& ]8 ~# ^: Z
$ m4 t+ M9 k8 s0 K1 s0 V/ r1.NAND FLASH按块擦除,数据线和地址线复用,不能利用地址线随机寻址,读取只能按页来读取。
$ l) S: O- Z1 V2 x( b
; d7 z9 }7 w$ J/ j0 q2.由于NAND FLASH引脚复用,因此读取速度比NOR FLASH慢一点,但是擦除和写入速度比NOR FLASH快很多。( s! y0 q( H6 g
+ x. w/ H2 f& q5 o" Q6 @
3.NAND FLASH内部电路更简单,因此数据密度大,体积小,成本也低,因此大容量的FLASH都是NAND型的。. A# r6 C, |4 K0 v4 F# u
8 B( _& ?5 I% `, X/ |) V! u4.使用寿命上,NAND FLASH的擦除次数是NOR的数倍。而且NAND FLASH可以标记坏块,从而使软件跳过坏块,NOR FLASH一旦损坏便无法再使用。% n% T. }0 D) }" {, a
% U' c( S% e, j; s7 T* h U9 l
- 使用场景及范围& p- ]* N' u9 X
5 m* ^8 k; n+ V$ U
NAND FLASH结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快,适合高数据存储密度的解决方案。
8 k7 n1 p+ l; c
! z; N) N) N. ]" L3、存储器怎么选型?% m1 l( D, q& @
- 根据系统中存储需求,及各个存储器使用场景及范围选用(引导存储及配置存储必须非易失性存储器,程序存储选用闪存,或数据存储等需求)
4 K, R* a3 X5 I8 H, X( A) W: p5 Y* h( H3 H5 O+ R- x- Y; M3 c6 T* A
- 确定存储器容量大小(大容量pin to pin可替换)及成本控制(不同存储器生产工艺不同)。
; P1 \/ ^& W& O! m5 E4 T
3 U+ }6 l8 y. p- 确定存储器接口类型及开发周期(普遍性)。
% \! u: Y; C' \3 o% S! G) v ]8 v+ I3 v
- 确定存储器的寿命问题(不同FLASH可擦写次数不同)5 b% o8 a# V$ o3 M; Y
! F( B Z% Z$ [: ^/ v
# G; L6 z) y6 s5 S
|
|