天天看点

Uboot移植流程linux-Bootloader(Uboot)移植流程

linux-Bootloader(Uboot)移植流程

前言

最近在做ZigBee的温室大棚项目,将自己学习的过程和经验分享给大家。本文基于linux3.4.39内核版本,s5p6818开发板实现。

1、uboot启动简介

uboot启动的过程比较复杂,这里就只贴几张图片了,重点放在后面的uboot移植。。

Uboot移植流程linux-Bootloader(Uboot)移植流程
Uboot移植流程linux-Bootloader(Uboot)移植流程
Uboot移植流程linux-Bootloader(Uboot)移植流程

补充:①Bootloader的两个阶段

Uboot移植流程linux-Bootloader(Uboot)移植流程

②内核传参:Bootloader启动完成后在操作系统关闭前都将不会执行,所有会被操作系统覆盖,由操作系统管理所有内存资源,但是Bootloader启动OS时会将一些重要信息传递给OS,称为给内核传参。参数由多个结构体组成,起始地址为0x4000_ 0100(uboot中bi_ boot_

_ params成员记录)。参数结构体如下(了解):

Uboot移植流程linux-Bootloader(Uboot)移植流程

2、uboot移植步骤

1)、将uboot源文件拷贝至虚拟机()我的是Ubuntu16),并解压出来。

Uboot移植流程linux-Bootloader(Uboot)移植流程

2)、uboot根目录下执行make x6818_config

Uboot移植流程linux-Bootloader(Uboot)移植流程

3)、修改include/configs/x6818.h配置文件

Uboot移植流程linux-Bootloader(Uboot)移植流程

4)、make 生成u-boot.bin,包含剪切去掉ELF格式

注意:make 前先make clean清理之前的编译结果。

Uboot移植流程linux-Bootloader(Uboot)移植流程

5)、执行tools下的mk6818

Uboot移植流程linux-Bootloader(Uboot)移植流程
Uboot移植流程linux-Bootloader(Uboot)移植流程

6)、下载到开发板

开发板开机三秒倒计时时快速按下回车键,进入uboot界面。

下载镜像烧写工具

Uboot移植流程linux-Bootloader(Uboot)移植流程

修改镜像所在路径,相对脚本的相对路径:

Uboot移植流程linux-Bootloader(Uboot)移植流程

在uboot界面下输入:fastboot,回车后,双击脚本sp_linux_image_down.bat。

Uboot移植流程linux-Bootloader(Uboot)移植流程
Uboot移植流程linux-Bootloader(Uboot)移植流程

3、总结

虽然uboot启动的过程很复杂,但uboot移植很简单,主要是对硬件的支持的配置,但这部分一般都是芯片厂商提供(即x6818_config等多个配置文件),我们需要那种配置直接使用即可。

写的很粗糙,若有错误请指正。谢谢!

fastboot工具下载链接:https://download.csdn.net/download/qq_41583666/12100653