新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于ARM处理器的嵌入式WEB服务器设计

基于ARM处理器的嵌入式WEB服务器设计

作者:时间:2010-09-15来源:网络收藏

2 软件
2.1 Linux系统移植
采用Linux作为操作系统,Linux系统具有开放源码、软件资源丰富、内核功能强大、性能高效、稳定、可支持多种硬件平台等特点。除此之外,Linux还具有完善的网络通信功能,可支持TCP/IP等多种协议,而且Linux系统内核中已经紧密地集成了网络功能并有大量的网络应用程序,可为实现网络通信提供有力的支持。Linux强大的网络功能是选用其作为web软件系统的一个重要原因。
一个系统通常可以分引导加载程序、内核、文件系统为3个层次。因此,Linux的系统移植也包括3个部分:即引导程序(BootLoa-der)移植、内核移植和文件系统制作。
Bootloader (引导加载程序)是系统加电后运行的第一段代码。它的运行时间非常短,但对于系统来说。这是一个非常重要的系统组成部分,主要负责硬件的初始化,设置Linux的启动参数,然后跳转到Linux内核启动代码的第一行语句引导Linux。本系统采用U-boot作为bootloader。U-Boot的全称是Universal Boot Loader,是遵循GPL条款的开放源码项目,它从FADSROM、8xxROM、PPCBOOT逐步发展演化而来。
内核是所有嵌入式Linux系统的核心软件,内核移植是一个比较复杂的任务,也是嵌入式系统开发中非常重要的一个过程。内核移植一般包括内核配置、编译和内核下载三大部分。移植过程的关键步骤如下:
(1)准备下载linux源码
选用的内核版本是linux-26.22,然后通过解压缩得到内核源码。同时在linux系统开发环境下安装交叉编译器arm-linux-gcc。
(2)修改内核代码
修改内核代码主要是选定Linux内核对的支持和修改以及与外部设备相关的内核代码。首先在linux-2.6.22根目录下修改Makefile文件,主要应当修改下面两行内容:
ARCH=arm;说明目标是体系结构;
CROSS_COMPILE =/usr/local/arm/1.3.1/bin/aim-linux-gcc;设置为宿主机上交叉编译工具链的绝对路径。
除此之外。还需要修改与AT91SAM9263相关的代码,这些代码集中在arch目录中和include目录下文件名以asm开头的子目录中。
(3)配置和编译内核
配置内核选项是移植内核过程中很重要的一步,主要是对内核功能模块进行选择及参数设定。在内核源代码目录下运行make menuconfig可对内核进行配置,主要是载入AT91SAM9263参考开发板的默认配置,并在此基础上进行相关的驱动选择等。配置完成后,可保存退出配置菜单界面,然后在内核源代码目录上输入命令make,这样。编译完成后,就会生成uImage文件。
本设计所采用的文件系统是直接从网络上获取一个已经生成的文件系统,并在此基础上进行添加和修改,最后形成自己的文件系统。在开发过程中,可利用Linux系统所提供的NFS服务,并通过网络挂载文件系统进行系统调试。最后将Uboot映像文件、Linux内核文件uImage、文件系统镜像文件烧写到NANDflash上相应的分区。
2.2 Web的移植
Web服务器Boa是一个单任务的小型HTTP服务器,源代码开放、性能优秀,运行所需空间仅为140 KB左右。特别适合于在嵌入式系统中。本设计采用移植Boa的方法来实现嵌入式Web服务器部分,以满足访问网页的要求,其主要移植过程如下:
首先是下载Boa源代码。Boa web服务器的源代码可以从http:∥www.boa.org下载,本文中的下载文件为:boa-0.94.13.tar.gz.
其次是安装并编译Boa源代码,操作时可执行以下命令:
#cd/home/
#tar zxvfboa.tar.gz
#cd boa/src
生成Makefile文件#./configure后,即可修改Makefile文件,找到CC=gcc,将其改成CC=armlinux-gcc;再找到CPP=gee-E,其将其改成CPP=arm-linux-gec-E,然后保存退出。
运行make进行编译后,即可在boa/src目录下生成Boa文件,该文件即为Boa Web服务器执行文件。
势头应当配置Boa Web服务器。Boa启动时将加载一个配置文件boa.conf。用户可以根据自己的需要对boa.conf进行修改,但必须保证其它的辅助文件和设置必须与boa.conf里的配置相符,否则,Boa就不能正常工作。Boa源码boa-0.94.13目录下已有一个示例文件boa. conf位于boa/example下面,可以根据需要在其基础上进行修改。然后将修改好的配置文件Boa.conf存放于嵌入式系统根文件/etc/boa目录下。
最后就是测试Boa的运行。在re文件中执行:#ifconfig eth0 192.168.0.1命令给嵌入式Web服务器配置IP。并通过IE浏览器连接到运行Boa的嵌入式系统http:∥192.168.0.1/,这样,就可以访问到之前放置的index页面了。

3 结束语
本设计以AT9lSAM9263为核心,在此基础上给出了一个web服务器。并在硬件方面设计了一个嵌入式系统,该系统包括网络接口、AD卡接
口、USB接口等各种外设。文中还在网络接口的基础上,给出了将Linux移植到硬件平台,并最终移植web服务器的实现方法。这种方法通过页
面访问的测试,结果表明,本系统运行稳定,且访问速度正常。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