u-boot 介绍

U­boot 是德国 DENX 小组的开发用于多种嵌入式 CPU 的 bootloader 程序, U­Boot 不仅仅支持嵌入式 Linux 系统的引导,当前,它还支持 NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS 嵌入式操作系统。U­Boot 除 了支持 PowerPC 系列的处理器外,还能支持 MIPS、 x86、ARM、NIOS、XScale 等诸多常用系列的处理器。

获取 u-boot

以 uboot 用户登陆.

[uboot@localhost
~]#mkdir ­p dev_home/uboot [uboot@localhost ~]#cd dev_home/uboot 从下面地址下载 u­boot 的源代码。 http://sourceforge.net/projects/u­boot[uboot@localhost
uboot]#tar ­xjvf u­boot­1.1.4.tar.bz2

[uboot@localhost
uboot]#cd u­boot­1.1.4

u-boot 体系结构

u-boot 目录结构

1. 目录树

[uboot@localhost
u­boot­1.1.4]#tree ­L 1 ­d

.

|­­ board

|­­ common

|­­ cpu

|­­ disk

|­­ doc

|­­ drivers

|­­ dtt

|­­ examples

|­­ fs

|­­ include

|­­ lib_arm

|­­ lib_generic

|­­ lib_i386

|­­ lib_m68k

|­­
lib_microblaze

|­­ lib_mips

|­­ lib_nios

|­­ lib_nios2

|­­ lib_ppc

|­­ net

|­­ post

|­­ rtc

`­­ tools

2.
board:和一些已有开发板有关的文件. 每一个开发板都以一个子目录出现在当前目录中,比如说:SMDK2410,

子目录中存放与开发板相关的配置文件.

3. common:实现 u­boot 命令行下支持的命令,每一条命令都对应一个文件。例如 bootm 命令对应就是 cmd_bootm.c。

4.
cpu:与特定 CPU 架构相关目录,每一款 U­boot 下支持的 CPU 在该目录下对应一个子目录,比如有子目录 arm920t
等。

5. disk:对磁盘的支持。

5. doc:文档目录。U­boot 有非常完善的文档,推荐大家参考阅读。

6. drivers:U­boot 支持的设备驱动程序都放在该目录,比如各种网卡、支持 CFI 的 Flash、串口和 USB 等。

7. fs: 支持的文件系统,U­boot 现在支持 cramfs、fat、fdos、jffs2 和 registerfs。

8. include:U­boot 使用的头文件,还有对各种硬件平台支持的汇编文件,系统的配置文件和对文件系统支持的 文件。该目录下 configs 目录有与开发板相关的配置头文件,如 smdk2410.h。该目录下的 asm
目录有与 CPU 体

系结构相关的头文件,asm 对应的是 asm­arm.

9. lib_xxxx: 与体系结构相关的库文件。如与 ARM 相关的库放在 lib_arm 中。

10. net:与网络协议栈相关的代码,BOOTP 协议、TFTP 协议、RARP 协议和 NFS 文件系统的实现。

    1. tools:生成 U­boot 的工具,如:mkimage, crc 等等。

u-boot 的介绍及系统结构的更多相关文章

  1. Linux中 /boot 目录介绍 【转载】

    Linux中 /boot 目录介绍 转自:点击打开链接 一./boot/目录中的文件和目录 Linux系统在本地启动时,目录/boot/非常重要,其中的文件和目录有: (1)系统Kernel的配置文件 ...

  2. STM32三种BOOT模式介绍

    一.三种BOOT模式介绍 所谓启动,一般来说就是指我们下好程序后,重启芯片时,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存.用户可以通过设置BOOT1和BOOT0引脚的状态,来选择在复位后的启 ...

  3. Spring Boot Starter 介绍

    http://www.baeldung.com/spring-boot-starters 作者:baeldung 译者:http://oopsguy.com 1.概述 依赖管理是任何复杂项目的关键部分 ...

  4. spring boot入门 -- 介绍和第一个例子

    "越来越多的企业选择使用spring boot 开发系统,spring boot牛在什么地方?难不难学?心动不如行动,让我们一起开始学习吧!" 使用Spring boot ,可以轻 ...

  5. Spring Boot Starters介绍

    文章目录 Web Start Test Starter Data JPA Starter Mail Starter 结论 对于任何一个复杂项目来说,依赖关系都是一个非常需要注意和消息的方面,虽然重要, ...

  6. Spring Boot - 配置介绍

    Spring Boot 针对常用的开发场景提供了一系列自动化配置来减少原本复杂而又几乎很少改动的模板配置内容,但是,我们还是需要了解如何在Spring Boot中修改这些自动化的配置,以应对一些特殊场 ...

  7. spring boot 日志介绍 以及 logback配置示例

    https://www.cnblogs.com/flying607/p/7827460.html 以下是springboot的一个局部依赖关系: 可以看到,java util logging(jul) ...

  8. Spring Boot(七):spring boot测试介绍

    首先maven要引入spring-boot-starter-test这个包. 先看一段代码 @RunWith(SpringRunner.class) @SpringBootTest(webEnviro ...

  9. Linux中 /boot 目录介绍

    转自https://blog.csdn.net/dulin201004/article/details/7396968 一./boot/目录中的文件和目录 Linux系统在本地启动时,目录/boot/ ...

随机推荐

  1. Centos 7 技巧

    查看系统版本详细信息 lsb_release -a 更改邮件MTA alternatives --config mta

  2. python调用tushare获取IPO新股上市列表数据

    接口:new_share 描述:获取新股上市列表数据 限量:单次最大2000条,总量不限制 积分:用户需要至少120积分才可以调取,具体请参阅本文最下方积分获取办法 注:tushare包下载和初始化教 ...

  3. 三.Python数据类型详述

    Python第三节数据类型详述 一.多变量赋值 python允许多变量赋值 多变量赋相同的值a = b = c = 1 多变量赋不同的值a, b, c = 1, 2, "fuckyou&qu ...

  4. yppasswd, ypchfn, ypchsh - 修改你在NIS数据库中的密码

    SYNOPSIS(总览) yppasswd [-f] [-l] [-p] [user] ypchfn [user] ypchsh [user] DESCRIPTION(描述) 在Linux中,标准的 ...

  5. docker gitlab backup

    说明:下面命令中带有<your container name>字,是 gitlab 容器的名称,请按实际情况进行代替 在创建备份之前,你不需要停止任何东西 docker exec -t & ...

  6. (转载)openwrt nginx

    ln -s ../../../feeds/packages/net/fcgiwrap/ fcgiwrap 本帖最后由 cjd6568358 于 2018-6-4 11:21 编辑 刚又把路由器重置重新 ...

  7. Vue开发实战

    递归组件 关键是组件在模板内能调用自身,关键是name属性 首先我们先定义数据格式 list: [ { title: '标题1' }, { title: '标题2', children: [ { ti ...

  8. Winform 奇怪的 英文字体错乱显示问题

    效果如图: 字体是Calibri 后来看了一下,我在vs设计器中为了预览效果定义了这些中文,然后在构造函数中将其改成英文,可能是已经为中文渲染出了位置?在改变就会冲突? 我的设计器 如何修改: 将vs ...

  9. leetcode-52-N皇后②

    题目描述: 方法一:回溯 class Solution: def totalNQueens(self, n: int) -> int: def backtrack(i,tmp,col,z_dia ...

  10. leetcood学习笔记-88-合并两个有序数组

    题目描述: 第一次提交: class Solution: def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -&g ...