TI中文支持网
TI专业的中文技术问题搜集分享网站

am335x SPL到U-Boot流程

am335x在加载完UOOT.img 镜像之后会跳转到执行U-BOOT。请问SPL完成了之后,U-BOOT具体从哪个文件夹哪个文件的哪个函数开始的?

am335x在SPL加载U-BOOT镜像函数如下:路径:arch/arm/cpu/armv7/omap-common/spl.c  函数:

static void jump_to_image_no_args(void)
{
typedef void (*image_entry_noargs_t)(void)__attribute__ ((noreturn));
image_entry_noargs_t image_entry =
(image_entry_noargs_t) spl_image.entry_point;

debug("image entry point: 0x%X\n", spl_image.entry_point);
image_entry();
}

我的理解就是应该是跳转到spl_image.entry_point此地址,但是此地址是多少找不到了,从ti的UBOOT文档看 UBOOT的起始地址是:0x00080000 请问是不是跳转到了这个起始地址。起始地址的源码路径在哪?  求解答,非常感谢 

Yaoming Qin:

arch/arm/cpu/armv7/start.s 里面的_start 入口

guo wenxiong:

不好意思,我不能理解,SPL是从arch/arm/cpu/armv7/start.s 里面的_start 入口开始的,加载完UBOOT镜像后又跳到了这里那怎么去执行UBOOT的代码呢,不一直在SPL中循环了么

guo wenxiong:

补充:我打印spl_image.entry_point这个地址的值是:0x80100000

Yaoming Qin:

回复 guo wenxiong:

虽然是同一个入口,但是被宏定义决定的分支是不一样的,你还是多读读代码吧

yin zhang1:

最近我也再看这段代码 也是看到这个地方 然后找不到下面的程序了 , 希望可以和你交流交流  QQ :125721633

yin zhang1:

另外我在uboot目录下查找start.o可以找到以下两个文件 应该就是最后的条件编译吧,只是不知道先执行的那段代码

./arch/arm/cpu/armv7/start.o./spl/arch/arm/cpu/armv7/start.o

赞(0)
未经允许不得转载:TI中文支持网 » am335x SPL到U-Boot流程
分享到: 更多 (0)