U-Boot在基于ADSP BF533的嵌入式Linux系统上的移植
http://tech.ddvip.com 2008年07月07日 社区交流
内容摘要:本文结合U-Boot的运行机理以及U-Boot移植的基本要求,研究了U-Boot在基于BF533的嵌入式系统上的移植。
2.2 系统硬件平台简介
本系统的开发板硬件系统如图1所示。

目标板以Blackfin嵌入式处理器为核心,数据地址线复用到SDRAM、Flash、USB、Ethernet,并通过FPGA实现逻辑控制。此外,将UART端口转换为RS232端口引出。其中SDRAM的地址为0x00000000~0x02000000,Flash的地址为0x20000000~0x20300000。
宿主机采用Window和Suse10.0双操作系统,采用串行接口和以太网连接宿主机和目标板,程序先在宿主机上编译,然后下载至目标板上运行,目标板的终端被重定向到串行接口,由宿主机输出。
2.3 开发环境的建立
2.3.1 在宿主机上设置终端
大部分嵌入式系统在宿主机大多都采用kermit或minaicom实现与目标板的通信,本系统采用inicom。minicom是Linux下一个类似于Windows超级终端的友好串口通信程序。在终端输入bash#minicom-s进入minicom设置画面,设置串口波特率、有效数据位、停止位以及奇偶校验位分别为57 600、8 bit、1位停止位以及无奇偶校验位等。
2.3.2安装交叉编译器
交叉编译是在一个架构下编译另外一个架构的目标文件。要从http://blackfin.uclinux.org网站上下载Blackfin ToolChain,然后安装并修改环境变量PATH,使其包含ToolChain的安装目录。

3 U-Boot启动两阶段
U-Boot代码一般分为stage1和stage2两大部分。stage1依赖于cpu体系结构如设备初始化代码,常用汇编语言编写以达到短小精悍,提高系统运行效率的目的。它主要包括cpu/bf533目录下的start.s。stage2一般采用C语言编写实现复杂功能,这样代码则具有更好的可读性和可移植性,主要包括lib blackfin/board.c文件和common/main.c文件中main_loop函数。
来源:国外电子元器件 作者:李晓琴 王厚军 责编:豆豆技术应用