ARM平台嵌入式WEB服务器设计与实现.docx

上传人:王** 文档编号:1433467 上传时间:2024-07-09 格式:DOCX 页数:10 大小:124.74KB
下载 相关 举报
ARM平台嵌入式WEB服务器设计与实现.docx_第1页
第1页 / 共10页
ARM平台嵌入式WEB服务器设计与实现.docx_第2页
第2页 / 共10页
ARM平台嵌入式WEB服务器设计与实现.docx_第3页
第3页 / 共10页
ARM平台嵌入式WEB服务器设计与实现.docx_第4页
第4页 / 共10页
ARM平台嵌入式WEB服务器设计与实现.docx_第5页
第5页 / 共10页
ARM平台嵌入式WEB服务器设计与实现.docx_第6页
第6页 / 共10页
ARM平台嵌入式WEB服务器设计与实现.docx_第7页
第7页 / 共10页
ARM平台嵌入式WEB服务器设计与实现.docx_第8页
第8页 / 共10页
ARM平台嵌入式WEB服务器设计与实现.docx_第9页
第9页 / 共10页
ARM平台嵌入式WEB服务器设计与实现.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
资源描述

《ARM平台嵌入式WEB服务器设计与实现.docx》由会员分享,可在线阅读,更多相关《ARM平台嵌入式WEB服务器设计与实现.docx(10页珍藏版)》请在优知文库上搜索。

1、apt-gctinstalltftpd(服务端)aptgetinstalltltp(客户端)aptgetinstallxinetd2、建立配宜文件Cdctcxincld.dviIftp输入scn,icetftp(socke-ye=(lgramprotocol=udwait=yesuser=rootserver=usrsbinintftpdSerVeJargS-s/tdisable=noPCJsOUrVC=11cps=1(X)2flags三IPv4J存盘退出3、建立tftp服务文件书目mkdir/t4、重新启动服务etcinitod/xinetdrestart安装完成!测试方法:在/1书目下随意

2、放个文件abc然后运行I进入Mtp吩咐行输入getabc看看是不是能把文件卜卜来,假如可以就可以了,也可以PUt文件上去。检查IPIP是否打开:ChkConfiglist假如没有打开,则用这个吩咐也可以打开:ChkConfigt或者用PSAIgreptflp看是否有tftpd的服务2.2.2配置NFS服务器1.NFS安装Ssudoat-uetinstallnfs-kernelservernfscommonportmapZNFS配苴2t用户,那么对于该共享书目而.该客户端就具有me权限。2.2.3交叉编译器的配置1、解压缩拷贝光盘书目的arnrlinux-gcc-4.3。2tgz,然后解压缩到o

3、ptFriendlyARMmini2440书目下,依据我在UbUnIU下试验.2、设四环境变显在/etc/profi。中添加环境变量留意,须要重新注销或者source一下配置.文件profile,环境变量才能生效.第四章系统移植4.1 Uboot移植首先卜载u-boot2008.10,移植比较繁杂,参考mini2440的UboOt移植手册.4.2 .U-boot烧写43.1Uboot的功能Mini2440运用u-boot作为bootloader,通过它可以实现如下功能:I、烧写flash:2、引导1.inUX操作系统及其它程序:3、通过以太网卜我1.inUX内核或其它程序并引导.4。3.2运用

4、DNW烧写u-boot通过USB的方式,首先须要安装USB驱动4.3。3运用H-Jtag烧写uboot通过并行口的方式烧写,须要安装HjIag软件4。31.inux内核移植1.inUX内核的移植可以分为板级移植和片级移植.对于1.inUX发行版本中已经支持的CPU,通常只需针对板级硬件进行适当的修改即可,这种移植叫做板级移植;而对JZinux发行版本中没有支持的CpU,则须要添加相应的CPU的内核移植,这种移植叫做片级移植.片级移植相对板级移植来说要困难很多,须要对1.inUX内核有详尽的了解,本课题中所用的1.inUX中已经包含S3C2440ARM920T处理器的移植包,下面将在此基础上介绍

5、1.inUX板级移植的基本过程和方法也图19为本课题所采纳的试验环境以及开发流程.安装交叉编译器a11n-linux-gcc:对1.inUX内核进行配置(makemcnuconfig),并选择适合本课题系统得相关配置:编译生成1.inUX映像文件UlmagC:通过u-boot的Ep吩咐符该文件下栽到目标板并执行.这将在下面的内容中作介绍。图19。JXARM924101.inUX开发流程4.3 。I1.inuxkernel的下载4.4 .31.inux内核的配置和编译1.1.inUX源代码结构1.inUX的源代码组织成如下结构.根书目是/home,1cvicchjx24IalinUX.内核的文件

6、组织结构为1) arch/arm:及架构和平台相关的代码都放在arch书目下。fiiiRMJ1.inux,有个子书目和它对应一arm.2) drivers:包含全部的设备驱动程序。驱动程序又被分为“block“、“char”、Fef等几种类型。3) fs:这里有支持多种文件系统的源代码,几乎一个书目就是一个文件系统,如MSDoS、VF,PrOC和exi2等。4) include:相关的头文件。它们被分成通用和平台专用两部分.书目ARCH)”包含了平台相关的头文件。5)ini:含些启动kernel所需做的全部初始化动作,里面有个main。c.针对kernel做初始化动作、设置一些参数等,井对外国

