专栏名称: Linux爱好者
伯乐在线旗下账号,「Linux爱好者」专注分享 Linux/Unix 相关内容,包括:工具资源、使用技巧、课程书籍等。
目录
今天看啥  ›  专栏  ›  Linux爱好者

uboot启动流程源码分析

Linux爱好者  · 公众号  · linux  · 2024-05-22 11:50
    

文章预览

Perface 之前对这个uboot的源码了解有些许遗忘。最近做AVB校验,需要uboot到kernel的这个过程。这里再复习一下。 与大多数BootLoader一样,uboot的启动过程分为BL1和BL2两个阶段。 BL1阶段通常是开发板的配置等设备初始化代码,需要依赖依赖于SoC体系结构,通常用汇编语言来实现; BL2阶段主要是对外部设备如网卡、Flash等的初始化以及uboot命令集等的自身实现,通常用C语言来实现。 1、BL1阶段 uboot的 BL1阶段代码通常放在start.s文件中 ,用汇编语言实现,其主要代码功能如下: • (1) 指定uboot的入口。在链接脚本uboot.lds中指定uboot的入口为start.S中的_start。 • (2)设置异常向量(exception vector) • (3)关闭IRQ、FIQ,设置SVC模式 • (4)关闭L1 cache、设置L2 cache、关闭MMU • (5)根据OM引脚确定启动方式 • (6)在SoC内部SRAM中设置栈 • (7)lowlevel_init(主 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览