历史上的今天
返回首页

历史上的今天

今天是:2024年12月22日(星期日)

2020年12月22日 | 嵌入式学习笔记二:210上电启动过程简介

2020-12-22 来源:eefocus

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

DRAM    动态内存(DDR2DDR3)    特点就是容量大、价格低,缺点就是上电后不能直接使用,需要软件初始化后才可以使用。
单片机中:内存需求量小,而且希望开发尽量简单,适合全部用SRAM
嵌入式系统:内存需求量大,而且没有NorFlash等可启动介质
PC机:      内存需求量大,而且软件复杂,不在乎DRAM的初始化开销,适合全部用DRAM


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

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

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

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

            
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,启动过程结束。


BL0做了什么?

关看门狗

初始化指令cache

初始化栈

初始化堆

初始化块设备复制函数device copy function

设置SoC时钟系统

复制BL1到内部IRAM(16KB)

检查BL1的校验和 跳转到BL1去执行

思路:因为启动代码(uboot)的大小是不定的,有些公司可能96kb就够了,有些公司可能1MB都不够。所以刚才说的2步的启动方式不合适。三星的解决方案是:把启动代码分为2半(BL1和BL2),这两部分协同工作来完成启动。

S5PV210的所有启动

先1st启动,通过OMpin选择启动介质

再2nd启动,从SD2

再Uart启动  

再USB启动

推荐阅读

史海拾趣

Hammond公司的发展小趣事

HALO Electronics公司的发展故事

故事一:初创与早期技术突破

HALO Electronics,全称HALO Electronics, Inc.,成立于1991年9月19日,总部位于美国德克萨斯州。公司自成立之初便专注于通信和功率磁性元件的设计与制造。在成立的早期,HALO便展现出了强大的技术创新能力。1993年,HALO推出了TnT™模块,这是首个具有成本效益的10base2模块,专为房地产敏感的薄网和背板应用设计,这一产品迅速在市场上获得了认可。紧接着,1994年,HALO又开发了一种专利的SMD变压器技术,为行业提供了更为强大的变压器解决方案,进一步巩固了其在磁性元件领域的地位。

故事二:与行业领先企业的合作

HALO Electronics的发展离不开与行业内领先企业的紧密合作。1995年,HALO与Maxim Integrated Products合作,共同开发了TGM-P3系列低成本PCMCIA变压器,这些变压器专为MAX253/845系列单片振荡器/功率驱动器设计,用于小型低成本DC/DC转换器。这一合作不仅提升了HALO产品的市场竞争力,也为其在高端应用领域的拓展奠定了坚实基础。

故事三:创新产品的持续推出

HALO Electronics一直致力于创新产品的研发与推出。1997年,公司推出了Quatra™系列首个四端口T1/E1磁性模块,这一产品是与Level One(Intel)共同开发的,提供了更高密度的T1/E1解决方案。随后,在1998年,HALO又创造了Ultra™系列变压器,这是当时最具成本效益和房地产效率的10/100base-TX变压器,其SOIC16封装成为了单端口快速以太网应用的行业标准。这些创新产品的推出,不断推动着HALO在电子行业的领先地位。

故事四:安全与效率并重的产品开发

HALO Electronics在产品开发过程中始终注重安全与效率。1999年,公司宣布了业界首个UL认可的4.5KV隔离变压器系列,这些变压器专为需要高度安全的以太网应用设计,满足了市场对高安全性产品的迫切需求。同年,HALO还推出了业界较小的双端口T1/E1变压器系列,进一步提升了产品的空间利用率和效率。这些举措不仅彰显了HALO在产品安全与效率方面的卓越追求,也为其赢得了更多客户的信赖和支持。

故事五:全球化布局与市场份额的扩大

随着业务的不断发展,HALO Electronics逐渐开始了全球化布局。公司在全球范围内建立了多个销售办事处和仓库,包括加州圣克拉拉、内华达州拉斯维加斯、香港和新加坡等地。同时,HALO还在北美、欧洲和亚洲的主要地区设立了卫星办公室,由区域经理负责开展工作。此外,HALO还在全球范围内拥有众多制造商代表和分销商,形成了完善的销售和服务网络。这些举措不仅提升了HALO的市场覆盖率和服务能力,也为其在全球范围内的市场份额扩大奠定了坚实基础。如今,HALO已成为电子行业中备受瞩目的磁性元件供应商之一。

CALMIRCO公司的发展小趣事

随着技术实力的不断增强,CALMIRCO公司开始积极拓展国内外市场。公司通过参加国际电子展会、建立海外销售渠道等方式,逐渐将产品推向全球。同时,CALMIRCO公司还注重品牌建设,通过广告宣传、媒体报道等多种渠道提升品牌知名度和美誉度。这些举措使得CALMIRCO公司的产品在市场上获得了广泛认可,公司也因此成为电子行业的佼佼者。

