(一) u-boot 基本介绍
来源:互联网 发布:明代斗彩天字罐淘宝 编辑:程序博客网 时间:2024/06/06 05:28
U-Boot,全称 Universal Boot Loader,是遵循GPL条款的开放源码项目。U-Boot的作用是系统引导。
U-Boot从FADSROM、8xxROM、PPCBOOT逐步发展演化而来。其源码目录、编译形式与Linux内核很相似,事实上,不少U-Boot源码就是根据相应的Linux内核源程序进行简化而形成的,尤其是一些设备的驱动程序,这从U-Boot源码的注释中能体现这一点。
一、uboot的最终目的
在说uboot之前,先看一下PC机是怎么启动的?
- pc上电,bios(引导操作系统)、识别C盘、运行应用程序。
- 同样的在嵌入系统里面,启动过程:一上电的时候,uboot(引导Linux内核)、挂接根文件系统、运行应用程序。
小结:uboot的最终的目的->启动内核
二、怎么让嵌入式系统使用uboot
① 先来介绍一下补丁:
- 什么是补丁?
所谓的补丁就是我们在原码包上做了什么修改,我们将这些修改单独列出来放到一个文件,然后发布的时候,把补丁文件给别人家即可。
- 怎么打补丁?
tar xjf u-boot-1.1.6.tar.bz2 cd u-boot-1.1.6/ patch -p1 < ../u-boot-1.1.6_jz2440.patch
-p1 是忽略配置文件中的第一个参数,即,u-boot-1.1.6/和u-boot-1.1.6_jz2440/
- 补丁文件中的
---
表示原来的代码,+++
表示修改后的代码;比如:
② 打完补丁之后,要想uboot支持哪些单板,需要配置。通过make 100ask24x0_config
来配置我们此款JZ2440V3单板,然后再make
编译uboot。
总结一下:
tar xjf u-boot-1.1.6.tar.bz2 //解压缩patch -p1 < ../u-boot-1.1.6_jz2440.patch //打补丁make 100ask24x0_config //配置make //编译
③ 编译完成以后,会生成一个u-boot.bin的文件,如图:
然后通过dnw或者eop将这个bin文件烧写到开发板上面,烧写完成以后在串口上可以看到它的启动信息;
三、uboot命令使用
在嵌入式操作系统中,bootloader有很多种,我们这里使用的是uboot;
① 输入help或?可以查看uboot有哪些命令;
- 如果想查看具体哪个命令的用法,可以输入“? 命令名”即可。
- 如何查看uboot有哪些环境变量?
使用print
命令
② 怎么设置环境变量?
使用set
命令
总结一下:
?/help + 命令 //查询命令的用法print //查看当前环境变量set //修改环境变量save //保存环境变量reset //重启ubootboot //引导内核
四、uboot功能介绍
① 对于PC机来说windows操作系统存在于硬盘上面,BIOS从硬盘上读出windows操作系统,然后放到DDR(SDRAM的一种 DDR SDRAM);
② 而对于嵌入linux来说,一般从flash中读取出内核,然后放到SDRAM中去。
可以看出,uboot要具备的基本功能:能够读取flash、写入SDRAM之前要初始化SDRAM、启动内核。
在开发阶段,我们想让它增加更多的功能,比如说加入写flash的功能,因为在开发中(为了开发方便),内核也是通过uboot利用网络或USB下载把内核烧写到开发板中去的。
总结一下uboot的功能:
五、uboot的源码结构:
U-boot中各目录间也是有层次结构的,虽然这种分法不是绝对的,但是在移植过程中可以提供一些指导意义
这些源码是怎么组织起来构成一个uboot的,最简单的方法就是分析它的makefile文件。
阅读全文
1 0
- (一) u-boot 基本介绍
- 移植u-boot-2012-10到tiny210v2(一)-----基本芯片介绍和启动流程介绍
- u-boot 详细介绍
- U-Boot介绍
- u-boot 详细介绍
- U-Boot介绍
- u-boot 详细介绍 .
- U-boot移植介绍
- U-boot介绍
- u-boot学习(一):u-boot概述
- u-boot分析[一]
- u-boot命令(一)
- u-boot笔记(一)
- U-boot 启动(一)
- u-boot分析 一
- U-boot 一 开始
- 常用U-BOOT命令介绍
- u-boot FIT image介绍
- 78. Subsets
- 最全易懂UML图识别
- 理解C语言二维数组名
- MFC DestroyWindow
- PHP在使用json_encode格式转换问题
- (一) u-boot 基本介绍
- 唠一唠Linux系统入门的方法和经验
- 微信小程序 滚动消息通知
- Oracle函数
- atitit 体系搭建的方法 解决方案 attilax总结.docx
- javaseday06(构造函数,this,static,main)
- C语言模式实现C++继承和多态
- atitit 总裁 执行长 分部负责人 ceo 总经理 执行委员会主席 日常工作职责.docx
- vue和php协作,开发环境不一致的问题?