新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 嵌入式Linux在IOP331上的移植实现

嵌入式Linux在IOP331上的移植实现

作者:时间:2012-03-23来源:网络收藏

引言

是指对于用户端(备份服务器/网络端)体现为常规磁带库,但是使用磁盘阵列为存储介质的备份设备。它不仅大大提高了系统的可靠性和可用性,而且对于那些主要使用磁带为数据存储介质、现在想更换为磁盘阵列但又不想全部更换原有设备的用户来说具有非常重要的意义。的实现,依赖于以下三项核心技术:嵌入式微处理器、存储协议微处理器和嵌入式操作系统。嵌入式微处理器作为系统的主控单元,实现人机交换及存储协议处理器的控制,同时也是嵌入式操作系统的运行平台;存储协议微处理器实现与存储介质之间的数据传输;嵌入式操作系统主要实现内存管理与进程调度,为设备驱动程序与用户应用程序提供软件平台。本文首先介绍Linux操作系统和Intel 高性能I/O处理器,然后详细分析的各个步骤,最后给出验证和结论。

1.Linux操作系统和

Linux操作系统源码开放,遵循GPL声明,可以自由修改和传播。由于专用实时操作系统价格昂贵及源码不公开,使Linux在嵌入式应用中占有一席之地。由于Linux自身有诸多优势,吸引了很多开发商的目光,成为嵌入式操作系统的新宠。其源代码可以从Linux的相关网站下载。

本设计使用的嵌入式微处理器是基于XScale的高性能I/O处理器。XScale是Intel公司定义的基于ARM V5TE(除浮点运算外),即支持Thumb模式及DSP扩充指令集的ARM V5体系结构。其硬件体系结构如图1所示。

图1 Intel 80331硬件体系结构图

2.Linux操作系统的

2.1 建立交叉编译环境

前需要在主机上建立交叉编译环境。作者在使用的主机上安装了Fedora Core 4的系统,从网上获得了建立交叉编译工具链的软件包crosstool-0.42.tar.bz2。使用最新的binutils和kernel,gcc版本为4.0.2,glibc版本为2.3.6。

解压并修改相关的配置文件后运行demo-arm-xscale.sh脚本建立armv5l-linux的交叉编译工具。整个的建立过程可以分为如下几个阶段:

定义环境变量à解压linux内核并对内核打补丁à编译安装GDB for XScaleà编译安装bintuils工具集à编译安装有关基本的针对XScale CPU的gcc(只支持C语言编译)à编译生成Linux内核à编译用于用户程序的glibc程序库à建立完整功能的gcc。

2.2 配置和编译内核

下载Linux-2.6.15.4内核源代码和针对的补丁文件patch-2.6.15.4-iop1。解压内核后使用patch命令对内核打补丁。由于作者使用的是Ramdisk文件系统,故内核配置选项中应支持RamDisk support和Initial Ram disk (initrd) support选项。然后使用已经建好的交叉编译工具链进行编译。

内核编译完成后,从目标平台通过TFTP协议下载内核映像。如果是内核映像的最终版本,则使用RedBoot的fis命令将其烧入Flash中,之后每次启动时RedBoot将从Flash中装载内核映像至内存中并解压启动。

上面提到的主Makefile是指根目录下的Makefile。它的作用是:根据.config配置文件形成编译的源文件列表à使用CC对源文件进行编译à使用LD把目标代码链接到一起à形成Linux内核映像和相关文件。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