uboot initf_dm函数分析】的更多相关文章

initf_dm, static int initf_dm(void){#if defined(CONFIG_DM) && CONFIG_VAL(SYS_MALLOC_F_LEN) //CONFIG_DM和CONFIG_SYS_MALLOC_F_LEN都有定义    int ret; bootstage_start(BOOTSTATE_ID_ACCUM_DM_F, "dm_f"); uint32_t bootstage_start(enum bootstage_id i…
一.概述    main_loop()函数做的都是与具体平台无关的工作.主要包括的工作如下: (1)初始化启动次数限制机制 (2)Modem功能 (3)设置软件版本号 (4)启动延迟 (5)读取命令,解析命令 二.具体分析void main_loop (void){#ifndef CFG_HUSH_PARSER static char lastcommand[CFG_CBSIZE] = { 0, }; int len; int rc = 1; int flag;#endif #if define…
这篇博客主要分析 init_sequence_f 函数指针数组中的initf_bootstage函数: static int initf_bootstage(void){    bool from_spl = IS_ENABLED(CONFIG_SPL_BOOTSTAGE) &&IS_ENABLED(CONFIG_BOOTSTAGE_STASH); //CONFIG_SPL_BOOTSTAGE和CONFIG_BOOTSTAGE_STASH都未定义,from_spl = false    i…
log_init, int log_init(void){    struct log_driver *drv = ll_entry_start(struct log_driver, log_driver); #define ll_entry_start(_type, _list)                    \    ({                                    \             static char start[0] __aligned(4…
一.函数说明 函数功能:安装系统函数指针 函数位置:common/exports.c 二.函数分析 void jumptable_init (void) { int i; gd->jt = (void **) malloc (XF_MAX * sizeof (void *)); //在堆中开辟指针空间 ; i < XF_MAX; i++) gd->jt[i] = (void *) dummy; //指针空间都初始化成指向空函数 //依次安装函数指针 gd->jt[XF_get_ve…
转自:http://www.wowotech.net/u-boot/boot_flow_2.html 目录: 1. 前言 2. Generic Board 3. _main 4. global data介绍以及背后的思考 5. 前置的板级初始化操作 6. u-boot的relocation 7. 后置的板级初始化操作 1. 前言 书接上文(u-boot启动流程分析(1)_平台相关部分),本文介绍u-boot启动流程中和具体版型(board)有关的部分,也即board_init_f/board_i…
基于335X的UBOOT网口驱动分析 一.软硬件平台资料 1.  开发板:创龙AM3359核心板,网口采用RMII形式 2.  UBOOT版本:U-Boot-2016.05,采用FDT和DM. 参考链接: https://blog.csdn.net/hahachenchen789/article/details/53339181 二.网口相关代码位置 1.  网口的PINMUX设置 RMII接口的相关PINMUX在MLO中进行设置,具体的设置代码为 |-board_init_f |-board_…
1.前言 在前面的文章Uboot启动流程分析(二)中,链接如下: https://www.cnblogs.com/Cqlismy/p/12002764.html 已经对_main函数的整个大体调用流程,以及函数的实现的各个功能进行了简单地分析,接下来,本篇文章将对board_init_f函数进行分析,在此之前,先来回顾一下_main函数的简单调用流程,如下所示: _main | board_init_f_alloc_reserve-->reserve gd and early malloc ar…
题外话: 最近一直在学习u-boot的源代码,从代码量到代码风格,都让我认识到什么才是真正的程序.以往我所学到的C语言知识和u-boot的源代码相比,实在不值一提.说到底,机器都是0和1控制的.感觉这很像我们中国<易经>里的一句话:"太极生两仪,两仪生四象."两仪指的就是阴阳.天地,对立而又相互依存的一切,它们生成了天地万物.简单的0和1就构成了我们现在所用的操作系统,各种软件.硬件也是由高低电平控制,0和1就是万物. 刚刚在读一本科幻小说,里面提到一种叫做"脑域…
转自:http://blog.sina.com.cn/s/blog_70dd16910100zab6.html u-boot-2010.09/arch/powerpc/cpu/mpc86xx/start.S文件中的创建GOT段的代码片段如下: // Set up GOT: Global Offset Table // Use r12 to access the GOT START_GOT GOT_ENTRY(_GOT2_TABLE_) GOT_ENTRY(_FIXUP_TABLE_) GOT_E…