之前uboot启动第一阶段的最后将指针指向了start_armboot这个函数,这里也是uboot启动的第二阶段的开始并且uboot启动第二阶段大部分是在这个函数中完成的。DECLARE_GLOBAL_DATA_PTR;这个宏在大部分中的文件中都有这个宏,这个宏的实际定义是在include/asm-arm/Global_data.h#def..
分类:
其他好文 时间:
2016-08-05 01:11:54
阅读次数:
172
for(init_fnc_ptr=init_sequence;*init_fnc_ptr;++init_fnc_ptr){
if((*init_fnc_ptr)()!=0){
hang();
}
}通过前面的定义init_fnc_t**init_fnc_ptr;可以知道init_fnc_ptr是一个二重指针,而init_sequence是一个函数指针数组里面存放的都是函数的函数名,这些函数都是板级初始化..
分类:
其他好文 时间:
2016-08-05 01:09:51
阅读次数:
282
uboot第二阶段应该做什么? uboot的第二阶段就是要初始化剩下的还没被初始化的硬件,主要是SOC外部硬件(譬如inand、网卡芯片)、uboot本身的一些东西(uboot的命令、环境变量等),然后最终初始化完必要的东西后进入uboot的命令行准备接受命令。 uboot第二阶段完结于何处? ub ...
分类:
其他好文 时间:
2016-05-10 12:38:07
阅读次数:
333
start_armboot函数简介 (1)这个函数很长,uboot/lib_arm/board.c从444行到908行结束 (2)这个函数里面还调用了其他函数,为什么这么长的函数不分成多个函数,就是因为这个函数整体构成了uboot启动的第二部分,从结构的角度来说,没有分开。这与C语言函数不相符,所以 ...
分类:
其他好文 时间:
2016-05-05 14:40:57
阅读次数:
167