首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

嵌入式存储器以及BootLoader的一些总结

嵌入式存储器以及BootLoader的一些总结



RAMROM在单片机中的相关应用
     ROMRAM指的都是半导体存储器,ROMReadOnly Memory的缩写,RAMRandomAccess Memory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。
     RAM有两大类,一种称为静态RAMStaticRAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。另一种称为动态RAMDynamic RAM/DRAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。



简单来说,最原始的单片机比如at89c51,内部集成了ROMRAMROM用来存储编好的程序、常数、表格等,当单片机掉电ROM中的数据不会丢失,因此单片机掉电再上电还会继续运行;RAM可以存放用户的临时变量、还有单片机内部的特殊寄存器等,单片机掉电后数据会丢失,当在上电后程序执行,重新初始化寄存器和变量的值。


Flash在嵌入式系统中的应用



一般小容量的用NORFlash,因为其读取速度快,多用来存储操作系统等重要信息,而大容量的用NAND FLASHNOR Flash可以拥有 SDRAM的接口,拥有更多的地址线来方便读取内存中的每一个字节;NAND flash AND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用NAND的困难在于flash的管理和需要特殊的系统接口。
    Serial Flash 拥有spi的接口可以页读、任意地址读。并且它可以有四线SPI,双线SPIDDR接口。它可以利用spi的外部地址总线的方式来直接在外部flash中运行程序,不过运行速度是个有待考虑的问题。
嵌入式Boot Loader

在嵌入式中一些产品中,采用的启动方式中,根据不同的芯片结构而不同。拿计算机的启动来说,计算机引导加载程序由BIOS和位于硬盘MBR中的OS Boot Loader组成,其实BIOS就是一段固化程序,现在很多嵌入式的芯片内部都会有一段类似的程序来,这段程序的用途通俗的讲就是来加载Boot Loader的。计算机也一样,BIOS在完成系统硬件检测和资源分配后,将硬盘MBR中的Boot Loader读到系统的RAM中,然后将控制权交给OS Boot LoaderBoot Loader的主要任务就是将内核映像从硬盘读到RAM中,然后跳转到内核的入口点运行,即开启操作系统。



简单来说BootLoader有两种模式,一种叫做Down Loader,一种叫做loaderDownLoader这种模式中主要是程序员开发阶段需要一种模式,这种模式主要是通过调试器将程序代码下载到内部RAM中去,然后通过Boot Loader 写到目标机的Flash或者其他存储设备中去。这种模式只是在开发人员在项目开发阶段使用的一种模式。在项目完成后的成品中,Boot Loader会一直工作在loader 模式中。其大概做的事情就是硬件设备初始化,为Boot Loader以后的工作设定先决条件;设置堆栈、检测系统内存映射,将系统映像或者程序代码段从Flash上读取到内部RAM中,有的系统会加载到SDRAM中,还有的会直接在外部FLASH上运行。


科通芯城www.cogobuy.com)中国首个ic元器件自营电商整理编辑
返回列表