进入主循环是汇编程序中的如下语句:
ldr pc, _start_armboot
而其中定义的_start_armboot又定义为:
_start_armboot: .word start_armboot
这里的start_armboot就是所谓进入主循环的函数,当然这里是针对arm的流程,如果使用的是Mips,这里使用的函数就是board_init_r,所谓授之以鱼不如授之以渔,随机应变就对了。
在U-Boot中所有的功能,比如支持的网卡、USB接口、SD卡、开机logo等功能,都直接或间接在这个函数中调用而实现,所以,它的重要性也是不容忽视的。当然,如果不想把U-Boot做得那么花哨,那么这部分就显得不是那么重要了。但要实现是一个超赞的U-Boot功能,这部分是的前提。按照国际惯例,逐行代码贴出来各个击破: