uboot编译之体验

在说uboot之前,先看一下PC机是怎么启动的?
pc上电、bios、引导操作系统、识别C盘、运行应用程序。

同样的在嵌入系统里面,启动过程:一上电的时候,bootlolder(引导linux内核)、挂接根文件系统、运行应用程序。

bootlolder的最主要的目的:启动内核

这里写图片描述

补丁?
所谓的补丁就是我们在原码包上做了什么修改,我们将这些修改单独列出来放到一个文件,然后发布的时候,把补丁文件给别人家即可。
怎么打补丁?
这里写图片描述

补丁文件中的 “—”表示原来的代码,“+++”表示修改后的代码;比如:
这里写图片描述

其中“-”表示原来的文件,“+”表示修改后的代码;

补丁打到哪里去?在补丁文件的前面有说明,要注意路径,如果要忽略某个目录的话,可以:
这里写图片描述

打完补丁之后,就可以编译uboot,要想uboot支持哪些单板,需要配置;

配置完之后,直接执行make开始编译;

这里写图片描述

编译完成以后,会生成一个u-boot.bin的文件,如图:

这里写图片描述

然后将这个bin文件烧写到开发板上面,烧写完成以后在串口上可以看到它的启动信息;
这里写图片描述

输入help可以查看uboot有哪些命令;
如果想查看具体哪个命令的用法,可以输入“? 命令名”即可。

如何查看uboot有哪些环境变量?print
这里写图片描述

怎么设置环境变量? set

这里写图片描述

在嵌入式操作系统中,bootloader有很多种,我们这里使用的是uboot;

对于PC机来说内核存在于硬盘上面,BIOS从硬盘上读入内核;
而对于嵌入linux来说,一般从flash中读取出内核,然后放到SDRAM中去。可以看出,uboot要具备的基本功能:能够读取flash、写之前要初始化SDRAM(要初始化时钟、初始化串口(因为要看一些启动信息))、启动内核。

在开发阶段,我们想让它增加更多的功能,比如说加入定flash的功能,因为在开发中(为了开发方便),内核也是通过uboot通过网络或USB把内核下载到开发板中去的。
这里写图片描述

总结一下uboot的功能:
这里写图片描述

uboot的源码结构:
这里写图片描述

这些源码是怎么组织起来构成一个uboot的,最简单的方法就是它的makefile文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值