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