Advertisement

uboot BL1

阅读量:

一、u-boot.lds中的start.S

1、在C语言编程规范中,整个项目的执行起点被定义为main函数。因此,对于一个由10000个.c文件构成的项目而言,首要分析的目标文件即为包含main函数的源文件。

2、由于u-boot的构建过程涉及汇编阶段,因此无法直接定位到main.c文件。整个程序的初始执行点由链接脚本中的ENTRY(_start)所决定,由此可知,_start符号所在的源文件即为程序运行的起点,而该符号所处位置的代码段则构成了程序执行的第一段指令。

二、start.S解析一

1、首先需要关注的是头文件的引入情况

复制代码
 #include <config.h>

    
 #include <version.h>
    
 #if defined(CONFIG_ENABLE_MMU)
    
 #include <asm/proc/domain.h>
    
 #endif
    
 #include <regs.h>
    
    
    
    

(1)、#include <config.h>。该文件位于include目录下,其并非源码中原本就存在的内容,而是在配置过程中自动生成的。(上一篇已提及)实际上,该文件仅包含了一个头文件“#include <configs/x210_sd.h>”

(2)、#in

全部评论 (0)

还没有任何评论哟~