7、设备初始化。6) ipc:供应进程间通信机制的源代码,如信号量、消息队列和管道等。7) kernel:包含进程调度算法的源代码,以及及内核相关的处理程序,例如系统调用.8) mm:用来存放内存管理的源代码,包括MMi1.9) net:支持网络相关的协议源代码。IO)Iib:包含内核要用到的一些常用函数。如字符串操作、格式化输出等。H)SeriPl:包含在配置和编译内核时要用到的脚本文件。1.1 1.inUX内核源码移植修改参考mini2440的IinUX移植手册4.4 文件系统的移植nandflash采纳yafs2的文件系统4.5 加载1.inux内核映像1 .将mini2440的串口。及PC

8、的串口连接,mini2440的网卡和PC的网卡运用直连网线进行连按,或者聘mini2440和PC机运用一般网线接入同一局域网。ARM试验箱的IP为192。168。k45,虚拟机下的1.inUX的IP设为192.168I.180.宿主机IP设为192“168.1.145.2 .将mini2440卜.电,正常状况下将在终端DNW中看到bootloader菜单界面。:bootloader中依据如图24的提示进行:4。6BoaWcb服务器的移植3 .61Boa的编译建立BoaWeb服务沿包括以下步骤:1 .下载Boa源代码。BoaWCb服务黯的源代码可以从下载,本文中下载文件为:boa-0.94.El

9、argz,为当前最新版本.2.安装并编译BOa源代码.1)通过VmWareTOOIS中的文件共享4Windows1卜载的BOa源代码复制到/home,CVlCCIVjX2410cxamples书目F.2)竺源竺:#Cd/homecvtcchjx241Ocxamplcs#Cdboa/src生成MakCfilC文件#。/COnfigUrC3)修改Makefile文件,找到CC=gcc,将其改成CC=a11nIinuxgcc,再找到CPP=gccE,将其改成CPP=armJinUXgccE.并保存退出。4)运行make进行编译,在boa/src书目卜.将生成Boa文件,该文件即为BOaWeb服务器执

10、行文件。将调试信息剥去,得到的最终程序只有约60KB大小。3。配置Boaweb服务器,使其能缈支持CGI程序的执行.Boa启动时聘加载一个配置文件boa。conf,在BOa程序运行前,必需首先编辑该文件,并将其放置FSrCMefinesh文件中SEVER-ROoT宏定义所定义的缺省节目,或者在启动BOa时运用参数“-c”指定boaconf的加教书目,在boaconf:件中须要进行一些配置,卜面作简要介绍:1) Port:该参数为boa服务器运行端口,缺省的端口为80。2) ScncrNamc:服务S名字3) DocumentRool:HTM1.文档根书目。建议运用肯定路径表示,如“,mntjf

11、l2WCb”,假如运用相对路径,则它是相对服务器根节So4) ScripiAlias:指定CGl程序所在书目,殷全部的CGI脚本都要放在实际路径里,用户访问执行时输入站点+虚拟路径+CGl脚本名,本课题中CGI的路径设为:SCriPtAIiaSZcgibimnts2wcbibin/。5) CGIPath:binusrbinZusrZIocakbin,供应CGl程序的PATH环境变量值用户可以依据自己须要,对boaconf进行修改,但必须要保证其他的协助文件和设置必需和boaoCOnf里的配践相符,不然BOa就不能正常工作.在上面的例子中,我们还须要创建日志文件所在书HNaMogZboa用mim

12、e。types文件拷贝到ec书目.mime.Iypes文件用来指明不同文件扩展名对应的MIME类型,一般可以干脆从1.inUX主机上拷贝个,大部分也都是在主机的/etc书目下。4。71.inux下动态Web页面的实现本课题中通过CGl程序来获得用户的恳求、查询条件,运用HTM1.方式描述结果并干脆回送到客户端的阅读器上。生.成动态网页的步骤:(1)用户在阅读器中提出数据或查询条件的恳求,并执行“提交”后,便将思求信息发送到网上相应的Web服务器上;(2)Wcb服务器收到这一恳求便激活一个CGl程序(程序是驻留在Web服务器上的一个程序);(3)CGl程序调用该服务器下的全部程序或数据库,并完成

13、读者须要的任务,同时将处理结果送回CGl网关接口:(4) 网关接口程序又将其结果转换成该服务器能识别的HTM1.文件格式,并确定CG【返回文档的类型;(5) Web服务冷将其结果送回阅读器中,阅读器进行数据处理并显示结果。由于C语言在平台无关性上表现不错(几乎在任何的系统平台卜.都有其相应编译器),而且对大多数程序员而言都兑得上很熟识(不像PCr1),因此,C是CGI编程的首选语言之一。CGi程序通常分为以下两部分.:依据PoST方法或GET方法从提交的表单中接受数据。本文中采纳的是GET方法。CGl程序必需检查REQUEST_METHoD环境变量以确定是否采纳了PoST方法,并确定是否要读取

14、STDIN.用Prinlf()函数来产生HTM1.源代码,并将经过解码后的数据正确地返Pl给阅读器“将CGI测试程序CgijestZtaregz及制到/home,CVteChjx241Oexanles-目下。然后安装源代码:# Cdhomecvtechjx2410/examples# cdcgi-tes#make# cpcgi_test/t4.7.1CGl程序分析CGI程序见附录1 .在cgi.c中定义了main()函数:1)用“fom】_mcthod=gctRequcsiMcihod();“将调用POST/GET方法的信息存储在foEi_mcthotl中,调用POST,则为I;调用GET,则为0。2)以下程序先定义了若采纳GET方式则谑用函数getGETvaN();若采纳PoST方式则调用函数gctPOSTvars来处理表中。if(fb11n-nethol=POST)(getvars=geiGETvars。;postvars=gctPOSTvars();CISCif(fbrm_mcthod=GET)getvars=geiGET

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 嵌入式开发

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!