u-boot源码整体框架

源码解压以后,我们可以看到以下的文件和文件夹:

 

cpu

与处理器相关的文件。每个子目录中都包括 cpu.c

interrupt.cstart.Su-boot.lds

cpu.c 初始化 CPU、设置指令 Cache和数据 Cache

interrupt.c 设置系统的各种中断和异常

start.S U-boot启动时执行的第一个文件,它主要做最早其的系统初始化,代码重定向和设置系统堆栈,为进入 U-boot

第二阶段的 C程序奠定基础

u-boot.lds 链接脚本文件,对于代码的最后组装非常重要

board

已经支持的所有开发板相关文件,其中包含 SDRAM初始化代

码、Flash底层驱动、板级初始化文件。

其中的 config.mk 文件定义了 TEXT_BASE,也就是代码在内存的其实地址,非常重要。

common

与处理器体系结构无关的通用代码,U-boot的命令解析代码

/common/command.c、所有命令的上层代码cmd_*.cU- boot环境变量处理代码 env_*.c、等都位于该目录下

drivers

包含几乎所有外围芯片的驱动,网卡、USB、串口、LCD

Nand Flash 等等

disk

fs net

支持的 CPU无关的重要子系统:

磁盘驱动的分区处理代码文件系统:FATJFFS2EXT2

网络协议:NFSTFTPRARPDHCP等等

include

头文件,包括各 CPU的寄存器定义,文件系统、网络等等

configs 子目录下的文件是与目标板相关的配置头文件

doc

U-Boot 的说明文档,在修改配置文件的时候可能用得上

lib_arm

lib_avr32 lib_mips lib_nios lib_blackfin         lib_nios2 lib_generic        lib_ppc

lib_i386    lib_sh lib_m68k        lib_sparc lib_microblaze

处理器体系相关的初始化文件

比较重要的是其中的 board.c文件,几乎是 U-boot 的所有架构第二阶段代码入口函数和相关初始化函数存放的地方。

api examples

外部扩展应用程序的 API和范例

 

nand_spl onenand_ipl

post

一些特殊构架需要的启动代码和上电自检程序代码

libfdt

支持平坦设备树(flattened device trees)的库文件

tools

编译 S-Record U-Boot 映像等相关工具,制作 bootm 引导

的内核映像文件工具 mkimage源码就在此

Makefile

MAKEALL config.mk rules.mk

mkconfig

控制整个编译过程的主 Makefile文件和规则文件

CHANGELOG

CHANGELOG-before-U-Boot-1.1.5

COPYING CREDITS MAINTAINERS README

一些介绍性的文档、版权说明

标为红色的是移植时比较重要的文件或文件夹。


转自:http://blog.chinaunix.net/uid-26444756-id-3160111.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值