微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于PXA255的嵌入式Linux应用平台的构建

基于PXA255的嵌入式Linux应用平台的构建

时间:03-22 来源:互联网 点击:

器体系结构选择适合的内核,在本文中选用2.4.18的内核版本,下载已经打好补丁的内核资源linux-2.4.18-rmk7.tar.bz2。

# tar jxvf linux-2.4.18-rmk7.tar.bz2

# cd linux-2.4.18-rmk7

# make menuconfig

# make dep

# make zImage

完成后在arch/arm/boot 路径下生成映像文件zImage,下载到开发平台上并烧写到FLASH中。

2.3 配置根文件系统

Linux并不使用设备标志符(如设备号或驱动器名称)来访问独立文件系统,而是通过一个将整个文件系统表示成单一实体的层次树结构来访问它。一个根文件系统需要包含支持Linux系统运行的所有文件,通常包括:

(1)基本的文件系统结构。

(2)基本的目录: /dev, /proc, /bin, /sbin, /etc, /tmp等。

(3)基本的工具: sh, ls, cp, cd, mv等。

(4)基本的配置文件: rc, inittab, fstab等。

(5)设备: /dev/hd*, /dev/tty*, /dev/fd0, /dev/ram*, /dev/console等。

(6)基本的运行库。

为了建立根文件系统,可以利用BusyBox工具,在网上下载最近版本busybox-1.1.0.tar.gz,一些主要步骤如下:

#tar zxvf busybox-1.1.0.tar.gz

#cd busybox-1.1.0

#make menuconfig

在build Options菜单下,可以选择静态库编译方式

[*]Build BusyBox as a static binary (no shared libs)

还需要使用带glibc库支持的交叉编译器arm-linux-gcc

[*]Do you want to build BusyBox with a Cross Compiler?

/usr/local/hybus-arm-linux-R1.1/bin/arm-linux-

在installation Options中选安装路径,默认是_install目录

[*]Don't use /usr

(./_install)BusyBox installation prefix

之后选择一些需要的编译命令后就可以编译BusyBox了。

#make dep

#make

#make install

完成后生成_install目录,目录下有bin linuxrc sbin目录,下面介绍对根文件系统的进一步配置:

建立etc目录

#mkdir etc

建立rc文件,内容如下:

#!/bin/sh

hostname XScale

mount -t proc proc /proc

cat /etc/motd

改变rc属性

#chmod 777 rc

建立inittab文件,主要内容如下:

::sysinit:/etc/init.d/rcS

::askfirst:/bin/sh

tty1::respawn:/sbin/getty 38400 tty1

tty2::respawn:/sbin/getty 38400 tty2

::restart:/sbin/init

::ctrlaltdel:/sbin/reboot

::shutdowm:/bin/umount -a -r

::shutdowm:/sbin/swapoff -a

在init.d目录下,建立rc文件的符号连接文件rcS

#ln -s ../rc rcS

建立dev目录,创建设备文件,可以用mknod命令创建,也可以复制主机平台/dev目录下的一些需要的设备文件到/_install/dev目录下。

制作JFFS2文件映像,在busybox-1.1.0目录下

#./mkfs.jffs2 -o newfs.img -e 0x40000 -r _install -p -l

生成映像文件newfs.img,下载并烧写到FLASH中。

3 结束语

本文在Intel XScale PXA255处理器和Linux操作系统的基础上构建嵌入式Linux应用平台。主要分析了Bootloader的功能特点和实现Bootloader映像的制作、Linux系统的特点和交叉编译环境下加载和编译Linux内核,最后介绍支持Linux系统运行的精简根文件系统的实现。

本文作者创新点是:利用BusyBox这一工具,详细介绍了在PXA255处理器上精简根文件系统的实现过程,由于采用接口功能强大的XScale处理器和运行稳定的Linux操作系统构建嵌入式Linux应用平台,降低了开发难度,在很大程度上提高了应用平台的可靠性、稳定性和可维护性。可以根据需要编写程序,使开发板用于实际的工业应用等。

参考文献:

[1] 孙琼.嵌入式Linux应用程序开发详解[M].北京:人民邮电出版社,2006

[2] 夏玮玮,沈连丰,肖 婕,等.嵌入式系统关键技术分析与开发应用[J].业界论坛,2003,(2):5-9.

[3] SARWAR.A1.SAGABI.LINUXUNIX程序开发基础教程[M].英宇,姚锋,译.北京:清华大学出版社,2004.

[4] 英海燕.基于ARM的嵌入式Linux操作系统移植[J].现代情报,2005,(5):155-156.

[5] Karim Yagbmour.Building embedded Linux system[M].O'Reilly Associates,Inc.2003

[6] 白伟平, 包启亮.基于ARM的嵌入式Bootloader 浅析[J].微计算机信息, 2006, 4- 2:99- 100.

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top