打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
U-Boot中初始化序列的说明
在函数中board_init_f()中,进行了一系列的初始化,主要通过调用初始化序列中的函数来实现。

初始化序列定义如下,这里只留下了我用到的初始化函数:

init_fnc_t *init_sequence[] = {
get_clocks,  
init_timebase,
env_init,
init_baudrate,
serial_init,
console_init_f,
display_options,
checkcpu,
checkboard,
init_func_i2c,
init_func_ram,
NULL,   /* Terminate this list */
};

下面逐个对这些函数进行说明:

get_clocks在文件./include/common.h中定义,在文件./cpu/mpc824x/Speed.c中实现,用于设置global_data中的gd->cpu_clk和gd->bus_clk。

init_timebase在文件./include/common.h中定义,在文件./lib_ppc/time.c中实现,用于设置Time Base寄存器TBU和TBL,将其都设置成0。

env_init在文件./include/common.h中定义,在文件./common/Env_flash.c中实现,用于设置global_data中的gd->env_addr和gd->env_valid。

init_baudrate在文件./lib_ppc/board.c中定义和实现,用于设置global_data中的gd->baudrate。

serial_init在文件./include/common.h中定义,在文件./drivers/serial.c中实现,通过调用函数NS16550_init,对UART相关的寄存器进行初始化。NS16550_init在文件./include/ns16550.h中定义,在文件./drivers/ns16550.c中实现。

console_init_f在文件./include/common.h中定义,在文件./common/console.c中实现,用于设置global_data中的gd->have_console。

display_options在文件./include/common.h中定义,在文件./lib_generic/display_options.c中实现,用于打印版本信息version_string。

checkcpu在文件./include/common.h中定义,在文件./cpu/mpc824x/cpu.c中实现,用于检测并打印CPU版本、CPU时钟频率、Cache大小等信息。

checkboard在文件./include/common.h中定义,在文件. /board/sandpoint/sandpoint.c中实现,用于打印板子名称等信息。

init_func_i2c在文件./include/common.h中定义和实现。其中调用i2c_ini,用于初始化I2C单元相关的寄存器。i2c_init在文件./include/i2c.h中定义,在文件./cpu/mpc824x/drivers/i2c/i2c.c中实现。

init_func_ram在文件./lib_ppc/board.c中定义和实现。其中调用initdram,initdram在文件./include/common.h中定义,在文件. /board/sandpoint/sandpoint.c中实现。Initdram又调用get_ram_size,get_ram_size在在文件./include/common.h中定义,在文件. /common/memsize.c中实现,用于检测实际可用RAM的大小。【get_ram_size函数首先将特定的数据分别写入地址0,1,2,4,8,……处,然后依次读出。如果读出的数据和之前写入的数据一致,则可用内存大小倍增,如果不一致,则说明该内存位置不可用,以后的就不再检测了。这样可用的内存大小就是(0,1,2,4,8,……)×sizeof(long)中的某一个值。之后,init_func_ram打印可用RAM大小】【此为UBOOT检测内存大小的原理】。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
UBOOT 学习心得(UBOOT流程分析)
Android系统启动流程
uboot第2阶段分析start
uboot 分析之 启动流程
uboot源码分析
(补充)Uboot优美代码赏析1.1:分散加载表u
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服