嵌入式系统讲义4-存储系统即启动分析_第1页
嵌入式系统讲义4-存储系统即启动分析_第2页
嵌入式系统讲义4-存储系统即启动分析_第3页
嵌入式系统讲义4-存储系统即启动分析_第4页
嵌入式系统讲义4-存储系统即启动分析_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2023/2/214.1存储系统概述4.1.1半导体存储器4.1.2存储器的性能指标4.1.3常用的几种存储器2023/2/224.1.1半导体存储器作用存放程序与数据嵌入式系统存储器的特殊要求集成度高、体积小、功耗低发展趋势片上集成Why?——性能、可靠性、成本片内存储器VS片外存储器片内:速度快、容量小片外:容量大、速度慢2023/2/234.1.2存储器的性能指标性能指标只读性挥发性:掉电丢失与否有关存储容量速度功耗可靠性2023/2/244.1.3常用的几种存储器SRAM(静态随机存储器)存储密度小6管结构,占用较大芯片面积价格较高功耗较高容量较小存取速度快接口时序简单2023/2/254.1.3常用的几种存储器(续)DRAM(动态随机存储器)存储密度大单管结构单位存储成本较低功耗较低容量较大接口时序复杂需要刷新电路2023/2/264.1.3常用的几种存储器(续)EEPROM非挥发存储密度小单位存储成本较高容量小写入有限制,页写要等待接口时序简单,一般采用串行接口小量参数存储2023/2/274.1.3常用的几种存储器(续)Flash(闪存存储器)非挥发存储密度大单位存储成本较低容量大接口时序复杂——需要擦除及Block写NORFlash&NANDFlash2023/2/284.1.3常用的几种存储器(续)FRAM(铁电存储器)非挥发功耗低读写速度快接口时序简单类似SRAM接口成本高2023/2/294.1.3常用的几种存储器(续)并行接口存储器引脚数目多——三大总线地址、控制总线数据总线(8/16/32位)存储容量大适用于大容量存储场合存取速度快接口时序复杂,编程透明2023/2/2104.1.3常用的几种存储器(续)串行接口存储器引脚数目极少存储容量较小适用于较小存储容量场合存取速度较慢使用串行接口通信,接口标准化,编程不透明I2C、SPI可以用软件通过GPIO模拟2023/2/2114.2存储设备组织4.2.1存储器的结构4.2.2嵌入式系统存储器子系统4.2.3S5pv210的存储分配2023/2/2124.2.1存储器的结构2023/2/2134.2.2嵌入式系统存储器子系统与通用计算机并无本质区别,但有自身特点存储密度要求功耗要求片内集成存储器——彻底抛弃片外存储器一般焊接在板子上,较少采用内存条存储空间分配嵌入式系统一般具有多种类型存储器支持多种存储器扩展接口灵活、可配置S5PV210框图2023/2/214S5PV210来说,采用ContextA8架构,具有32KB的一级缓存(Cache)和512K的二级缓存。S5PV210有一个96K的iRam和一个64K的iRom。iRom是拿来存放ContextA8的启动BL0的,在出厂的时候由生产商固化在里面,iRam是ContextA8的内部RAM,这个才是真正意义上的内存,BL0会把BL1拷贝到iRam中运行。S5PV210支持存储接口包括SRAM/ROM,OneNAND,SLC/MLCNAND,LPDDR1/LPDDR2/DDR2。4.2.3S5pv210的存储分配2023/2/2164.3Flash接口1概述2

Flash的操作3

Flash存储器芯片4

Flash存储器的应用5

Flash驱动程序2023/2/2171概述主要目标是替代EEPROM存储容量大读取速度快成本低保护机制不足之处必须先擦除后写入擦写速度较慢必须以Block方式写入2023/2/2181概述(续)NORFlash——英特尔所发展的架构随机读取任意单元的内容,读取速度较快,写入和擦除速度较低,可在单位块上直接进行数据的读写应用程序可以直接在Flash内运行常用于BIOS存储器和微控制器的内部程序存储器等NANDFlash——东芝所发展的架构读取速度较NORFlash慢,写入和擦除速度要比NORFlash快很多在相同密度下,成本较NOR型低适用于大容量存储装置(SSD、U盘)OneNANDOneNand是针对消费类电子和下一代移动手机市场而设计的,一种高可靠性嵌入式存储设备。由Samsung开发,支持更快速数据吞吐和更高的密度,这两点是满足高分辨率摄影、视频和其他媒体应用的两个主要要求。OneNAND可看作NOR和NAND技术的一种混合。从本质上来讲,一个单独的OneNAND芯片集成了一个NOR闪存接口,NAND闪存控制器逻辑、一个NAND闪存阵列,以及高达5KB的缓冲RAM。至于速度,它能以高达108MB/s的持续读数据率传输。OneNand既实现NORFlash的高速读取速度,又保留了NandFlash的大容量数据存储的优点。2023/2/219OneNANDOneNAND器件有两种类型:muxed和demuxed。对于muxed型,地址引脚和数据引脚结合在一起,而demuxed型芯片这两个引脚是分开的。OneNAND的芯片组的主要目标是3G电话。除多媒体手机设计外,OneNAND是混合硬盘用非易失性缓冲器一个有价值的选择。NOR闪存适合代码存储,就是说,固件、器件应用等,而NAND闪存处理存储量大的类似于硬盘驱动的例行工作。OneNAND闪存两个优点都具备,它能胜任代码和海量数据存储,同时效率更高。2023/2/220OneNandNandNor