Fenfa Electronics Ltd公司的发展小趣事

Fenfa Electronics Ltd公司自创立之初,就深知技术创新的重要性。在公司成立初期,面对市场上激烈的竞争,Fenfa团队决定投入大量资源于研发领域。经过数年的不懈努力,公司成功研发出一款具有革命性的电子产品,该产品以其高效能、低能耗和出色的用户体验迅速在市场上崭露头角。这一技术创新的突破,为Fenfa Electronics Ltd公司赢得了市场的认可,也为公司后续的发展奠定了坚实的基础。

Hamamatsu公司的发展小趣事

随着公司规模的扩大和业务范围的拓展,Fenfa Electronics Ltd公司面临着越来越复杂的供应链管理问题。为了应对这一挑战,公司决定优化供应链管理流程。Fenfa与供应商建立了长期稳定的合作关系,实现了原材料的稳定供应和成本的优化控制。同时,公司还加强了仓储和物流的管理,提高了产品的运输效率和交付速度。这些措施的实施,使Fenfa Electronics Ltd公司的供应链管理更加高效、灵活和可靠。

ARCOTRONICS公司的发展小趣事

随着技术实力的不断提升,ARCOTRONICS公司开始将目光投向国际市场。公司制定了一系列国际化战略,积极参与国际电子展会,与全球各地的合作伙伴建立紧密的合作关系。通过不断拓展市场,ARCOTRONICS公司的产品逐渐在国际上获得了广泛的认可,公司也因此成为了全球电子行业的重要参与者。

Hongfa公司的发展小趣事

宏发公司的发展离不开自主研发和技术创新。1998年,宏发成立了精合公司,开启了自主研发自动化设备设计及制造的征程。此后,公司不断加大在技术研发上的投入,建立了博士后科研工作站和院士专家工作站,形成了从产品研发、模具制造、零件制造到自动化成品装配及在线检测的一体化全产业链。通过技术创新,宏发不仅提升了产品性能和质量,还成功打破了国外技术垄断,实现了高端继电器的自主研发和生产。

问答坊 | AI 解惑

推荐个大师级帖子,技术问题有问必答

Q&A工程师在线:FPGA领域相关问题,可在此提问 https://bbs.eeworld.com.cn/thread-76800-1-1.html 呵呵,有问题可以试试啊!…

查看全部问答>

锡膏标准和测试方法——(焊接工艺与测试)

锡膏标准和测试方法——(焊接工艺与测试)提供一份簡單的錫膏標準和測試方式供大家參考…

查看全部问答>

RS-485

RS-485资料…

查看全部问答>

6410平台上, IO口 GPN8(EINT8) 是一个复用的PIN, 如何从这个IO口(PIN)上得到中断后,再取得数据?

以下方法不行,总是 \"Bit8  = 1 \".  请指正.     g_pGPIOReg->GPNCON &= ~(3 GPNCON &= ~(3 GPNDAT &= 0;     Sleep(10);     if(g_pGPIOReg->GPNDAT & (1GPNCON = (g_pGPIOReg->GPNC ...…

查看全部问答>

请教51汇编程序

; 8051 data area ;============================================================ ;------------------------------------------------------------- ;non bit-addressable RAM area definition ;------------------------------------------ ...…

查看全部问答>

关于在vista开发wince的问题..

请问一下各位朋友,在vista下可以使用ce5.0或者的ce6.0的相关开发工具吗?小弟的本本是vista~~不想换成xp~~特此请教一下~谢谢…

查看全部问答>

单片机做PLC...请有经验的大侠指点一下(关于梯形图转为单片机C51的问题)

本人乃一电子专业大专生...今年应届毕业开始工作第一个项目——老板轻描淡写得说:“用单片机做个PLC,随便发挥!” 然后......就衍生出很多问题,偏偏这个公司就我一人在搞弱电,没师傅带..晕倒~~结果PCB设计,金属外壳设计,抗干扰(防雷击防浪涌 ...…

查看全部问答>

【设计工具】Xilinx+FPGA的功耗优化设计方法

Xilinx+FPGA的功耗优化设计方法——设计人员可利用多种工具和技术来满足功率预算要求…

查看全部问答>

电子拉力机有哪些现象是不正常的

拉力机购买时最好还是观察清楚,也试用一下是不是正常,出现以下10种情况的就不正常了,最好别着急购买哦!   1、拉力机油漆的颜色不美观大方,色调不柔和,套色不协调,不同颜色的界限不分明,互相污染。   2、拉力机的油漆和腻子没有足够的 ...…

查看全部问答>

怎样用msp430f415的TA实现外来脉冲计数

请问大家怎样用msp430f415的TA实现外来脉冲计数,或者频率的测量。脉冲信号从msp430f415的P1.5/TA0CLK/ACLK引脚输入…

查看全部问答>