文档章节

嵌入式开发手记(一)嵌入式系统启动过程 (S5pv210)

 每天在改变
发布于 2016/12/21 19:46
字数 762
阅读 51
收藏 0

                           S5pv210启动详解

 soc详解。

 

1.cortex A8: arm(cpu)

2.BL1,BL2:为bootloder1,bootloder

  2.1

    (1)CPU上电后先从内部IROM(类似SRAM)中读取预先设置的代码(BL0),执行。这一段IROM代码首先做了一些基本的初始化(CPU时钟、关看门狗···)(这一段IROM代码是三星出厂前设置的,三星也不知道我们板子上将来接的是什么样的DRAM,因此这一段IROM是不能负责初始化外接的DRAM的,因此这一段代码只能初始化SoC内部的东西);

注:然后这一段代码会判断我们选择的启动模式(我们通过硬件跳线可以更改板子的启动模式),

(2)然后从相应的外部存储器去读取第一部分启动代码(BL1,大小为16KB)到内部SRAM。

  2.2从IRAM去运行刚上一步读取来的BL1(16KB),然后执行。BL1负责初始化NandFlash,然后将BL2读取到IRAM(剩余的80KB)然后运行

  2.3从IRAM运行BL2,BL2初始化DRAM,然后将OS读取到DRAM中,然后启动OS,启动过程结束。

 

注:因为启动代码的大小是不定的,有些公司可能96kb就够了,有些公司可能1MB都不够。所以刚才说的2步的启动方式不合适。

三星的解决方案是:把启动代码分为2半(BL1和BL2),这两部分协同工作来完成启动。

 

内存知识点

 

 

内存:

1.  SRAM 静态内存 特点就是容量小、价格高,优点是不需要软件初始化直接上电就能用

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

 

(1)单片机中:内存需求量小,而且希望开发尽量简单,适合全部用SRAM

(2)嵌入式系统:内存需求量大,而且没有NorFlash等可启动介质

(3)PC机:   内存需求量大,而且软件复杂,不在乎DRAM的初始化开销,适合全部用DRAM

 

外存:

1.NorFlash:特点是容量小,价格高,优点是可以和CPU直接总线式相连,CPU上电后可以直接读取,所以一般用作启动介质。

2.NandFlash(跟硬盘一样):特点是容量大,价格低,缺点是不能总线式访问,也就是说不能上电CPU直接读取,需要CPU先运行一些初始化软件,然后通过时序接口读写。

 

所以

(1)一般PC机都是:很小容量的BIOS(NorFlash)+ 很大容量的硬盘(类似于NandFlash)+ 大容量的DRAM

(2)一般的单片机:   很小容量的NorFlash + 很小容量的SRAM

(3)嵌入式系统:因为NorFlash很贵,随意现在很多嵌入式系统倾向于不用NorFlash,

直接用:外接的大容量Nand + 外接大容量DRAM + SoC内置SRAM

© 著作权归作者所有

共有 人打赏支持
粉丝 0
博文 9
码字总数 13757
作品 0
淮安
私信 提问
新手必看,学习Linux重要八招

嵌入式Linux系统开发学习步骤,深圳嵌入式Linux培训高薪一路相伴  最近在嵌入式论坛上经常遇到一些嵌入式linux初学者在询问:嵌入式Linux如何入门?嵌入式Linux开发都需要学习什么?等等。其...

educn114
2014/05/28
0
0
日常生活 -- 专业能力和项目经验

最近要开始为找工作做准备了,第一件事就是写简历。而其中的专业技能和项目经验是值得考虑的部分。 CSDN博客写了两年,原创博文也有270多篇。现在根据专业技能部分和项目经验部分,将其总结一...

qq_29350001
2018/01/06
0
0
嵌入式之S5PV210地址映射详解与外部存储器的接口

一:地址映射详解 哈哈 注意不是内存映射 而是地址映射 大家都知道 S5PV210芯片是基于arm 的cortex-A8架构的 32位的cpu 拥有32位的地址总线和32位的数据总线 因为有32位的地址总线 那么表示的...

zw1996
2018/03/16
0
0
新手学习嵌入式开发的几个步骤

对于很多的嵌入式新手来说,嵌入式学习过程中如果能得到前辈们的一些指点是再幸运不过的事了。例如包括:嵌入式开发如何入门?如何一步步学习?包括每个阶段学习中需要重点学习的环节等等。接...

mcu2011
2013/08/29
28
0
日常生活 -- 专业能力和项目经验

最近要开始为找工作做准备了,第一件事就是写简历。而其中的专业技能和项目经验是值得考虑的部分。 CSDN博客写了两年,原创博文也有270多篇。现在根据专业技能部分和项目经验部分,将其总结一...

qq_29350001
2017/12/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Oracle学习日志-7(聚合查询)

GROUP BY子句: GROUP BY可以对表进行分割。比如把下面的表按照商品种类进行分割,并列出该商品种类下有多少商品 SQL代码如下 SELECT product_type ,COUNT(*)FROM ProductGROUP BY produc...

白话
14分钟前
0
0
Docker安装mysql8主从结构

准备两台服务器,假设IP地址为 172.31.27.67 主服务器 172.31.27.69 从服务器 因为我用的镜像是docker.io/cytopia/mysql-8.0,所以我们需要先把该镜像给pull下来。 docker pull docker.io/cy...

算法之名
17分钟前
4
0
Springboot集成Ehcache缓存(主要用在登录后做保持会话验证)

EhCache是一个比较成熟的Java缓存框架,最早从hibernate发展而来, 是进程中的缓存系统,它提供了用内存,磁盘文件存储,以及分布式存储方式等多种灵活的cache管理方案,快速简单。 Springbo...

Nonry
19分钟前
0
0
Ajax

1、创建ajax对象 if(window.navigator.userAgent.indexOf('MSIE') > 0){ var xhr = new ActiveXObject('Microsoft.XMLHTTP');}else{ var xhr = new XMLHttpRequest();} 2、get......

lujc
19分钟前
0
0
Flink的基石 : Chandy Lamport Algorithm

Flink处理“流”,对流消息的处理支持三种级别语义分别是“At Most once、At Least once、Exactly once”。 At Most onces:消息最多被处理一次,sender发出消息之后,receiver无论是否处理成...

tantexian
24分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部