snifer

【原创】关于U-boot的引导过程分析

0
阅读(2064)

Vivado的比赛结束了,悠游假期也要画上句号了,开始新的征程吧。

今天我就写写我的领域,嵌入式中U-boot的启动过程,与大家分享。主要希望大家能对引导的过程有一个更真切的体会。

引导过程分析:

第一步:

基本的硬件初始化

为加载的第二步准备RAM空间

拷贝stage2到RAM中

设置堆栈指针sp

调到第二步的入口点

第二步:

初始化本阶段要使用到的硬件设备

检测系统的内存映射

加载内核映像和文件系统映像

设置内核的启动参数

调用内核

执行go命令:

bootm执行:

在Uboot移植中要根据目标板修改Board和CPU特定的代码:

选择一个U-boot已支持的类型板子作为起点,主要完成CPU.内存,flash、串口、以太网接口的初始化

然后配置U-boot、编译、测试、固话

在U-boot的移植中,要进行Board目录选择,Makefile的编写、Config.in以及进行宏定义和参数设置,相信你知道了这个过程就会对嵌入式的启动有一个深入的理解。