- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于ARM9的Web服务器Boa的软、硬件设计.doc
基于ARM9的Web服务器Boa的软、硬件设计 【摘要】文章介绍了基于ARM9的嵌入式Web服务器Boa的软、硬件设计及其实现,硬件部分的核心是三星的S3C2410X处理器。最后成果形式为可以远程访问的WebServer嵌入式服务器。Boa是一款单任务的HTTP服务器。与其他传统的Web服务器不同的是当有连接请求到来时,它并不为每个连接单独创建进程,也不通过复制自身进程来处理多链接。而是通过建立HTTP请求列表来处理多路HTTP连接请求。同时它只为CGI程序创建新的进程,这样就在最大程度上节省了系统资源,这对嵌入式系统来说至关重要。同时它还具有自动生成目录、自动解压文件等功能。因此,Boa在嵌入式系统中具有很高的应用价值。 【关键词】ARM;Linux;嵌入式Web服务器;CGI 1.ARM简介 广义地讲,凡是带有微处理器的专用软硬件系统都可以称为嵌入式系统。它是嵌入到对象体系中的专用计算机系统,以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。目前非常流行的ARM内核有ARM7TDM1、StrongARM、ARM720T、ARM9TDM1、ARM920T、ARM940T、ARM946T、ARM966T、ARM10TDM1等。本文所讨论的目标板的CPU为ARM920T内核的三星S3C2410芯片。 ARM9系列微处理器主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。它包含ARM920T、ARM922T和ARM940T三种类型,广泛应用于PDA、移动通信、路由器、工业控制等领域。 2.嵌入式Web服务器实现原理 嵌入式Web服务器是指将Web服务器引入到现场嵌入式设备中,并驻留其中有限的代码空间内。与传统的Web应用相比,简化了系统结构,并将信息采集和信息发布都集成到现场的嵌入式设备中。在相应得软硬件平台支持下,利用标准的接口形式和通信协议,内嵌于嵌入式设备的Web服务器可以向任何接入到它所在网络的合法用户提供统一的基于浏览器方式的操作和控制界面,此时浏览器成了设备的前端控制板。当前在嵌入式应用领域,嵌入式系统转变为嵌入式WebServer,大体可分为2种实现方案:(1)基于网关服务器的嵌入式设备Internet接入;(2)直接实现TCP/IP的嵌入式设备Internet接入。本课题中采用第二种实现方案。 3.系统功能的实现 3.1 开发流程 图1为本课题所采用的实验环境以及开发流程。①在主机的RedHat Linux操作系统下安装Linux发行包以及交叉编译器arm-linux-gcc;②对Linux进行配置(make menuconfig),并选择适合本课题系统得相关配置;③编译生成Linux映像文件zlmage;④通过u-boot的tftp命令将该文件下载到目标板并执行。这将在下面的内容中作介绍。 3.2 加载Linux内核映像 3.2.1 将JXARM9-2410的串口0与PC的COM1连接,JXARM9-2410的网卡和PC的网卡使用直连网线进行连接,或者将JXARM9-2410和PC机使用普通网线接入同一局域网。ARM实验箱的IP为5,虚拟机下的Linux的IP设为80,并将安全级别设置成无防火墙,宿主机IP设为45。 3.2.2 将JXARM9-2410上电,正常情况下将在终端DNW中看到bootloader菜单界面。在bootloader中按照提示进行加载完成后输入CTRL+C进入Linux命令行。如果出现失败,则可能存在一下几种问题: 1)加载内核时总体是“TT”,这是由于tftp服务器没有连接成功,在uboot中输入ping 80命令,如果提示为not alive请检查网络有没有正确连接:使用网线正确与否或者宿主机和目标机的IP地址不在同一子网。此处要求宿主机和目标机都在192.168.1.xxx网段,而且最后一位不能相同;如果提示为alive而仍然提示“TT”,请检查Windows防火墙设置,关闭防火墙,如果仍然不行,请关闭系统中启动的其它程序,如杀毒软件等。 2)提示“packet too big”,这个问题是由于uboot接收到非法的包产生的,少量这种提示不会影响内核的加载,如果导致内核加载失败,请按照如下方式检查:①使用直接网线连接计算机和实验箱;②关闭计算机中打开的所有与网络相关的程序。 3.3 Boa Web服务器的建立 建立Boa Web服务器包括以下步骤: 3.3.1 下载Boa源代码 Boa web服务器的源代码可以从http://下载,本文中下载文件为:boa-0.94.13.tar.gz,为当前最新版本。 3.3.2 安装并编译Boa源代码 1)通过Vmware Tools中的文件
文档评论(0)