跟着核算机技能和现代通讯技能的不断发展,设备即网络是后PC年代对嵌入式体系的客观要求,因而也需求树立嵌入式设备的网络Web服务器。嵌入式Web能够完结在各种工业监控、检测、以及主动化操控等范畴的长途操控,世界上不管任何地方,只要是存在Internet网络,都能够通过Web服务对各种现场进行办理,乃至能够在有网络的手持设备上对现场进行操控办理操作。传统的Web服务器大多在大型机,PC机上完结,其本钱比较高,而且不方便工业现场的运用施行,嵌入式体系以及嵌入式小型Web服务器的呈现使得Web服务运转在资源、功用有限的嵌入式设备上供给了条件。本文首要介绍嵌入式Web服务器BOA在ARM9嵌入式体系设备板上的移植,并对移植后的BOA服务器进行测验验证。
1 硬件规划需求
依据体系要求,硬件电路部分中心处理器选用三星公司的S3C2440,该器材依据ARM920T内核,主频400 MHz,是性价比比较高的嵌入式32位处理器之一。S3C2440微处理器内部资源丰富,包含1个LCD操控器、SDRAM操控器、4个通道的DMA等。开发板的存储体系分SDRAM和Flash两部分,其间SDRAM存储体系运用了两片外接的32 M字节一共64 M字节的SDRAM芯片,其型号为HY57V561620FTP。这部分一般称之为内存,两片SDRAM并在一同构成32位宽的数据总线,增加了数据拜访速度;开发板具有两种Flash:一种是型号为SST39VFl60l的Nor Flash,巨细为2 M字节;另一种是型号为K9F1208的Nand Flash,巨细为64 M字节;开发板选用的网卡芯片为DM9000,它自适应10/100 M网络,RJ45衔接头内部现已包含了耦合线圈,因而在开发板上没有另接网络变压器,通过网线即可衔接开发板到Internet网络中,然后完结嵌入式Web服务。别的还包含电源、晶振、JTAG调试口,以及根本输入输出端口等部分。嵌入式硬件规划框图如图1所示。
2 嵌入式Web服务器BOA完结原理
BOA是一款十分细巧的Web服务器,源代码敞开、功用优异、支撑CGI通用网关接口技能,特别合适运用在嵌入式体系中。BOA服务器首要功用是在互联嵌入式设备之间进行信息交互,到达通过网络对嵌入式设备进行监控,并将反应信息主动上传给主控设备的意图。它是依据HTTP超文本传输协议的,Web网页是Web服务最根本的传输单元。嵌入式Web服务的作业依据客户机/服务器核算模型,由Web浏览器(客户机)和Web服务器(服务器)构成,也即闻名的B/S结构。运转于客户端的浏览器首要要与嵌入式Web服务器BOA端树立衔接,翻开一个套接字虚拟文件,此文件树立标志着SOCKET衔接树立成功。然后客户端浏览器通过套接字SOCKET以GET或许POST参数传递办法向Web服务器提交恳求,Web浏览器提交恳求后,通过HTTP协议传送给Web服务器。Web服务器接到恳求后,依据恳求的不同进行事务处理,回来HTML文件或许通过CGI调用外部运用程序,回来处理成果。服务器通过CGI与外部运用程序和脚本之间进行交互,依据客户端浏览器在恳求时所选用的办法,服务器会收集客户所供给的信息,并将该部分信息发送给指定的CGI扩展程序,CGI扩展程序进行信息处理并将成果回来给服务器,然后服务器对信息进行剖析,并将成果发送回客户端在浏览器上显示出来。
3 嵌入式Web服务器BOA移植
首要,Web服务器BOA是要运转于ARM嵌入式设备上的,因而需求对BOA源文件进行穿插编译。编译东西运用arm-linux-gcc-4.3.2穿插编译东西链,复制文件arm-lin-ux-gcc-4.3.2.tgz到目录/tmp下,履行指令cd/tmp;tar zxvfarm-linux-gcc-4.3.2.tgz-C/.这样穿插编泽东西就装置到/usr/local/arm/4.3.2目录下面。为确保在翻开终端后能直接运用穿插编译东西链,要在/root/.bashrc文件中把编译器途径加入到体系环境变量。运转指令gedit/root/.bashrc修正文件/root/.bashrc。在文件的最终增加export PATH=$PATH:/usr/local/arm/4.3.2/bin。保存退出。接着履行source/root/.bashrc指令使设置收效。最终检测穿插编译东西是否装置成功,指令为在终端中输入arm-linux-gcc-v;若能在输出的信息中看到arm-linux-gcc版本号4.3.2,阐明装置成功。
其次,穿插编译BOA源码,复制BOA源码包boa-0.94.13.tar.gz到/tmp目录下,解压缩掩码包tar zxvf boa-0.94.13.tar.gz;解压后在Linux终端进入BOA地点目录,首要履行指令./con-figure生成Makefile文件,然后翻开文件夹,找到Makefile文件,用文本修正器翻开,找到CC=gcc,CPP=gcc-E两行,别离将其设置成上一步生成的穿插编译东西途径CC=/usr/local/arm/4.3.2/bin/arm-linux-gcc和CPP=/usr/local/arm/4.3.2/bin/arm-linux-gcc-E,然后将Makefile保存后退出,回到终端履行make指令,进行穿插编译得到可履行程序BOA,它便是能够运转在ARM嵌入式设备上的履行文件。可通过指令fileboa检查文件信息。复制此BOA文件到方针板/bin目录中。
再次,装备boa服务器。装备BOA首要是为了使其能够支撑CGI程序的履行。在文件体系的/etc目录下mkdir boa树立一个BOA目录,复制BOA源码目录中的boa.conf文件到文件体系目录/etc/boa目录下,然后依据嵌入式BOA的需求在此装备文件的基础上进行修正。在修正此装备文件时需求留意确保其他文件和设置有必要与装备文件相一致,不然嵌入式Web服务器BOA就不能正常运转。boa.conf文件首要装备内容如图2所示。
4 嵌入式Web服务器BOA移植测验
测验的意图首要是验证嵌入式Web服务器BOA移植以及装备是否正确,能否正常作业。依据以上装备文件boa.conf的内容在文件体系目录/var下创立www目录用于寄存html文档以及html文档所需的图画资源。创立/www/cgi-bin目录用于寄存CGI程序。
1)制造Web测验页 Web测验网页首要由Html言语、Javascript脚本言语完结,新建文本文档输入网页代码如图3所示。
保存此文件偏重命名为index.html。复制此Html文件到方针板/vat/www/目录下。假定开发宿主机与方针板在同一局域网中,而且无网络故障,方针板ip地址设置为192.168.1.156。在宿主机上运转浏览器进行BOA页面测验,在浏览器地址栏中输入ip地址192.168.1.-1,则能够看到Web测验页面如图4所示。
2)CGI脚本测验在方针板翻开一个终端输入指令
viceshi.cgi,新建一个脚本文件,输入如图5所示代码。
:wq保存此脚本文件,并复制此文件到/var/www/cgi-bin目录中,chmod+x ceshi.cgi更改此文件的履行权限。然后在宿主机(客户端)浏览器中输入http://192.168.1.156/cgi-bin/ceshi.cgi地址,通过测验契合功用要求。
5 定论
本文完结了嵌入式BOA Web服务器在ARM9方针板的移植以完结微型机在各种操控范畴的长途办理,并通过了移植后测验。嵌入式BOA的成功移植为今后在详细日子、工业现场中的运用供给了条件,方便了未来Web运用工程的开发。