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

下载本文档

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

文档简介

1、第四章第四章 存储系统存储系统2022-3-414.1 存储系统概述存储系统概述n4.1.1 半导体存储器半导体存储器n4.1.2 存储器的性能指标存储器的性能指标n4.1.3 常用的几种存储器常用的几种存储器第四章第四章 存储系统存储系统2022-3-424.1.1 半导体存储器半导体存储器n作用作用存放存放程序与数据程序与数据n嵌入式系统存储器的特殊要求嵌入式系统存储器的特殊要求集成度高、体积小、功耗低集成度高、体积小、功耗低n发展趋势发展趋势片上集成片上集成Why?性能、可靠性、成本性能、可靠性、成本n片内存储器片内存储器 VS 片外存储器片外存储器片内片内:速度快、容量小:速度快、容量

2、小片外片外:容量大、速度慢:容量大、速度慢第四章第四章 存储系统存储系统2022-3-434.1.2 存储器的性能指标存储器的性能指标n性能指标性能指标只读性只读性挥发性挥发性:掉电丢失与否有关掉电丢失与否有关存储容量存储容量速度速度功耗功耗可靠性可靠性第四章第四章 存储系统存储系统2022-3-444.1.3 常用的几种存储器常用的几种存储器nSRAM(静态随机存储器)(静态随机存储器)存储密度存储密度小小 6管结构,占用较大芯片面积管结构,占用较大芯片面积价格价格较高较高功耗功耗较高较高容量容量较小较小存取速度存取速度快快接口时序接口时序简单简单第四章第四章 存储系统存储系统2022-3-

3、454.1.3 常用的几种存储器(续)常用的几种存储器(续)nDRAM(动态随机存储器)(动态随机存储器)存储密度存储密度大大 单管结构单管结构单位存储成本单位存储成本较低较低功耗功耗较低较低容量容量较大较大接口时序接口时序复杂复杂 需要刷新电路需要刷新电路第四章第四章 存储系统存储系统2022-3-464.1.3 常用的几种存储器(续)常用的几种存储器(续)nEEPROM非挥发非挥发存储密度存储密度小小单位存储成本单位存储成本较高较高容量容量小小写入有限制写入有限制,页写要等待,页写要等待接口时序接口时序简单简单,一般采用串行接口,一般采用串行接口小量参数存储小量参数存储第四章第四章 存储系

4、统存储系统2022-3-474.1.3 常用的几种存储器(续)常用的几种存储器(续)nFlash(闪存存储器)(闪存存储器)非挥发非挥发存储密度存储密度大大单位存储成本单位存储成本较低较低容量容量大大接口时序接口时序复杂复杂需要擦除及需要擦除及Block写写NOR Flash & NAND Flash第四章第四章 存储系统存储系统2022-3-484.1.3 常用的几种存储器(续)常用的几种存储器(续)nFRAM(铁电存储器)(铁电存储器)非挥发非挥发功耗功耗低低读写速度读写速度快快接口时序接口时序简单简单 类似类似SRAM接口接口成本成本高高第四章第四章 存储系统存储系统2022-3

5、-494.1.3 常用的几种存储器(续)常用的几种存储器(续)n并行接口存储器并行接口存储器引脚数目引脚数目多多三大总线三大总线 地址、控制总线地址、控制总线 数据总线(数据总线(8/16/32位)位)存储容量存储容量大大 适用于大容量存储场合适用于大容量存储场合存取速度存取速度快快接口时序复杂,编程透明接口时序复杂,编程透明第四章第四章 存储系统存储系统2022-3-4104.1.3 常用的几种存储器(续)常用的几种存储器(续)n串行接口存储器串行接口存储器引脚数目引脚数目极少极少存储容量存储容量较小较小 适用于较小存储容量场合适用于较小存储容量场合存取速度存取速度较慢较慢使用使用串行接口通

