Chinaunix首页 | 论坛 | 博客
  • 博客访问: 563227
  • 博文数量: 287
  • 博客积分: 27
  • 博客等级: 民兵
  • 技术积分: 547
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-01 20:20
文章分类

全部博文(287)

文章存档

2015年(1)

2014年(95)

2013年(90)

2012年(101)

分类:

2012-04-19 14:12:42

原文地址:u-boot源码整体框架 作者:adomax_bd

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

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

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

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

阅读(441) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~