码迷,mamicode.com
首页 > 其他好文 > 详细

Uboot启动流程分析(五)

时间:2020-01-05 15:38:07      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:前言   流程   href   内存   结构   https   malloc   reserve   初始化   

1、前言

在前面的文章Uboot启动流程分析(五),链接如下:

https://www.cnblogs.com/Cqlismy/p/12147411.html

已经对board_init_f() 函数作出了简单的分析,该函数对一些早期的外设进行了初始化,例如调试串口,并填充了gd_t结构体中的成员变量,最主要的是对整个DRAM的内存进行了分配,以便uboot的重定位,接下来,先回顾一下_main函数的大概流程,如下:

_main
    |
    board_init_f_alloc_reserve-->reserve gd and early malloc area
    |
    board_init_f_init_reserve-->initialize global data
    |
    board_init_f-->initialize ddr,timer...,and fill gd_t
    |
    relocate_code-->relocate uboot code
    |
    relocate_vectors-->relocate vectors
    |
    board_init_r-->calling board_init_r

在_main函数中,调用完了board_init_f()函数后,将DRAM的内存分配好,填充gd_t结构体成员变量,接下来,就是调用relocate_code()函数重定位uboot代码,调用relocate_vectors()函数重定位中断向量表,本篇文章将简单分析uboot的大概重定位过程。

 

2、uboot相关变量

 

3、relocate_code函数

 

4、relocate_vectors函数

 

5、小结

Uboot启动流程分析(五)

标签:前言   流程   href   内存   结构   https   malloc   reserve   初始化   

原文地址:https://www.cnblogs.com/Cqlismy/p/12152400.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!