论文总字数:37071字
摘 要
本文主要介绍了在基于ARM9架构和嵌入式Linux操作系统的FL2440嵌入式系统开发板上配置web服务器的方法、过程以及测试,并且通过该服务器成功实现用户远程控制开发板以及文件下载等功能,还有为了辅助这些功能的实现在用户前端的程序设计。
首先通过比较一些适用于小型嵌入式系统的web服务器支持的功能以及性能,选用了BOA服务器作为移植到FL2440开发板的服务器程序。然后通过在本地的Linux操作系统中编写C语言程序,在交叉编译成CGI程序之后,下载到嵌入式开发板中给web服务器调用,从而实现了课题规定的修改开发板IP地址以及下载文件到开发板中的功能。最后通过静态HTML和动态JavaScript程序,实现与用户通过浏览器进行交互的功能,并且实现了可选择批量下载的功能。
最终,经过对比和测试,完美地实现了BOA服务器的移植,CGI程序的调用和运行,以及简洁、美观而且实用的前端web页面的设计。经测试,用户可以通过IE或者Firefox浏览器访问开发板服务器,进行对板子IP地址的修改以及批量下载文件到实验室的开发板中。
关键词: ARM9, Web, BOA服务器, CGI程序
Research and Realization of Remote Control and File Download Based on Web Server
04011147 Bai Shi
Supervised by Huang Jie
ABSTRACT
In this paper, a novel method of web server transplantation and configuration is introduced based on ARM9 architecture and embedded Linux operating system on FL2440 development board. Moreover, a new approach to make users able to remotely control and download files to the development board is achieved, as well as the auxiliary functions that are implemented in the front-end user interface.
By comparing the functions and performance of some common web server programs that fit small embedded system circumstance, the BOA web server program is finally selected to be built in the FL2440 for its high speed and low memory consumption. Then, through coding programs in Linux operating system with C, cross-compiling them to executable CGI programs and downloading them to the development board, the functions of modifying the IP address of the development board and transferring files from the local to it are all achieved, which completes all the requirements raised in the thesis proposal. At last, by writing static HTML program and dynamic JavaScript program, the interaction between the web server and the users’ web browser is implemented as well. Also, some extra functions, such as bulk downloading function, are implemented at the front-end interface.
Finally, after comparison and testing, I perfectly implement the transplantation of BOA server, the call and operation of CGI program and the concise, beautiful and practical front-end web page design. The result of testing proves that users can access the development board through IE or Firefox browser, and modify the IP address as well as download bulk of files from the local to the development board.
KEYWORDS: ARM9, Web, BOA server, CGI program
目录
摘要 I
ABSTRACT II
第一章 绪论 1
1.1 课题研究的背景 1
1.2 web服务器技术 1
第二章 FL2440嵌入式系统 3
2.1 FL2440嵌入式系统 3
2.2 S3C2440A芯片简介 5
2.3 FL2440嵌入式系统的用法 7
2.4 bootloader简介 8
2.5 本章小结 9
第三章 Linux系统配置和操作 10
3.1 个人电脑的Linux编译环境搭建 10
3.1.1 建立交叉编译环境 10
3.1.2 实现串口与个人电脑文件传送 11
3.2 Linux系统文件权限和目录配置 11
3.2.1 Linux系统的文件权限 11
3.2.2 Linux系统的目录配置 12
3.3 Linux常用操作 13
3.3.1 shell和bash 13
3.3.2 版本控制和C语言编译 14
3.4 本章小结 15
第四章 web服务器的搭建 16
4.1 web服务器的选择 16
4.2 BOA服务器的配置 17
4.3 本章小结 21
第五章 CGI程序的编写和实现 22
5.1 什么是CGI 22
5.1.1 CGI程序的工作原理 22
5.1.2 CGI程序的可移植性 23
5.1.3 CGI程序使用注意事项 23
5.2 CGIC库的使用 23
5.3 实现修改开发板IP功能 25
5.3.1 修改IP功能前端设计 25
5.3.1 修改IP功能的后台设计 25
5.4 实现开发板的文件上传功能 28
5.4.1 文件上传功能后台设计 29
5.4.2 文件上传功能前端设计 32
5.5 本章小结 33
第六章 测试 34
6.1 开发板IP设置功能测试 34
6.2 文件上传功能测试 35
6.3 本章小结 37
第七章 总结与展望 38
参考文献 39
致谢 41
第一章 绪论
1.1 课题研究的背景
纵观人类的近现代史,我们经历了从蒸汽时代到后来的电气时代,再到如今的信息时代。而就在今年,随着总理李克强提出的“互联网 ”的理念,基于互联网的很多新兴技术,比如云计算、大数据、物联网等,已经走上了时代的风口浪尖。同时,这些技术的一部分应用已经慢慢渗透到了人们平时的生活当中,诸如智能手表、智能家居、四旋翼无人飞行器等等。而为这些设备提供服务的服务器也发展的越来越趋向于小型化、低功耗、高性能,这也使得基于这些服务器的应用越来越丰富,从而发挥越来越多的功能[1]。
从服务器提供服务的种类来区分的话,目前比较常见的服务器有:数据库服务器、邮件服务器、游戏服务器、云主机等。而在这些服务器中,最常用的就是本文主要讨论的web服务器了。我们平时上网浏览的网页大多都是背后的web服务器所提供的[2]。上世纪的90年代,web技术得到了长足的发展,而它的用户友好性也使得它一经推出便取得了爆炸性的发展,人们不再需要注意技术上的细节问题,只需要有一个接入网络的web浏览器,便可以轻松访所有的web服务器,从而轻易地获得自己需要的资源和信息。同时,随着使用者爆炸性的增长,web技术也得到了很好地发展,很多个人或者团体都有机会将很多信息通过自己架设的web服务器,让全世界的人看到[3]。
1.2 web服务器技术
首先,不同于其他的诸如邮件服务器,数据库服务器等,web服务器主要功能是提供文档和程序[4]。它属于被动的应用程序,详细体现在其使用的模式是浏览器/服务器模式,也就是说在服务器程序启动之后,其实这个web服务器是在后台处于等待状态,等着处于同一网络中的其他终端设备发请求,而当网络上的其他用户通过浏览器发来请求之后,web服务器再根据请求的类型的不同,分别响应这些请求。
Web服务器主要支持的传输协议是超文本传输协议(http),主要支持的文档语言是HTML语言,很正常地,web服务器提供的文档也是通过统一资源定位符(URL)来定位的,所以只要在浏览器中输入相应的资源定位符就可以找到所需要的资源[5]。
现在市面上常见的web服务器有:
- Apache
如果要按web服务器的使用人数来排序的话,Apache肯定是排第一位的。Apache的流行性要归功于它的可移植性和安全性。Apache服务器可以运行在非常广泛的计算机操作系统上,而且它将诸如Python之类的解释性语言的编译器移植到了服务器之中,这样有个好处就是可以拥有很丰富的可扩展的API,使得该服务器的功能更加丰富。而且这个服务器是开源的,有专门的团队进行对这个服务器的开发,所有人都可以免费获取这个服务器最新版本的源代码[6]。
- Nginx
唯一能够和上述Apache相提并论的web服务器就是Nginx了。Nginx服务器的优势在于它更加稳定(bugs很少),并且它消耗的资源非常少。而且它不仅提供web服务,还提供了电子邮件服务(IMAP/POP3)。作为轻量级的web服务器,它的功能丰富程度在同量级的服务器中也是十分优秀的。同时,它也是开源的服务器,中国大陆有诸如:新浪、网易、腾讯等公司使用该服务器[7]。
- Thttpd
相比于Apache和Nginx,Thttpd服务器程序最大的优势在于它的代码量很少,是一个非常简单,而且方便使用的web服务器,不过虽然它非常的简单,它还是可以支持主流的HTTP1.1版本协议,而且它也支持大部分的类Unix系统。还有一个优点就是它由于相对简单,所以它的响应速度要超过绝大多数服务器,尤其是在负载很高的情况下[8]。
- IIS
中文名为互联网信息服务(Internet Information Services),这款服务组件是有微软开发的,所以它是闭源的。而且与前面的单独的web服务器不同的是,这个是服务组件,建立好之后就已经包括了web服务器、ftp服务器、nntp服务器和smtp服务器。而且它同时也需要主机上安装Windows NT Server 4.0的支持。相比于前面的服务器,IIS不仅没有开源的优势,也只能运行在采用X86架构而且安装Windows系统的设备上,不过这并不影响它的市场占有率,不同于其他服务器对搭建服务器人员相关技术水平的高要求,通过简单的操作说明,一个正常人就可以在他的个人电脑上搭建起这个服务器,而且IIS具有非常丰富的功能,而且有微软在背后提供强大的技术支持,所以IIS还是十分流行的[9]。
类似以上的大型、小型的web服务器还有很多很多,为了完成课题目标,本文使用的是另外一种小型的服务器Boa,后文将单独详细介绍并分析这款服务器。
第二章 FL2440嵌入式系统
本章主要介绍与实验室提供的FL2440开发板相关的内容,FL2440嵌入式系统的硬件环境,主要硬件的架构,核心芯片的原理图,FL2440开发板的用法和它的开发工具,以及与开发板底层硬件相关的BootLoader启动程序。
2.1 FL2440嵌入式系统
实验室提供的是保定飞凌嵌入式技术有限公司的产品FL2440嵌入式开发平台。FL2440开发板外形如下图所示。该开发板是基于三星电子ARM9架构的处理器S3C2440A,适用于设计移动手持设备类产品。FL2440开发板的性能稳定可靠,同时功耗非常低,给外接设备提供丰富的接口,而且体积小、质量轻、易携带。目前已成功移植Linux,WINCE等操作系统到FL2440开发板[10]。
图2-1 FL2440开发板外形
FL2440 开发板采用核心板 底板结构,核心板为6 层,底板为2 层[10]。
剩余内容已隐藏,请支付后下载全文,论文总字数:37071字
相关图片展示:
该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;