嵌入式WebServer GOAHEAD移植实验.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式WebServer GOAHEAD移植实验

实验十五 嵌入式WebServer GoAhead 移植实验 一,实验目的 完成这个实验后,您将具有以下能力: ??了解GoAhead webserver 的移植方法。 ??学习如何使用GoAhead web 服务器。 二,基础知识 进行本实验前,您应具有: ??C 语言基础 ??Linux 环境下vi 编译器的使用 ??Makefile 的编写和使用 ??Linux 下的程序编译与交叉编译过程 三,实验环境准备 为了完成本实验,以下硬件条件是必需的: ??UP-NETARM2410-S 嵌入式实验平台 ??PC 机Pentium500 以上,硬盘40G 以上,内存128M 以上 为了完成本实验,以下软件条件是必需的: ??PC 机操作系统RedHat Linux 9.0 ??ARM-LINUX 开发环境 ??webs218.tar.gz 压缩包 四,情景描述 下载webs218.tar.gz 压缩包并且解压,之后对LINUX 目录下的main.c 程序和Makefile 进行 改造,并且通过交叉编译器进行编译。将生成的webs 程序在开发板上执行并测试。 五,实验基本原理 1, GoAhead Webserver 介绍 GoAhead Webserver是为了嵌入式设备的需要而设计的。该Webserver软件很有特色且 开源,它具有各种各样的特性,包括支持活动服务页,嵌入Java描述语言,in-process CGI 形式,SSL,文摘访问认证,用户管理和标准CGI等等,这些全部在一个60K大小的存储脚 本中。这对于那些需要在基于浏览管理模式的设备上传递动态信息的系统管理开发人员来 说,是非常有用和高效的。 GoAhead Webserver支持多种开发平台和操作系统,包括Windows NT/98/95、Windows CE、 Embedded Linux、Linux、VxWorks、QNX、Lynx等等,因此具有很强大的移植特性。GoAhead 网络服务器的发展同时也促进了嵌入式网络服务器的源代码的进化。世界各地的厂商和爱好 者都纷纷下载并优化GoAhead的源代码,这也使得GoAhead WebServer成为了市场上最优秀 的嵌入式网络服务器之一。 2,webs218.tar.gz 介绍 webs218.tar.gz 压缩包包括如下内容,如图15.1 所示: 图15.1 该压缩包包括以操作系统分类的各个文件夹,一个说明文档所在的web文件夹以及多个 支持编译文件。在该实验中,我们只使用到LINUX文件夹下面的有关内容,并且用到web 文件夹下的说明文档进行测试。 六,估计完成实验需要时间:60 分钟 练习1 GoAhead WebServer 移植相关实验 目标 了解移植GoAhead的基本步骤。 任务 详细步骤 1. 新建一个目录,将这个实验 所需要用到的压缩包复制进去并 解压。 从网站 下载压缩包webs218.tar.gz,并且准备解压。 tar –xjf my-goahead.tar.bz2 解压缩后的文件夹是 ws031202,之后进入该文件夹下的LINUX。 cd ws031202/LINUX 2. 执行第一步: 修改LINUX 目录下的Makefile 文件 因为GoAhead 默认是以x86 体系结构来构造的,因此这里需要把 Makefile 文件中的编译器更改为能够在ARM 体系结构下运行的交 叉编译器。在Makefile 文件开头添加如下两个变量: CC=armv4l-unknown-linux-gcc AR=armv4l-unknown-linux-ar 之后将该文件中所有的cc 和ar 都更改为$(CC)和$(AR)即可。 这样在Makefile 文件中使用到的编译器就是开发板所使用的交叉 编译器了。 3. 执行第二步: 修改LINUX 目录下的main.c 文件 由于该开发板本身没有hostname,例如在开发板下输入如下命令: hostname 可以看到none,说明开发板不存在hostname。 因此在main.c 下的initWebs()函数中使用到的gethostbyname 函数无用。 所以把如下内容屏蔽,并在之后直接将IP 地址写入intaddr。 注释内容: /* if (gethostname(host, sizeof(host)) 0) { error(E_L, E_LOG, T(Cant get hostname)); return -1; } if ((hp = gethostbyname(host)) == NULL) { error(E_L, E_LOG, T(Cant get host address)); return -1; } memcpy((char *

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档