三种Flash的区别应用需求NANDOneNANDNOR快速随机读取

√快速顺序读取√√√快速

写/编程√√

同时擦除多个块

(最大64个块)√擦除的挂起/恢复

√√写回√(错误检测)√

(错误检测与纠正)

锁/解锁/紧锁

√√错误纠正外部

(硬件/软件)内置不需要扩展性√√

2023/2/221OneNandNandNor

三种Flash的区别:2023/2/2222

Flash的操作Flash的操作有三种读操作简单,与SRAM接口一样擦除操作整片擦除、Block擦除(专用时序)写操作也叫编程,Block写(专用时序)Flash的擦除、写等操作,多以命令的方式完成2023/2/2233

Flash存储器芯片AMD的AM29LV320DB芯片NORFlash2MX1690ns(读操作)SectorWrite/protection软件数据保护2023/2/2244

Flash存储器的应用采用类似SRAM的连接方式可以和SRAM合用一个存储器端口对Flash的编程需要专用接口GPIO2023/2/2255

Flash驱动程序编程程序不同的Flash芯片,其编程方式、命令均有不同采用软件驱动来完成Flash编程驱动需根据具体芯片的操作来书写注意错误、意外情况处理Bootloader启动流程分析从操作系统的角度看,Bootloader的总目标就是正确地调用内核来执行。另外,由于Bootloader的实现依赖于CPU的体系结构,因此大多数Bootloader都分为stage1和stage2两大部分,以使Bootloader的功能更加强大和提供更加良好的移植性能。2023/2/226Bootloader启动流程分析stage1主要是一些依赖于CPU体系结构的代码,比如硬件设备初始化代码等。这一阶段的代码主要是通过汇编来实现的,以达到短小精悍和高效的目的。stage1为位置无关代码,通常在Flash中运行。所以有的指令为相对寻址,可以在任何位置运行。2023/2/227stage1负责的主要任务有:①硬件设备初始化包括:关闭Watchdog、关闭中断、设置CPU的速度和时钟频率、配置SDRAM存储控制器及IO、关闭处理器内部指令/数据Cache等;②为加载Bootloader的stage2代码准备RAM空间(这个地址由链接脚本指定为运行域地址,通常为RAM的高端地址)测试内存空间是否有效;③复制Bootloader的stage2代码到RAM空间中;④设置好堆栈;⑤跳转到stage2的C函数入口点2023/2/228stage2则是通常用C语言来实现,这样可以实现更复杂的功能,而且代码会具有更好的可读性和可移植性。stage2负责的主要任务有:①初始化本阶段要使到的硬件设备(如串口、Flash和网卡等);②检测系统内存映射;③没有用户干预时将内核映像从Flash读到RAM空间中;④为内核设置启动参数;⑤调用内核。2023/2/229S5PV210含有一个大小为64KB的IROM,起始地址为0xD0000000,结束地址为0xD000FFFF;含有一个大小为96KB的IRAM,起始地址为0xD0020000,结束地址为0xD0037FFF;内存起始地址为0x20000000,有二个内存块,DRAM0和DRAM1大小分别为512MB、1024MBS5PV210启动流程分析S5PV210启动过程主要可分为3个阶段。①S5PV210上电复位后将从IROM处执行已固化的启动代码-------BL0②在BL0里初始化过程中对启动设备进行判断,并从启动设备拷贝BL1(最大16KB)到IRAM处,即0xD0020000开始的地址,其中0xD0020000~0xD0020010的16字节为BL1的校验信息和BL1尺寸,并对BL1进行校验,校验通过转入BL1进行执行,BL1继续初始化,并拷贝BL2(最大80KB)到IRAM中并对其校验,通过后转入BL2③BL2完成一些比较复杂的初始化,包括DRAM的初始化,完成后将OS代码拷贝到DRAM中,并跳到OS中执行并完成启动引导。BL0固化代码主要完成以下初始化:①关闭看门狗;②初始化icache;③初始化栈;④初始化堆;⑤初始化块设备拷贝功能;⑥设置系统时钟;⑦拷贝BL1到iRAM;⑧检查BL1的校验和,如果失败则第二启动模式(安全启动模式),校验成功则跳到0xD0020000(IRAM)处执行。其中0xD0020000~0xD0020010里的16字节头部信息用户是不能随便设置的!!!在从启动设备(如:NANDFLASH/SD卡)拷贝BL1的前16K数据到IRAM时,这16K数据中的前16byte中保存了校验和的值以及BL1的大小,在拷贝过程中CPU会计算出当前bin文件中的校验和,然后与保存的校验和进行比较,如果二者相等则继续运行程序,否则,不执行。S5PV210启动模式设置S5PV210启动模式设置UARTbootmode210iROM支持URT下载模式。不管选择什么启动设备,通过发送符号位到DNW,UART下载模式总是被检查。对于UART下载模式没有选择信号,因此,为了避免UART超时出错,在开发板上电之前,用户必须先设置DNW软件。也就是在iROM运行时,BL1代码已经选择并且下载过程已经开始USBbootmode210iRO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论