U-boot

匿名 (未验证) 提交于 2019-12-03 00:42:01

来源:https://blog.csdn.net/czg13548930186/article/details/76244596

U-Boot,全称 Universal Boot Loader,是遵循GPL条款的开放源码项目。U-Boot的作用是系统引导。

U-Boot从FADSROM、8xxROM、PPCBOOT逐步发展演化而来。其源码目录、编译形式与Linux内核很相似,事实上,不少U-Boot源码就是根据相应的Linux内核源程序进行简化而形成的,尤其是一些设备的驱动程序,这从U-Boot源码的注释中能体现这一点。

  • pc上电,bios(引导操作系统)、识别C盘、运行应用程序。

  • 什么是补丁?
  • 怎么打补丁?
 tar xjf u-boot-1.1.6.tar.bz2  cd u-boot-1.1.6/  patch -p1 < ../u-boot-1.1.6_jz2440.patch
  • 1
  • 2
  • 3

-p1 是忽略配置文件中的第一个参数,即,u-boot-1.1.6/和u-boot-1.1.6_jz2440/

  • ---表示原来的代码,+++
tar xjf u-boot-1.1.6.tar.bz2 //解压缩 patch -p1 < ../u-boot-1.1.6_jz2440.patch //打补丁 make 100ask24x0_config //配置 make //编译
  • 1
  • 2
  • 3
  • 4

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


  • 如何查看uboot有哪些环境变量?

?/help + 命令 //查询命令的用法 print        //查看当前环境变量 set          //修改环境变量 save         //保存环境变量 reset        //重启uboot boot         //引导内核
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

Ŀ¼特性解释说明
board 开发板相关 对应不同配置的(即使CPU相同),smdk2410、sbc2410x
cpu 平台相关 对应不同的CPU,arm920t、arm925t、i386等;在它们的子目录下仍可以细分,比如arm920t就有at91rm9200、s3c24x0
lib_i386 类似 平台相关 某一架构下通用的文件
include 通用的函数 头文件和开发板配置文件,开发板的配置文件都放在include/configs目录下,U-boot没有make menuconfig类似的菜单来进行可视化配置,需要手动地修改配置文件中的宏定义
lib_generic 通用的函数 通用的库函数,比如printf等
common 通用的函数 通用的函数,多是对下一层驱动程序的进一步封装
disk 通用的设备驱动程序 硬盘接口程序
drivers 通用的设备驱动程序 各类具体设备的驱动程序,基本上可以通用,它们通过宏从外面引入平台/开发板相关的函数
dtt 通用的设备驱动程序 数字温度测量器或者传感器的驱动
fs 通用的设备驱动程序 文件系统
nand_spl 通用的设备驱动程序 U-Boot一半从ROM、NOR Flash等设备启动,现在开始支持从NAND Flash启动,但是支持的CPU种类还不多
net 通用的设备驱动程序 各种网络协议
post 通用的设备驱动程序 上电自检程序
rtc 通用的设备驱动程序 实时时钟的驱动
doc 文档 开发、使用文档
examples 示例程序 一些测试程序,可以使用U-Boot下载后运行
tools 工具 制作S-Record、U-Boot格式映象的工具,比如mkimage

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

U-boot

原文:https://www.cnblogs.com/zzdbullet/p/9346432.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!