嵌入式系统设计期末大作业讲解.docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式Web服务器的设计与实现引言近年来,传统上用于办公室和商业的以太网逐渐进入了基于嵌入式设备的控制领域。Web技术可跨越诸多设备和系统在硬件和软件产品间做到即连即用,只需用Web浏览器通过以太网和TCP/IP协议便可访问各种信息终端。客户机可任意设置,只要能连上Internet并有权访问Web服务器,便可查阅现场有关信息,给维护和管理工作带来很大的方便。本文提出的基于ARM Linux的嵌入式Web服务器以S3C2410处理器为核心,以可裁减可移植的Linux为操作系统,为嵌入式系统的Internet接入提供了一种方便、快捷、简单的实现方法。1 嵌入式web服务器技术 嵌入式Web服务器(embedded web server,EWS)是指将Web服务器引入到现场测试和控制设备中,在相应的硬件平台和软件系统的支持下,使传统的测试和控制设备转变为具备了以TCP/IP为底层通信协议,Web技术为核心的基于互联网的网络测试和控制设备。其执行3种基本功能: ①静态和动态网页信息发布; ②提供接口监测现场设备; ③提供接口控制现场设备。 由于Web技术的开放性和独立平台特性,降低了软件系统和通信系统的设计、维护工作量,提高了现场测试和控制设备的管理水平。嵌入式Web服务器技术提供了异构网络远程管理和监控设备的方法和途径。 在嵌入式Linux系统中,常用的Web Server有Boa、httpd、thttpd和mini-httpd等。其中Boa是一个运行在类Unix系统中的小型WebServer,适合嵌入式环境。在Boa中若两个用户同时访问,则其中的一个必须等待,它产生独立进程来处理CGI(通用网关接口)程序,因此占用较少的资源,其体系结构如图1所示。Boa的优点在于其快速可靠性。它与其它服务器的区别:没有为CGI程序设置REMOTE_HOST环境变量;没有Server-Side Include(SSI)项,要产生动态网页只能通过CGI:没有设置进入控制,而是根据Linux/Unix的文件系统的权限来决定服务的对象:没有chroot选项,即不能改变根目录。 基于以上的阐述,Boa应用到嵌入式平台上有着诸多的优势,本文的嵌入式Web服务器也因此选用Boa作为平台。下面笔者将着重介绍嵌入式Web服务器的硬件平台及软件体系的设计与实现。图1 Boa网络服务器的体系结构2 硬件平台的设计与实现本文的硬件平台采用S3C2410为系统硬件核心,系统框图如图2所示。主要包括:存储系统、系统接口、用户接口(显示LCD与键盘)3个部分。 图2硬件平台体系结构 S3C2410把外部复位信号作为一个中断处理,在系统复位时,程序指针(PC)被设置为0,程序跳转到0始运行。此空间对应Bank0,系统的2MB的NORFlash和处理器的Bank0相连接。在NORFlash中存储的是BootLoader,它负责配置处理器的结构、工作模式以及自动检测系统的各个硬件是否工作正常。系统经过初始化和自检后,BootLoader负责把16 MB NANDFIash的zlmage(即软件系统的镜像文件)复制到0xc0008000地址(此地址是系统64MB SDRAM的首地址)。然后,引导程序把PC指向0xc0008000地址,系统开始运行。3 基于Boa的软件平台设计与实现 上述的嵌入式硬件平台实际上是一通用平台,基于该平台构建嵌入式Web服务器,设计者必须考虑其通用性、响应速度及对于硬件的可操控性。正是基于这样的考虑,笔者分三层构建嵌入式Web服务器的软件体系:ARMLinux的建立;Boa服务器的移植与构建;Cgi程序的扩展。 3.1 ARM Linux的建立 ARM Linux的建立是基于U-Boot的实现,它的建立实际上是Linux内核在S3C2410上移植的过程,主要分为3个步骤:建立交叉编译环境;编译内核;生成并配置根文件系统。因本文的工作重点并不是介绍Linux移植,因此下面只是简要介绍3个步骤的实现。 (1)建立交叉编译环境:建立交叉编译环境的过程实际就是对交叉编译器压缩包解包的过程。在本文中,所有的软件源码包都放在/tools目录下,解包所用指令序列在此不做赘述,其解包路径为/usr/local/arm cross。 (2)交叉编译Linux内核:在交叉编译内核之前,对编译选项的配置是很重要的。执行“make menuconfig”指令,进入Syetem Type选项。本文中选择对S3C2410系统板的支持,然后配置File System以及Block device。保存配置后要修改Make.file文件,即把交叉编译的路径指定为本文中安装的特定目录,修改语句为:CR

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档