uboot学习笔记之七-第三个函数board_init_r

接上回.在borad_init_f函数执行完成,C语言环境就算完全建立起来了.下面就完全是C的代码了.
返回crt0.S , 执行board_init_r(common/board_r.c), 完成board_init_f没有完成的初始化工作,通过调用initcall_run_list来完成,这里注意的参数是一系列的函数集合.
uboot学习笔记之七-第三个函数board_init_r_第1张图片
我们回去看这个参数init_sequence_r (common/board_r.c) ,init_sequence_r是一个数组,也就是函数初始化序列,为了兼容多款板子,里面包含了大量的条件编译函数.
uboot学习笔记之七-第三个函数board_init_r_第2张图片

/*
 * Over time we hope to remove these functions with code fragments and
 * stub funtcions, and instead call the relevant function directly.
 *
 * We also hope to remove most of the driver-related init and do it if/when
 * the driver is later used.
 *
 * TODO: perhaps reset the watchdog in the initcall function after each call?
 */
init_fnc_t<

你可能感兴趣的:(嵌入式之uboot学习,学习,linux)