-1-
U-boot在 PPC405EP平台上的移植方法
尹志伟,马东超
北京邮电大学信息光子学与光通信教育部重点实验室,北京 (100876)
摘 要:Bootloader是在嵌入式操作系统内核运行之前执行的一段程序,它的功能是初始化
硬件设备、建立内存空间的映射表,从而建立起适当的软硬件环境,为操作系统内核的执行
做好准备。Universal Bootloader(U-Boot)是一个庞大的开源软件,广泛支持各种型号的 CPU,
本文详细介绍了 U-Boot在 PPC405EP平台上的移植过程。
关键词:嵌入式系统;U-Boot;移植;PPC405EP
中图分类号:
1 U-Boot简介
U-Boot,全称 Universal Boot Loader,是遵循 GPL条款的开放源码项目。从 FADSROM、
8xxROM、PPCBOOT逐步发展演化而来。其源码目录、编译形式与 Linux 内核很相似,事
实上,不少 U-Boot源码就是相应的 Linux内核源程序的简化,尤其是一些设备的驱动程序,
这从U-Boot源码的注释中能体现这一点。但是U-Boot不仅仅支持嵌入式 Linux系统的引导,
当前,它还支持 NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS嵌入式操作系统。其目
前要支持的目标操作系统是 OpenBSD, NetBSD, FreeBSD,, Linux, SVR4, Esix, Solaris,
Irix, SCO, Dell, NCR, VxWorks, LynxOS, pSOS, QNX, RTEMS, ARTOS。这是 U-Boot中
Universal的一层含义,另外一层含义则是 U-Boot除了支持 PowerPC系列的处理器外,还能
支持MIPS、x86、ARM、NIOS、XScale等诸多常用系列的处理器。这两个特点正是 U-Boot
项目的开发目标,即支持尽可能多的嵌入式处理器和嵌入式操作系统。就目前来看,U-Boot
对 PowerPC系列处理器支持最为丰富,对 Linux的支持最完善。
2 建立开发环境及编译
建立开发环境
目标开发板的处理机部分的设计是 U-Boot移植中需要重点关注的内容。下面是开发板
的处理机部分的示意图,如图 1所示。
软件开发环境的建立:主机采用 Red Hat 操作系统,交叉编译环境使用 ELDK。要
得到目标板使用的U-Boot二进制代码,需要对下载的程序源代码进行交叉编译。
编译工作在 Linux 环境下完成,使用 ppc-linux-gcc 进行编译。其中,ELDK 的下载地址是
是
按照相关说明进行解压安装即可。
中国科技论文在线
-2-
PPC405EP
SDRAMSDRAM SDRAMSDRAM
External Bus Controller
Boot
ROM
Flash
Memory NVRAM VSC7398 子板1
SDRAM Controller
BankSel0 BankSel1
CS_boot CS_Flash Per_CS2 Per_CS3 Per_CS4
GPIO
VT6103XMII0
MII1
RTC
CPLD
子板2
预留
UART0
PON1
PON2
图 1 开发板处理机部分示意图
U-Boot编译过程
版本对 PPC405EP有着很好的支持,并提供了此 CPU配套评估板的配置文
件,因此大部分的源程序都不需要修改,只需根据具体的硬件差别对个别几个程序头文件进
行修改。涉及到的文件和目录:根目录Makefile文件, include/configs/文件。
修改内容详述如下:
修改 include/configs/文件
1) 设定波特率:
#define CONFIG_BAUDRATE 9600
2) 根据外设连接情况配置 GPIO
#define CFG_GPIO0_OSRH 0x55555550
#define CFG_GPIO0_OSRL 0x40000110
#define CFG_GPIO0_ISR1H 0x00000000
#define CFG_GPIO0_ISR1L 0x15555441
#define CFG_GPIO0_TSRH 0x00000000
#define CFG_GPIO0_TSRL 0x00000000
中国科技论文在线
-3-
#define CFG_GPIO0_TCR 0xFFFF8016
修改完毕后进行编译
[root@localhost ]#make mrproper
[root@localhost ]#make bubinga405ep_config
[root@localhost ]#make CROSS_COMPILE=ppc_4xx-
编译成功后,在 u-boot 根目录下生成 3 个映像文件:U-boot(ELF 格式), 和
(二进制文件格式)。其中, 文件可以直接下载,使用这个文件进行下
面的移植工作。
3 U-boot的移植工作
在上一步中,已经编译生成了 文件,下面的内容就是将其下载到开发板中。
本文介绍的下载方式是 TFTP 下载方式。这种下载方式适用于开发板中已经有了老版本的
U-boot,通过 TFTP进行更新的应用场景。具体步骤详述如下。
配置 TFTP服务
TFTP(Trivial File Transfer Protocol,简单文件传输协议)是基于 UDP协议实现的,用来
在客户机和服务器之间进行简单文件传说的协议,提供不复杂的、开销不大的文件传输服务。
TFTP server的建立,我使用的是“思科 TFTP服务器”软件,它的配置内容非常简单,用
户只需指定日志文件和服务器根目录位置(即待下载文件的存放位置)即可。配置范例如图
2所示。
图 2 TFTP server的配置范例
配置串口工具
开发板通过串口与 PC机进行通信,完成提示信息输出、配置等功能。串口通信软件使
用Windows自带的“超级终端”或“SecureCRT”软件均可。使用前需对以下项目进行配置:端
口、波特率、数据位和停止位、奇偶校验以及数据流控制。“SecureCRT”的配置范例如图 3
所示。
中国科技论文在线
-4-
图 3 串口通信软件 SecureCRT的配置范例
进行文件下载
文件下载按照以下步骤进行。
1) 连接开发板、PC机(包括串口、网口);
2) 打开串口通信软件 SecureCRT并按 节中配置连接相应端口;
3) 运行 tftpserver,并确定待下载的镜像文件 在相应目录中;
4) 开发板上电,当启动到 U-boot时按任意键进入 U-boot命令模式;
5) 使用 setenv命令设置开发板环境变量,包括:本机 IP地址,server的 IP地址;
6) 使用 tftp将文件下载到 SDRAM中,下载完毕后记录文件大小;
7) 使用 protect命令解除 flash写保护,使用 erase和 命令擦除对应区段并将新的 flash
镜像写入;
4 结论
U-Boot移植是嵌入式系统开发的第一个步骤,本文详细描述了PPC405EP平台上U-Boot
的移植过程,包括开发环境的建立以及 U-Boot的编译和下载,并在此基础上成功地进行了
Linux操作系统的移植,建立了基于 PPC405EP处理器的应用程序的开发环境。
中国科技论文在线
-5-
参考文献
[1] Applied Micro Circuits Corporation:PPC405EP Embedded Processor User’s Manual,
[2] 漆昭铃.基于 PowerPC的嵌入式 Linux[M].北京:北京航空航天大学出版社,2004.
[3] 商斌.嵌入式 Linux C语言开发入门与编程实践[M].北京:电子工业出版社,2008.
[4] 邹思铁.嵌入式 Linux 设计与应用[M].北京:清华大学出版社,2007.
Transplanting Method of U-Boot on PPC405EP Platform
Yin Zhiwei, Ma Dongchao
Beijing University of Posts & Telecommunications, Beijing(100876)
Abstract
Bootloader is a program which is running before embedded operating system kernel, and its function is
to initialize the peripheral hardware device, establish mapping table of memory space, and establish an
appropriate hardware and software environment for the operating system kernel. Universal Bootloader
(U-Boot) is a huge open-source software, it’s widely supported by various types of CPU. This paper
describes a U-Boot migration process in the PPC405EP platform.
Keywords: Embedded systems; U-Boot; transplanting; PPC405EP
作者简介:
尹志伟(1986—),男,内蒙古人,北京邮电大学硕士研究生,研究方向为嵌入式软件;
马东超(1980—),男,北京人,北京邮电大学大学博士研究生,研究方向为接入网、计算
机网络。
中国科技论文在线