历史上的今天
返回首页

历史上的今天

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

正在发生

2021年12月08日 | 第二章、Tiny4412 U-BOOT移植二 启动分析

2021-12-08 来源:eefocus

一、启动过程说明

 讲解启动过程,首先的源头就是打开电源,这个相信没人人不知道。CPU上电后,此时SP指针指向0x0000_0000,从这个地址取第一条指令。但此时:PLL没有启动,CPU工作频率为外部输入晶振频率,非常低http://blog.csdn.net/zsy2020314/article/details/9824035

其基于tiny210也进行分析了启动过程,大家可以再去看看,下面一些内容和图来自于此。

虽然我是要去分析Exynos4412的启动过程,但在s5pv210_irom_application手册中,对启动过程几个阶段的流程有详细描述,见下图2-3所示,而我又找不到Exynos4412的类似说明文档,大家还是凑合着看看吧。



图2-3、S5PV210启动顺序图

启动过程原理

必须要明白的一点是,当代码从存储介质(nand flash,SD,norflash,onenand等)中搬运到了DRAM中后随即会跳转到内存中运行U-Boot,接着会有一个重定位(relocate_code)的过程,relocate_code子函数在start.S中,而给relocate_code子函数传参数的是crt0.S中的main子函数。当判断到当前U-Boot在内存的低地址处,那么relocate_code就会工作,把U-Boot代码从低地址处再搬运到内存地址的顶端,然后跳转到新的位置去继续运行U-Boot。而搬运的目标地址是在board_init_f()函数(此函数在/arch/arm/lib/board.c中)中计算出来的,见图2-4。



图2-4、U-BOOT重定位示意图

下面,以start.S为主线,画出了其程序流程图,如图1-5所示、图中同样也表现出启动的整个流程和启动代码文件间的组织关系。大家可以先看看,然后以tiny210的代码来参考,一行一行的分析,相信花点时间,大家应是可以看明白这个流程的。



图2-5、start.s启动流程图

推荐阅读

史海拾趣

CHINFA公司的发展小趣事

CHINFA公司的创立并非一帆风顺。在创业初期,公司面临着资金短缺、技术落后和市场竞争激烈等多重困难。然而,公司的创始人凭借对电子行业的深厚热爱和坚定信念,带领团队克服了一个又一个难关。他们通过自主研发、技术创新和市场拓展,逐渐在行业中崭露头角。

Calex Mfg Co Inc公司的发展小趣事

随着电子行业的快速发展,Calex Mfg. Co., Inc.深知技术创新的重要性。公司投入大量研发资源,成功开发出一系列具有领先技术的电子产品。这些产品不仅性能卓越,而且具有高性价比,迅速赢得了市场的认可。公司凭借这些技术突破,逐渐在电子行业中占据了一席之地。

Box Enclosures公司的发展小趣事

在市场竞争日益激烈的背景下,Box Enclosures公司意识到单打独斗难以取得更大的突破。于是,公司开始积极寻求与其他企业的战略合作。通过与一家知名电子设备制造商的合作,Box Enclosures成功将其产品集成到对方的产品中,共同开拓市场。这种合作不仅提升了公司的知名度,还为其带来了更多的商业机会和合作伙伴。

Harvatek Corporation公司的发展小趣事

背景:成立于1975年的Hantronix公司,自诞生之初便专注于为工业、医疗市场的多元化客户群提供LCD显示解决方案。在那个电子显示技术刚刚起步的年代,Hantronix凭借其前瞻性的市场洞察力和技术积累,迅速在行业中站稳脚跟。

发展:公司初期便明确了其产品定位,即专注于高品质、高性能的LCD显示产品,以满足工业控制和医疗设备对显示精度、稳定性和耐用性的严苛要求。通过不断的技术研发和产品优化,Hantronix逐渐在市场中建立了良好的口碑。

Alpha-Micro Electronics公司的发展小趣事

