s5pv210基础

目录

1 S5PV210的内存映射详解

2 CPU和外部存储器的接口

3 S5PV210的启动过程详解


1 S5PV210的内存映射详解

1.1  什么是内存映射?

  • S5PV210属于ARM Cortex-A8架构,32位CPU,CPU设计时就有32根地址线&32根数据线。
  • 32根地址线决定了CPU的地址空间为4G,那么这4G空间如何分配使用?这个问题就是内存映射问题(好像准确点应该叫地址映射吧,我懒的改标题了,大家注意这个小坑)。

1.2 S5PV210 datasheet中内存映射位置

 1.3 一些专业术语

  • ROM:read only memory 只读存储器
  • RAM:ramdom access memory 随机访问存储器
  • IROM:internal rom 内部ROM,指的是集成到SoC内部的ROM
  • IRAM:internal ram 内部RAM,指的是集成到SoC内部的RAM
  • DRAM:dynamic ram 动态RAM
  • SRAM:static ram 静态RAM
  • SROM:static rom? sram and rom?
  • ONENAND/NAND:
  • SFR:special function register

 

2 CPU和外部存储器的接口

2.1 内存与外存

  • 内存    内部存储器    用来运行程序的    RAM    举例(DRAM SRAM DDR)
  • 外存    外部存储器    用来存储东西的    ROM    举例(硬盘 Flash(Nand iNand···· U盘、SSD) 光盘)

2.2 与CPU的连接方式

CPU连接内存和外存的连接方式不同。内存需要直接地址访问,所以是通过地址总线&数据总线的总线式访问方式连接的(好处是直接访问,随机访问;坏处是占用CPU的地址空间,大小受限);外存是通过CPU的外存接口来连接的(好处是不占用CPU的地址空间,坏处是访问速度没有总线式快,访问时序较复杂)

2.3 SoC常用外存

  • NorFlash
  • NandFlash
  • eMMC/iNand/moviNand
  • oneNAND
  • SD卡/TF卡/MMC卡
  • eSSD
  • SATA硬盘

2.4 X210开发板支持的外部存储器

  • X210有2个版本,Nand版和iNand版,分别使用Nandflash和iNand为外部存储器。我们使用的是iNand版本,板载4GB iNand
  • S5PV210共支持4个SD/MMC通道,其中通道0和2依次用作启动。X210开发板中SD/MMC0通道用于连接板载MMC,因此外部启动时只能使用SD/MMC2通道(注意通道3不能启动)。

2.5 总结

  • 现代SoC支持多种外部存储器
  • 外部存储器主要用来存储程序(可执行代码),相当于电脑的硬盘。
  • 各种不同外部存储器原理不同,大小、性价比不同,一般产品厂家根据需要选择适合自己产品的外存使用。
  • 外部存储器和CPU连接一般不是通过地址&数据总线直接相连,因为地址空间不够用。一般都是通过专门的接口来连接的。

3 S5PV210的启动过程详解

3.1 内存与外存

内存:
    SRAM    静态内存    特点就是容量小、价格高,优点是不需要软件初始化直接上电就能用;
    DRAM    动态内存    特点就是容量大、价格低,缺点就是上电后不能直接使用,需要软件初始化后才可以使用。

  • 单片机中:内存需求量小,而且希望开发尽量简单,适合全部用SRAM
  • 嵌入式系统:内存需求量大,而且没有NorFlash等可启动介质
  • PC机:内存需求量大,而且软件复杂,不在乎DRAM的初始化开销,适合全部用DRAM

外存:
    NorFlash:特点是容量小,价格高,优点是可以和CPU直接总线式相连,CPU上电后可以直接读取,所以一般 作启动介质。
    NandFlash(跟硬盘一样):特点是容量大,价格低,缺点是不能总线式访问,也就是说不能上电CPU直接读取, 需要CPU               先运行一些初始化软件,然后通过时序接口读写。

所以一般PC机都是:很小容量的BIOS(NorFlash)+ 很大容量的硬盘(类似于NandFlash)+ 大容量的DRAM
一般的单片机:很小容量的NorFlash + 很小容量的SRAM
嵌入式系统:因为NorFlash很贵,随意现在很多嵌入式系统倾向于不用NorFlash,直接用:外接的大容量Nand + 外接大容量                             DRAM + SoC内置SRAM

3.2 S5PV210使用的启动方式

S5PV210外接的大容量Nand + 外接大容量DRAM + SoC内置SRAM。

实际上210的启动还要更好玩一些,210内置了一块96KB大小的SRAM(叫iRAM,不需软件初始化,上电即可使用),同时还有一块内置的64KB大小的NorFlash(叫iROM)。210的启动过程大致是:
第一步:CPU上电后先从内部IROM中读取预先设置的代码(BL0),执行。这一段IROM代码首先做了一些基本的初始化
     (CPU时钟、关看门狗···)(这一段IROM代码是三星出厂前设置的,三星也不知道我们板子上将来接的是什么
       样的DRAM,因此这一段IROM是不能负责初始化外接的DRAM的,因此这一段代码只能初始化SoC内部的东西);
       然后这一段代码会判断我们选择的启动模式(我们通过硬件跳线可以更改板子的启动模式),然后从相应的外
       部存储器去读取第一部分启动代码(BL1,大小为16KB)到内部SRAM。
第二步:从IRAM去运行刚上一步读取来的BL1(16KB),然后执行。BL1负责初始化NandFlash,然后将BL2读取到IRAM
    (剩余的80KB)然后运行
第三步:从IRAM运行BL2,BL2初始化DRAM,然后将OS读取到DRAM中,然后启动OS,启动过程结束。

3.3 BL0做了什么?

  • 关看门狗
  • 初始化指令cache
  • 初始化栈
  • 初始化堆
  • 初始化块设备复制函数device copy function
  • 设置SoC时钟系统
  • 复制BL1到内部IRAM(16KB)
  • 检查BL1的校验和
  • 跳转到BL1去执行
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值