Advertisement

(三) u-boot 启动流程分析 (C 语言版 board_f.c)

阅读量:

通过上一节的分析可以得知,C语言代码的核心部分主要涉及两个函数board_init_f与board_init_r,这两个函数分别对应于板级初始化的前段(front)和后段(rear)。接下来,我们首先对board_init_f函数的具体实现进行探讨:

common/board_f.c

复制代码
 void board_init_f(ulong boot_flags)

    
 {
    
 ....
    
  
    
     gd->flags = boot_flags;
    
     gd->have_console = 0;
    
  
    
     if (initcall_run_list(init_sequence_f))
    
 	hang();
    
  
    
 ....
    
 }
    
    
    
    

board_init_f() 函数的实现过程较为简洁,其核心任务是依次调用并完成init_sequence_f中所包含的各项初始化函数。

复制代码
 static init_fnc_t init_sequence_f[] = {

    
 #ifdef CONFIG_SANDBOX
    
 	setup_ram_buf,
    
 #endif
    
 	setup_mon

全部评论 (0)

还没有任何评论哟~