背景:成立于1975年的Hantronix公司,自诞生之初便专注于为工业、医疗市场的多元化客户群提供LCD显示解决方案。在那个电子显示技术刚刚起步的年代,Hantronix凭借其前瞻性的市场洞察力和技术积累,迅速在行业中站稳脚跟。

发展:公司初期便明确了其产品定位,即专注于高品质、高性能的LCD显示产品,以满足工业控制和医疗设备对显示精度、稳定性和耐用性的严苛要求。通过不断的技术研发和产品优化,Hantronix逐渐在市场中建立了良好的口碑。

Hi-Light Electronic Co Ltd公司的发展小趣事

背景:随着全球经济的一体化和电子信息产业的快速发展,Hantronix意识到市场拓展的重要性。公司开始积极寻求国际合作机会,拓展其全球业务版图。

发展:Hantronix通过参加国际展会、建立海外销售网络等方式,成功将产品推向全球市场。其高品质的产品和优质的服务赢得了众多国际客户的信赖和好评。同时,公司还加强了与国际知名企业的合作,共同推动电子显示技术的进步和应用。

问答坊 | AI 解惑

使用dsPIC30F MCU 控制交流感应电机

如何使用dsPIC30F MCU 来控制交流感应电机。dsPICDEM MC 电机控制开发系统带有电气隔离设备并且具有故障保护功能。有了这些功能,就可以安全地开发电机控制应用程序并避免软件错误对硬件造成损害。该文提供的代码是一个简单的示例,它实现了对ACIM ...…

查看全部问答>

用Nokia 3310 液晶自制温度计

想像一下,如果有这么一个“裸体”温度计,就放在自己家里的书柜上,等朋友来了,一定会吸引不少眼光,你也可以借机炫耀一番。 不过放在家里的话,有可能曝光率不够高,那我们就随身携带好了,就像劳力士一样,经常“不经意”的掏出来看看:P ...…

查看全部问答>

STC12c5a单片机外扩flash,使用XBYTE读取flash的数据

我最近遇到一个问题,请教各位高手。 STC12c5a单片机,外扩flash,p0口复用为低8位地址线和8位数据位,p2为高8位地址线。 我使用XBYTE读取flash的数据,总有读错的情况发生。程序如下: ReadData=XBYTE[BankAddress];   _nop_(); & ...…

查看全部问答>

怎样设置ivt bluesoleil蓝牙局域网?

网线做的局域网我是能设的,但是想用蓝牙做,怎么设都不行,请教啦,…

查看全部问答>

硬盘的内部逻辑结构

   大家好,我最近在学习硬盘的逻辑结构时遇到了很大的麻烦。由于我从Google和百度上搜的资料太零散,太浅,学习不系统,导致对这方面的知识理解混乱。于是我想求助在这方面擅长的朋友,能否提供一些系统的资料,先行谢过了。…

查看全部问答>

串口通信

我现在用RS232进行PC机和单片机的通信,在用串口调试助手的时候,发现单片机发送回来的数据是乱码,请问这是什么原因?…

查看全部问答>

地址卷绕

想问下,地址卷绕是一种什么概念啊!好像发生在运算结果上溢出和下溢出时候的!…

查看全部问答>

Ecan通信的中断问题

       本人在一个项目中运用Ecan进行通信,在通信过程中会碰到中断故障(具体原因说不上来)。我是将Ecan设置成中断接收的(邮箱0-15设置成接收邮箱,16邮箱设置成发送邮箱),若接收到一个合理的读写命令,则返回 ...…

查看全部问答>

可以给推荐个这样的BOOST电路吗

求推荐这样一个BOOST电路。(不能外加电源)输入电压范围是17~170V,输出28V。由于这个范围太大,想进行两级变换,前级BOOST升压,将17~34V升到34V,后级将34~170降为28V。前端设计一个BOOST电路,当输入为17~34V时通过BOOST进行升压;当输入为34~1 ...…

查看全部问答>