接着上一节的继续分析和实验
bl gpio_out
bl led1_on
/* the mask ROM code should have PLL and others stable */
#ifndef CONFIG_SKIP_LOWLEVEL_INIT
bl cpu_init_cp15
#ifndef CONFIG_SKIP_LOWLEVEL_INIT_ONLY
bl cpu_init_crit /* 上一节分析到这里,面的lowlevel_init,我们初始化了ddr */
#endif
#endif
/* 同时开发吧制锁和K都打印出来了,说明下一步要执行_main */
/* 开发板制锁*/
ldr r0, = 0xe010e81c
ldr r1, = 0x301
str r1, [r0]
ldr r1, =0xe2900020
ldr r2, =0x4b
str r2, [r1]
bl _main
上一节分析了跳转到打印出了K就死掉了,首先我们判断_main子程序是否在16K以内。
打开u-boot.map查看_main的地址,发现0xce0小于16k,所以在16k以内,所以继续分析。