U-boot引导流程分析一

本文详细分析了U-Boot的启动流程,包括Stage I的各个步骤:设置中断向量表,进入SVC模式,控制寄存器配置,时钟初始化,关闭MMU和Cache,初始化内存,复制StageII到RAM,设置堆栈,清除BSS段,并最终跳转到Stage II代码执行。
摘要由CSDN通过智能技术生成

U-Boot,全称 Universal Boot Loader,即通用引导程序,是遵循GPL条款的开放源码项目。它的源码目录、编译形式与Linux内核很相似,事实上,不少U-Boot源码就是相应的Linux内核源程序的简化,尤其是一些设备的驱动程序,这从U-Boot源码的注释中能体现这一点。U-Boot不仅仅支持嵌入式Linux系统的引导,它还支持NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS嵌入式操作系统

U-Boot的工作模式有启动加载模式和下载模式。启动加载模式是Bootloader的正常工作模式,嵌入式产品发布时,Bootloader必须工作在这种模式下,Bootloader将嵌入式操作系统从FLASH中加载到SDRAM中运行,整个过程是自动的。下载模式就是Bootloader通过某些通信手段将内核映像或根文件系统映像等从PC机中下载到目标板的FLASH中。用户可以利用Bootloader提供的一些命令接口来完成自己想要的操作。

Android体系中U-Boot的大致引导流程:


U-Boot的源码目录结构

1、board:开发板相关的配置文件,一个子文件对应一个开发板配置;
2、common:通用的多功能函数实现,比如环境,命令,控制台相关函数等;
3、cpu:存放特定CPU结构相关的目录;
4、disk:硬盘接口程序;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值