千家信息网

Cortex A8系列S5PV210的启动概述

发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,1、硬件特性:(1)内存:内存有两种类型,SRAM(Static RAM)和DRAM(Dynamic RAM),分别称为静态内存和动态内存。SRAM:静态内存,特点是容量小、价格高。优点是不需要软件初
千家信息网最后更新 2025年12月03日Cortex A8系列S5PV210的启动概述

1、硬件特性:
(1)内存:内存有两种类型,SRAM(Static RAM)和DRAM(Dynamic RAM),分别称为静态内存和动态内存。
SRAM:静态内存,特点是容量小、价格高。优点是不需要软件初始化就可以直接上电使用,读取执行内部存储的信息。
DRAM:动态内存,特点是容量大,价格便宜。缺点是上电后不能直接使用,需要经过软件初始化后才可以使用。
(2)外存:外存很多类型,这里只简单的说两种,NandFlash和NorFlash。
NorFlash:特点是容量小,价格高。优点是可以和CPU直接总线相连,CPU上电后就可以直接读取存取在里面的代码,一般用作启动介质。
NandFlash:特点是容量大,价格便宜。缺点是不能直接总线式访问,即不能上电后直接读取里面的代码来执行,需要CPU进行软件初始化,然后通过时序接口的方式来读写执行。
2、S5PV210芯片的硬件特性:

上面的截图来自sumsung S5PV210的数据手册。
S5PV210微处理器是基于Cortex A8的,SoC内内置了一个64KB的IROM(NorFlash类型),一个96KB的SRAM,还有各种类型的控制器,包含:SDRAM控制器、4位/8位的高速SD/MMC控制器、NandFlash控制器、OneNand控制器、eSSD控制器、UART/USB控制器。
S5PV210芯片内置了多种类型的控制器,所以S5PV210支持多种方式(以上内置控制器)的启动,只需将OM引脚的拨码开关调至相应的类型,即可以相应的方式启动。S5PV210支持的启动方式如下图:

3、OM引脚配置:

4、现在,我们来看看S5PV210的启动过程:


(1)CPU上电后,先从S5PV210内部的IROM中读取预先设置的代码(BL0)(这段代码是芯片出厂时就内置的,因为不知道将来外部设备接的是什么,所以只是对芯片内部进行简单的初始化),然后执行。这段代码BL0做了什么呢?如下图:

BL0首先关闭了看门口定时器,然后初始化指令cache(指令缓存)、初始化栈跟堆、初始化块设备复制函数和初始化系统时钟和锁相环。下一步,BL0根据我们在板子上OM引脚的跳线设置,使用块设备复制函数从相应的外部存储设备中复制一段代码(BL1,这段代码最大不能超过16KB)到SoC内部的SRAM中,然后检验其校验和,若是校验和正确,则跳转至BL1这段代码在SRAM中的起始地址去执行。若是检验和不正确,则跳转到第二启动方式启动,接步骤5。
(2)BL1这段代码继续从外部存储设备中读取剩余的启动配置代码BL2(这段代码最多不能超过80KB,因为SRAM最大96KB,BL1最大16KB),然后跳转到BL2这段代码去执行。
(3)BL2这段代码首先对内存DRAM进行初始化配置(DRAM上电后不能直接使用,需要经过初始化后才能),然后再将外部存储设备(外存)中存储的关于OS(操作系统)初始化的代码读至DRAM(内存)中去执行操作系统的初始化,初始化完成后,就可以在内存中启动操作系统并进行操作了。ps:内存说:终于轮到我上场了,哈哈。
(4)这里的外部存储设备(外存)也是要经过初始化才能使用的,这里应该是在BL0使用块设备函数从外存复制BL1时执行了初始化。不然就不可以从外存中读取信息。
(5)上面说的过程是在第一启动方式成功的情况下的流程,如果第一启动方式不成功,那么S5PV210就会跳转到第二启动方式去启动,第一启动方式是可以通过OM引脚来选择从哪个外存启动的,然而第二启动方式则是固定从SD卡的通道2启动。具体的实现方式与上面的第一启动方式差不多,只不过外存介质换了,依旧是从步骤2开始执行。如图:

(6)如果第二启动方式即SD卡通道2启动失败,则跳转至UART启动,UART失败,则跳转至USB方式启动,再不行,GG。很好,已经是一块砖头了。

5、疑惑:
(1)为啥要将BL1和BL2分开来在SRAM中执行?96KB不是刚好包含了BL1和BL2了吗?
我听一位老师说是因为BL0对于外存的初始化力度不够,因为本身IROM也就64KB,没办法做太多的事。只能初始化读取外存的BL1部分。然后通过BL1继续初始化外存,再读取BL2来执行。
(2)BL1固定的16KB?BL2固定的80KB?

代码 方式 外存 内存 控制器 控制 设备 上电 类型 存储 价格 存储设备 容量 特点 系统 芯片 最大 操作系统 函数 软件 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 手机连接阿里云服务器 生存服务器我的世界网易 无线网络安全性设置手机 方舟三通服务器推荐地图 普陀区本地网络技术收费 数据库技术的重要性 数据库怎么选择新纪录 网络安全宣传单日 不断获取数据库连接 卖网络技术需要注意什么呢 德温特数据库中ti是什么意思 u860安装数据库版本 长春共创软件开发有限公司 网络安全词汇英语 泰米时空服务器进不去怎么办 北斗在软件开发中如何用 杭州首淘网络技术有限公司 pmda数据库 公大网络安全与执法复试考什么 数据库怎么设计关键字 空调红外解码数据库 安装服务器数据库服务器 杨浦区智能软件开发使用方法 网络安全是数字化转型重中之重 上海常见软件开发网上价格 魔兽世界数据库 巫妖王之怒 供职于某家软件开发公司 服务器销售源码 网络技术真题及答案 交通安全和网络安全的黑板报
0