6、信,串行接口通信,接口标准化接口标准化,编程不透明,编程不透明 I2C、SPI 可以用软件通过可以用软件通过GPIO模拟模拟第四章第四章 存储系统存储系统2022-3-4114.2 存储设备组织存储设备组织n4.2.1 存储器的结构存储器的结构n4.2.2 嵌入式系统存储器子系统嵌入式系统存储器子系统n4.2.3 S5pv210的存储分配的存储分配第四章第四章 存储系统存储系统2022-3-4124.2.1 存储器的结构存储器的结构第四章第四章 存储系统存储系统2022-3-4134.2.2 嵌入式系统存储器子系统嵌入式系统存储器子系统n与通用计算机并无本质区别,但有自身特点与通用计算机并无本

7、质区别,但有自身特点存储密度存储密度要求要求功耗功耗要求要求片内集成存储器片内集成存储器彻底抛弃片外存储器彻底抛弃片外存储器一般焊接在板子上,较少采用内存条一般焊接在板子上,较少采用内存条n存储空间分配存储空间分配嵌入式系统一般具有多种类型存储器嵌入式系统一般具有多种类型存储器支持多种存储器扩展支持多种存储器扩展接口灵活、可配置接口灵活、可配置第四章第四章 存储系统存储系统S5PV210框图框图2022-3-414S5PV210来说,采用ContextA8架构,具有32KB的一级缓存(Cache)和512K的二级缓存。S5PV210有一个96K的iRam和一个64K的iRom。iRom是拿来存

8、放ContextA8的启动BL0的,在出厂的时候由生产商固化在里面,iRam是ContextA8的内部RAM,这个才是真正意义上的内存,BL0会把BL1拷贝到iRam中运行。S5PV210支持存储接口包括SRAM/ROM, OneNAND, SLC/MLC NAND, LPDDR1/LPDDR2/DDR2。第四章第四章 存储系统存储系统4.2.3 S5pv210的存储分配的存储分配第四章第四章 存储系统存储系统2022-3-4164.3 Flash接口接口n1 概述概述n2 Flash的操作的操作n3 Flash存储器芯片存储器芯片n4 Flash存储器的应用存储器的应用n5 Flash驱动程

9、序驱动程序第四章第四章 存储系统存储系统2022-3-4171 概述概述n主要目标是替代主要目标是替代EEPROM存储存储容量大容量大读取读取速度快速度快成本低成本低保护机制保护机制n不足之处不足之处必须必须先擦除后写入先擦除后写入擦写速度较擦写速度较慢慢必须以必须以Block方式写入方式写入第四章第四章 存储系统存储系统2022-3-4181 概述(续)概述(续)nNOR Flash英特尔所发展的架构英特尔所发展的架构随机随机读取任意单元的内容,读取速度读取任意单元的内容,读取速度较快较快,写入和擦,写入和擦除速度除速度较低较低,可在单位块上,可在单位块上直接直接进行数据的读写进行数据的读写

10、应用程序可以应用程序可以直接在直接在Flash内运行内运行常用于常用于BIOS存储器和微控制器的内部程序存储器等存储器和微控制器的内部程序存储器等nNAND Flash东芝所发展的架构东芝所发展的架构读取速度较读取速度较NOR Flash慢慢,写入和擦除速度要比,写入和擦除速度要比NOR Flash快很多快很多在相同密度下,成本较在相同密度下,成本较NOR型型低低适用于大容量存储装置(适用于大容量存储装置(SSD、U盘)盘)第四章第四章 存储系统存储系统OneNANDnOneNand是针对消费类电子和下一代移动手机市场而设计的,一种高可靠性嵌入式存储设备。由Samsung开发,支支持更快速数据

11、吞吐和更高的密度,这两点是满足高分辨率持更快速数据吞吐和更高的密度,这两点是满足高分辨率摄影、视频摄影、视频和其他媒体应用的两个主要要求。 nOneNAND可看作NOR和NAND技术的一种混合。从本质上来讲,一个单独的OneNAND芯片集成了一个NOR闪存接口,NAND闪存控制器逻辑、一个NAND闪存阵列,以及高达5 KB的缓冲RAM。至于速度,它能以高达108 MB/s的持续读数据率传输。nOneNand既实现既实现NOR FlashNOR Flash的高速读取速度,又保留了的高速读取速度,又保留了Nand FlashNand Flash的大容量数据存储的优点的大容量数据存储的优点。2022

