标题:
嵌入式存储器以及BootLoader的一些总结
[打印本页]
作者:
cogobuy123
时间:
2012-8-14 17:55
标题:
嵌入式存储器以及BootLoader的一些总结
RAM
和
ROM
在单片机中的相关应用
ROM
和
RAM
指的都是半导体存储器,
ROM
是
ReadOnly Memory
的缩写,
RAM
是
RandomAccess Memory
的缩写。
ROM
在系统停止供电的时候仍然可以保持数据,而
RAM
通常都是在掉电之后就丢失数据,典型的
RAM
就是计算机的内存。
RAM
有两大类,一种称为静态
RAM
(
StaticRAM/SRAM
),
SRAM
速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如
CPU
的一级缓冲,二级缓冲。另一种称为动态
RAM
(
Dynamic RAM/DRAM
),
DRAM
保留数据的时间很短,速度也比
SRAM
慢,不过它还是比任何的
ROM
都要快,但从价格上来说
DRAM
相比
SRAM
要便宜很多,计算机内存就是
DRAM
的。
简单来说,最原始的单片机比如
at89c51
,内部集成了
ROM
,
RAM
。
ROM
用来存储编好的程序、常数、表格等,当单片机掉电
ROM
中的数据不会丢失,因此单片机掉电再上电还会继续运行;
RAM
可以存放用户的临时变量、还有单片机内部的特殊寄存器等,单片机掉电后数据会丢失,当在上电后程序执行,重新初始化寄存器和变量的值。
Flash
在嵌入式系统中的应用
一般小容量的用
NORFlash
,因为其读取速度快,多用来存储操作系统等重要信息,而大容量的用
NAND FLASH
。
NOR Flash
可以拥有
SDRAM
的接口,拥有更多的地址线来方便读取内存中的每一个字节;
NAND flash AND
结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用
NAND
的困难在于
flash
的管理和需要特殊的系统接口。
Serial Flash
拥有
spi
的接口可以页读、任意地址读。并且它可以有四线
SPI
,双线
SPI
的
DDR
接口。它可以利用
spi
的外部地址总线的方式来直接在外部
flash
中运行程序,不过运行速度是个有待考虑的问题。
嵌入式
Boot Loader
在嵌入式中一些产品中,采用的启动方式中,根据不同的芯片结构而不同。拿计算机的启动来说,计算机引导加载程序由
BIOS
和位于硬盘
MBR
中的
OS Boot Loader
组成,其实
BIOS
就是一段固化程序,现在很多嵌入式的芯片内部都会有一段类似的程序来,这段程序的用途通俗的讲就是来加载
Boot Loader
的。计算机也一样,
BIOS
在完成系统硬件检测和资源分配后,将硬盘
MBR
中的
Boot Loader
读到系统的
RAM
中,然后将控制权交给
OS Boot Loader
,
Boot Loader
的主要任务就是将内核映像从硬盘读到
RAM
中,然后跳转到内核的入口点运行,即开启操作系统。
简单来说
BootLoader
有两种模式,一种叫做
Down Loader
,一种叫做
loader
;
DownLoader
这种模式中主要是程序员开发阶段需要一种模式,这种模式主要是通过调试器将程序代码下载到内部
RAM
中去,然后通过
Boot Loader
写到目标机的
Flash
或者其他存储设备中去。这种模式只是在开发人员在项目开发阶段使用的一种模式。在项目完成后的成品中,
Boot Loader
会一直工作在
loader
模式中。其大概做的事情就是硬件设备初始化,为
Boot Loader
以后的工作设定先决条件;设置堆栈、检测系统内存映射,将系统映像或者程序代码段从
Flash
上读取到内部
RAM
中,有的系统会加载到
SDRAM
中,还有的会直接在外部
FLASH
上运行。
由
科通芯城
(
www.cogobuy.com
)中国首个
ic
元器件自营电商整理编辑
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0