2.1.3 uboot必须解决哪些问题?

来源:互联网 发布:淘宝记录怎么删除 编辑:程序博客网 时间:2024/06/05 08:59
2.1.3.1 自身可开机启动
(1)一般的SOC支持多种启动介质的启动方式,譬如SD卡、Norflash、Nandflash等,uboot要能开机启动,必须根据具体的SOC启动设计来设计自己的启动
(2)uboot必须进行和硬件相对应的代码级别的更改和移植,才能保证从相应的启动介质中启动,uboot中第一阶段的start.S中具体处理了这一块

2.1.3.2 能进行SOC级和板级的硬件管理
(1)SOC级硬件是SOC自带的外设(譬如串口),板级硬件是开发板上的外设(譬如网卡、iNand/SD卡)
(2)uboot为了启动内核,必须让一些硬件工作起来。譬如uboot要实现刷机部署系统必须能驱动iNand,uboot要提供命令行人机界面就必须驱动串口,uboot要实现网络功能就必须驱动网卡芯片

2.1.3.3 能够提供系统部署功能
(1)uboot必须能被人借助而完成整个系统(包括uboot、kernel、rootfs镜像)在flash上的下载烧录

2.1.3.4 能够引导操作系统内核启动并给内核传参
(1)uboot的终极目标就是启动内核
(2)linux内核在设计时,设计为可以被传参。我们可以在uboot中事先给linux内核准备好一些启动参数,放在内存中的特定位置然后把这个特定的位置传给内核,内核启动后就会到内存的那个特定位置去取uboot给它的传参,然后解析这些参数,这些参数将被用来指导内核的启动

2.1.3.5 uboot的生命周期
(1)uboot的入口和出口。uboot的入口就是开机自启动,uboot的唯一出口就是启动内核。uboot可以执行很多任务,其他任务执行完后都可以回到uboot,但是一旦执行启动内核uboot就回不来了。所以uboot的生命周期就是从开机自启动到启动内核

总结:uboot的最终目标是启动linux内核,其他功能都是为了辅助启动内核,为启动内核做铺垫。
0 0
原创粉丝点击