12、-3-419第四章第四章 存储系统存储系统OneNANDnOneNAND器件有两种类型:muxedmuxed和和demuxeddemuxed。对于muxed型,地址引脚和数据引脚结合在一起,而demuxed型芯片这两个引脚是分开的。nOneNANDOneNAND的芯片组的主要的芯片组的主要目标是目标是3G3G电话电话。除多媒体手机设计外,OneNAND是混合硬盘用非易失性缓冲器一个有价值的选择。nNOR闪存适合代码存储,就是说,固件、器件应用等,而NAND闪存处理存储量大的类似于硬盘驱动的例行工作。OneNAND闪存两个优点都具备,它能胜任代码和海量数据存储,同时效率更高。2022-3-420

13、第四章第四章 存储系统存储系统OneNand Nand Nor 三种三种Flash的的区别区别应用需求NANDOneNANDNOR快速随机读取 快速顺序读取快速 写/编程 同时擦除多个块 (最大64个块)擦除的挂起/恢复 写回(错误检测) (错误检测与纠正) 锁/解锁/紧锁 错误纠正外部 (硬件/软件)内置不需要扩展性 2022-3-421OneNand Nand Nor 三种Flash的区别:第四章第四章 存储系统存储系统2022-3-4222 Flash的操作的操作nFlash的操作有三种的操作有三种读操作读操作 简单,与简单,与SRAM接口一样接口一样擦除操作擦除操作 整片擦除、整片擦除

14、、Block擦除(专用时序)擦除(专用时序)写操作写操作 也叫编程,也叫编程,Block写(专用时序)写(专用时序)Flash的擦除、写等操作,多以的擦除、写等操作,多以命令命令的方式完成的方式完成第四章第四章 存储系统存储系统2022-3-4233 Flash存储器芯片存储器芯片nAMD的的AM29LV320DB芯片芯片NOR Flash2M X 1690ns(读操作)(读操作)Sector Write/protection软件数据保护软件数据保护第四章第四章 存储系统存储系统2022-3-4244 Flash存储器的应用存储器的应用n采用类似采用类似SRAM的连接方式的连接方式可以和可以和

15、SRAM合用一个存储器端口合用一个存储器端口n对对Flash的编程需要专用接口的编程需要专用接口GPIO第四章第四章 存储系统存储系统2022-3-4255 Flash驱动程序驱动程序n编程程序编程程序不同的不同的Flash芯片,其芯片,其编程方式、命令均有不同编程方式、命令均有不同采用采用软件驱动软件驱动来完成来完成Flash编程编程驱动需根据驱动需根据具体芯片具体芯片的操作来书写的操作来书写注意错误、意外情况处理注意错误、意外情况处理第四章第四章 存储系统存储系统Bootloader启动流程分析n从操作系统的角度看,Bootloader的总目标就是正确地调用内核来执行。n另外,由于Boot

16、loader的实现依赖于CPU的体系结构,因此大多数Bootloader都分为stage1和stage2两大部分,以使Bootloader的功能更加强大和提供更加良好的移植性能。2022-3-426第四章第四章 存储系统存储系统Bootloader启动流程分析nstage1主要是一些依赖于CPU体系结构的代码,比如硬件设备初始化代码等。n这一阶段的代码主要是通过汇编来实现的,以达到短小精悍和高效的目的。nstage1为位置无关代码,通常在Flash中运行。所以有的指令为相对寻址,可以在任何位置运行。2022-3-427第四章第四章 存储系统存储系统stage1负责的主要任务有: 硬件设备初始化

