linux-Bootloader(Uboot)移植流程
前言
最近在做ZigBee的温室大棚项目,将自己学习的过程和经验分享给大家。本文基于linux3.4.39内核版本,s5p6818开发板实现。
1、uboot启动简介
uboot启动的过程比较复杂,这里就只贴几张图片了,重点放在后面的uboot移植。。
补充:①Bootloader的两个阶段
②内核传参:Bootloader启动完成后在操作系统关闭前都将不会执行,所有会被操作系统覆盖,由操作系统管理所有内存资源,但是Bootloader启动OS时会将一些重要信息传递给OS,称为给内核传参。参数由多个结构体组成,起始地址为0x4000_ 0100(uboot中bi_ boot_
_ params成员记录)。参数结构体如下(了解):
2、uboot移植步骤
1)、将uboot源文件拷贝至虚拟机()我的是Ubuntu16),并解压出来。
2)、uboot根目录下执行make x6818_config
3)、修改include/configs/x6818.h配置文件
4)、make 生成u-boot.bin,包含剪切去掉ELF格式
注意:make 前先make clean清理之前的编译结果。
5)、执行tools下的mk6818
6)、下载到开发板
开发板开机三秒倒计时时快速按下回车键,进入uboot界面。
下载镜像烧写工具
修改镜像所在路径,相对脚本的相对路径:
在uboot界面下输入:fastboot,回车后,双击脚本sp_linux_image_down.bat。
3、总结
虽然uboot启动的过程很复杂,但uboot移植很简单,主要是对硬件的支持的配置,但这部分一般都是芯片厂商提供(即x6818_config等多个配置文件),我们需要那种配置直接使用即可。
写的很粗糙,若有错误请指正。谢谢!
fastboot工具下载链接:https://download.csdn.net/download/qq_41583666/12100653