首页 » 技术文章 » 嵌入式Web服务器移植与测试

嵌入式Web服务器移植与测试

作者:  时间:2010-09-02 10:52  来源:EDN

  随着计算机技术和现代通信技术的不断发展,设备即网络是后PC时代对嵌入式系统的客观要求,因此也需要建立嵌入式设备的网络Web服务器。嵌入式Web能够实现在各种工业监控、检测、以及自动化控制等领域的远程控制,世界上无论任何地方,只要是存在Internet网络,都能够通过Web服务对各种现场进行管理,甚至可以在有网络的手持设备上对现场进行控制管理操作。传统的Web服务器大多在大型机,PC机上实现,其成本比较高,而且不方便工业现场的应用实施,嵌入式系统以及嵌入式小型Web服务器的出现使得Web服务运行在资源、性能有限的嵌入式设备上提供了条件。本文主要介绍嵌入式Web服务器BOAARM9嵌入式系统设备板上的移植,并对移植后的BOA服务器进行测试验证。

  1 硬件设计需求

  根据系统要求,硬件电路部分核心处理器采用三星公司的S3C2440,该器件基于ARM920T内核,主频400 MHz,是性价比比较高的嵌入式32位处理器之一。S3C2440微处理器内部资源丰富,包括1LCD控制器、SDRAM控制器、4个通道的DMA等。开发板的存储系统分SDRAMFlash两部分,其中SDRAM存储系统使用了两片外接的32 M字节总共64 M字节的SDRAM芯片,其型号为HY57V561620FTP。这部分通常称之为内存,两片SDRAM并在一起形成32位宽的数据总线,增加了数据访问速度;开发板具有两种Flash:一种是型号为SST39VFl60lNor Flash,大小为2 M字节;另一种是型号为K9F1208Nand Flash,大小为64 M字节;开发板采用的网卡芯片为DM9000,它自适应10100 M网络,RJ45连接头内部已经包含了耦合线圈,因此在开发板上没有另接网络变压器,通过网线即可连接开发板到Internet网络中,从而实现嵌入式Web服务。另外还包括电源、晶振、JTAG调试口,以及基本输入输出端口等部分。嵌入式硬件设计框图如图1所示。

  2 嵌入式Web服务器BOA实现原理

  BOA是一款非常小巧的Web服务器,源代码开放、性能优秀、支持CGI通用网关接口技术,特别适合应用在嵌入式系统中。BOA服务器主要功能是在互联嵌入式设备之间进行信息交互,达到通过网络对嵌入式设备进行监控,并将反馈信息自动上传给主控设备的目的。它是基于HTTP超文本传输协议的,Web网页是Web服务最基本的传输单元。嵌入式Web服务的工作基于客户机/服务器计算模型,由Web浏览器(客户机)Web服务器(服务器)构成,也即著名的BS结构。运行于客户端的浏览器首先要与嵌入式Web服务器BOA端建立连接,打开一个套接字虚拟文件,此文件建立标志着SOCKET连接建立成功。然后客户端浏览器通过套接字SOCKETGET或者POST参数传递方式向Web服务器提交请求,Web浏览器提交请求后,通过HTTP协议传送给Web服务器。Web服务器接到请求后,根据请求的不同进行事务处理,返回HTML文件或者通过CGI调用外部应用程序,返回处理结果。服务器通过CGI与外部应用程序和脚本之间进行交互,根据客户端浏览器在请求时所采用的方法,服务器会搜集客户所提供的信息,并将该部分信息发送给指定的CGI扩展程序,CGI扩展程序进行信息处理并将结果返回给服务器,然后服务器对信息进行分析,并将结果发送回客户端在浏览器上显示出来。

  3 嵌入式Web服务器BOA移植

  首先,Web服务器BOA是要运行于ARM嵌入式设备上的,因此需要对BOA源文件进行交叉编译。编译工具使用arm-linux-gcc-432交叉编译工具链,拷贝文件arm-lin-ux-gcc-432tgz到目录/tmp下,执行命令cdtmptar zxvfarm-linux-gcc-432tgz-C/.这样交叉编泽工具就安装到/usrlocalarm4.3.2目录下面。为确保在打开终端后能直接应用交叉编译工具链,要在/root/.bashrc文件中把编译器路径加入到系统环境变量。运行命令geditroot/.bashrc编辑文件/root/.bashrc。在文件的最后添加export PATH=$PATH:/usrlocalarm432bin。保存退出。接着执行sourceroot/.bashrc命令使设置生效。最后检测交叉编译工具是否安装成功,命令为在终端中输入arm-linux-gcc-v;若能在输出的信息中看到arm-linux-gcc版本号432,说明安装成功。

  其次,交叉编译BOA源码,拷贝BOA源码包boa-09413targz到/tmp目录下,解压缩掩码包tar zxvf boa-09413targz;解压后在Linux终端进入BOA所在目录,首先执行命令./con-figure生成Makefile文件,然后打开文件夹,找到Makefile文件,用文本编辑器打开,找到CC=gccCPP=gcc-E两行,分别将其设置成上一步生成的交叉编译工具路径CC=usrlocalarm432binarm-linux-gccCPP=usrlocalarm432binarm-linux-gcc-E,然后将Makefile保存后退出,回到终端执行make命令,进行交叉编译得到可执行程序BOA,它就是能够运行在ARM嵌入式设备上的执行文件。可通过命令fileboa查看文件信息。拷贝此BOA文件到目标板/bin目录中。 

相关推荐

Ctrack选用u-blox GPS和蜂巢式模组开发车队管理解决方案

u-blox  嵌入式  Ctrack  2014-05-21

动作撷取追踪的嵌入式体感控制新技术

嵌入式  体感控制  2013-12-06

嵌入式系统的固件更新

嵌入式  Flash  RAM  缓冲区  2013-09-12

汽车电子向一体化集成、网络化与智能化发展

汽车电子  嵌入式  2013-05-23

东芝开发嵌入式SRAM低功耗技术智能手机

东芝  嵌入式  SRAM  2013-02-23

飞思卡尔基于ARM平台全系列MCU引领嵌入式应用新趋势

飞思卡尔  ARM  嵌入式  2013-01-29
在线研讨会
焦点