UBOOT启动流程中的BL0,BL1,BL2

系列文章目录



前言


一、什么是BootLoader?

在嵌入式操作系统中,BootLoader是在操作系统内核运行之前运行,是嵌入式系统开发过程中不可逾越的一步。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。在嵌入式系统中,通常并没有像BIOS那样的固件程序(注,有的嵌入式CPU也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由Boo Loader来完成。 uboot就是bootloader的一种,全称Universal Boot Loader。

第一阶段使用汇编来实现,它完成初始化的CPU体系结构,并调用第二阶段的代码;
第二阶段则通常使用C语言实现,这样可以实现更复杂的功能,而且代码会有更好的可读性和可移植性
Make menuconfig图形化界面配置内核,把编译后的uboot烧写到SD卡,插到板子上,和主机交互。只有BL2是可以改变的,我们写的裸机代码放到BL2这部分.

二、BL0的作用

芯片上电后肯定会从0x0这个地址开始跑
M3芯片它开始跑程序的时候是直接从 main开始跑吗?先跑的启动文件(start.s)
exynos芯片的0地址对应的IROM64KB IROM是掉电不丢失的存储介质 这里面的这个存储空间是用户不能访问的空间
这个64KB的空间存储的有一定的程序
三星提供了IROM里面的代码(不开源你看不到的)
这段代码干嘛用的呢?
1:判

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值