分享

基于ar9331 mips架构AP121 uboot分析(1) | Imagination中文技术社区

 云将东游 2016-02-24

背景:

Board ar9331(ap121)

Cpu mips

1、首先弄清楚什么是u-boot

Uboot是德国DENX小组的开发,它用于多种嵌入式CPU的bootloader程序, uboot不仅支持嵌入式linux系统的引导,当前,它还支持其他的很多嵌入式操作系统。

除了PowerPC系列,还支持MIPS,x86,ARM,NIOS,XScale。

2、下载完uboot后解压,在根目录下,有如下重要的信息(目录或者文件)

以下为为每个目录的说明:

Board:和一些已有开发板有关的文件。每一个开发板都以一个子目录出现在当前目录中,子目录存放和开发板相关的配置文件。它的每个子文件夹里都有如下文件

(以ar7240/ap121和ar7240/common为例):

ar7240/ap121目录下有:

Makefile

config.mk

ap121.c 和板子相关的代码

flash.c Flash操作代码

hornet_pll_init.S

u-boot.lds 对应的链接文件

u-boot-bootstrap.lds

ar7240/common目录下有:

ar7240_flash.c

ar7240_flash.h

ar7240_s26_phy.c

ar7240_s26_phy.h

phy.h

lowlevel_init.S

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

cpu:与特定CPU架构相关目录,每一款Uboot下支持的CPU在该目录下对应一个子目录,比如有子目录/cpu/mips和/cpu/mips/ar7240。它的每个子文件夹里都有入下文件:

/cpu/mips目录下有如下文件:

Makefile

config.mk

cpu.c 和处理器相关的代码s

Interrupts.c 中断处理代码

cache.S

start.s 全局开始启动代码

start_bootstrap.S

/cpu/mips/ar7240

Makefile

meminit.c

hornet_serial.c

hornet_ddr_init.S

ag7240.c

ag7240.h

ag7240_phy.h

drivers:Uboot支持的设备驱动程序都放在该目录,比如网卡,支持CFI的Flash,串口和USB等。包含如下文件:

Makefile

netconsole.c

include:Uboot使用的头文件,还有对各种硬件平台支持的汇编文件,系统的配置文件和对文件系统支持的文件。该目录下configs目录有与开发板相关的配置文件,如ar7240.h和ap121.h。该目录下的asm目录有与CPU体系结构相关的头文件,比如说mips对应的有asm-mips。

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

net:与网络协议栈相关的代码,BOOTP协议、TFTP协议、RARP协议和HTTPD协议。

rtc: 与时间设置相干的代码,目录下有如下文件:

Makefile

date.c

tools:生成Uboot的工具,如:mkimage等等。

本文转自:onejacky的专栏

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多