U-BOOT源代码目录文件解释

首先来分析一下U-BOOT的源代码分布,然后再做分析。可惜不能贴图,不然会直观很多,
下面只好一一介绍了。

1.头文件
头文件位于源码树下的include/下,其中各种主板的配置文件位于/include/configs/文件
夹中,比如FADS860T主板的配置文件为/include/configs/FADS860T.h;目录/include/as
m-ppc包括了一些比较底层的头文件,编译时会根据不同的配置与/include/configs/asm建
立一个符号链接。

2.与目标板相关的代码
U-BOOT支持大多数比较常见的目标板,比如MOTOROLA的FADS板,一般来说,自己设计的主
板和这些主板都是大同小异,差别不会太大。源代码树中board/下的每个文件夹对应一个
或几个主板,例如,/board/fads目录对应的就是FADS板的源代码,主板上一些资源的初始
化代码就在这个文件夹中(例如FLASH、SDRAM等)。

3.与CPU相关的代码
u-boot-0.2.0只支持PowerPC系列的主板,与CPU相关的代码位于源代码树下的CPU/下的各
个目录中,例如ppc855、ppc860的代码就位于/cpu/mpc8xx/文件夹中。其中start.S是U-B
OOT的入口代码,由汇编语言实现,是整个程序的入口。相应的,目录/cpu/mpc824x/对应
的就是824x系列CPU的相关代码。

4.公共代码
除了与主板,CPU特性相关的代码外,剩下最主要的就是共用代码,位于/common/目录下面
,U-BOOT的命令解析代码/common/command.c;U-BOOT环境变量处理代码environment.c等
都位于该目录下。另外,PowerPC系列的主板初始化代码也是公用的,位于/lib_ppc/boar
d.c中,在完成CPU的初始化之后,程序会跳到该文件执行主板的初始工作,与主板相关代
码的执行都是在该文件中调用。

5.网络传输
网络传输代码位于/net/目录下面,arp.c ,bootp.c,eth.c,tftp.c等代码都在这里,以太
网初始化、BOOTP和TFTP等功能的实现也是由该目录下的代码完成。

6.Makefile文件
Makefile文件位于U-BOOT的根目录下,是整个编译的控制主文件,后面小节会讲到如何修
改该文件以实现针对自己主板的编译控制。

7.关键的驱动程序代码
U-BOOT中几个比较关键的外设驱动包括串口的初始化,以太网口驱动,SDRAM初始化,FLA
SH初始化,以FADS板为例,分别位于:
串口: /cpu/mpc8xx/serial.c
SDRAM: /board/fads/fads.c
FLASH: /board/fads/flash.c
ETHERNET: /cpu/mpc8xx/scc.c
FAST ETHERNET: /cpu/mpc8xx/fec.c
在移植的过程中这些都是需要修改的代码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值