17、包括:关闭Watchdog、关闭中断、设置CPU的速度和时钟频率、配置SDRAM存储控制器及IO、关闭处理器内部指令/数据Cache等; 为加载Bootloader的stage2代码准备RAM空间(这个地址由链接脚本指定为运行域地址,通常为RAM的高端地址)测试内存空间是否有效; 复制Bootloader的stage2代码到RAM空间中; 设置好堆栈; 跳转到stage2的C函数入口点2022-3-428第四章第四章 存储系统存储系统stage2则是通常用C语言来实现,这样可以实现更复杂的功能,而且代码会具有更好的可读性和可移植性。stage2负责的主要任务有: 初始化本阶段要使到的硬件设备(

18、如串口、Flash和网卡等); 检测系统内存映射; 没有用户干预时将内核映像从Flash读到RAM空间中; 为内核设置启动参数; 调用内核。2022-3-429第四章第四章 存储系统存储系统第四章第四章 存储系统存储系统nS5PV210含有一个大小为含有一个大小为64KB的的IROM,起始地,起始地址为址为0 xD0000000,结束地址为,结束地址为0 xD000FFFF;n含有含有一个大小为一个大小为96KB的的IRAM,起始地址为,起始地址为0 xD0020000,结束地址为,结束地址为0 xD0037FFF;n内存内存起始地址为起始地址为0 x20000000,有二个内存块,有二个内存

19、块,DRAM0和和DRAM1大小分别为大小分别为512MB、1024MB第四章第四章 存储系统存储系统S5PV210启动流程分析启动流程分析S5PV210启动过程主要可分为启动过程主要可分为3个阶段。个阶段。 S5PV210上电复位后将从上电复位后将从IROM处执行已固化的启动代码处执行已固化的启动代码-BL0 在在BL0里初始化过程中对启动设备进行判断,并从启动设里初始化过程中对启动设备进行判断,并从启动设备拷贝备拷贝BL1(最大(最大16KB)到)到IRAM处,处,即即0 xD0020000开始开始的地址,其中的地址,其中0 xD00200000 xD0020010的的16字节为字节为BL

20、1的的校验信息和校验信息和BL1尺寸,并对尺寸,并对BL1进行校验,校验通过转入进行校验,校验通过转入BL1进行执行,进行执行,BL1继续初始化,并拷贝继续初始化,并拷贝BL2(最大(最大80KB)到到IRAM中并对其校验,通过后转入中并对其校验,通过后转入BL2 BL2完成一些比较复杂的初始化,包括完成一些比较复杂的初始化,包括DRAM的初始化,的初始化,完成后将完成后将OS代码拷贝到代码拷贝到DRAM中,并跳到中,并跳到OS中执行并完成中执行并完成启动引导。启动引导。第四章第四章 存储系统存储系统第四章第四章 存储系统存储系统nBL0固化代码主要完成以下初始化:固化代码主要完成以下初始化:

21、 关闭看门狗;关闭看门狗; 初始化初始化icache; 初始化栈;初始化栈; 初始化堆;初始化堆; 初始化块设备拷贝功能;初始化块设备拷贝功能; 设置系统时钟;设置系统时钟; 拷贝拷贝BL1到到iRAM; 检查检查BL1的校验和,如果失败则第二启动模式(安全的校验和,如果失败则第二启动模式(安全启动模式),校验启动模式),校验成功则成功则跳到跳到0 xD0020000(IRAM)处执行。处执行。第四章第四章 存储系统存储系统n其中其中0 xD00200000 xD0020010里的里的16字节字节头部头部信息信息用户是不能随便设置的用户是不能随便设置的!第四章第四章 存储系统存储系统第四章第四

22、章 存储系统存储系统n在从启动设备(如:在从启动设备(如:NAND FLASH / SD卡)拷卡)拷贝贝BL1的前的前16K数据到数据到IRAM时,这时,这16K数据中的数据中的前前16byte中保存了校验和的值以及中保存了校验和的值以及BL1的大小,的大小,在拷贝过程中在拷贝过程中CPU会计算出当前会计算出当前bin文件文件中的校中的校验和,验和,然后与然后与保存的校验和保存的校验和进行比较,如果二者进行比较,如果二者相等则继续运行程序,否则,不执行。相等则继续运行程序,否则,不执行。第四章第四章 存储系统存储系统第四章第四章 存储系统存储系统第四章第四章 存储系统存储系统S5PV210启动模式设置启动模式设置第四章第四章 存储系统存储系统S5PV210启动模式设置启动模式设置第四章第四章 存储系统存储系统第四章第四章 存

温馨提示

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

评论

0/150

提交评论