设为首页 加入收藏

TOP

GoAhead 2.5嵌入式Web服务器移植到ARM9 2440 + Linux中
2014-11-24 11:33:34 来源: 作者: 【 】 浏览:0
Tags:GoAhead 2.5 嵌入式 Web 服务器 移植 ARM9 2440 Linux

本文内容概要:详细描述了移植goAhead 2.5到S3C2440的linux系统的过程、步骤、遇到的问题及其解决方法。


开发环境:


宿 主 机:window XP;


交叉编译器:arm-uclibc-gcc(arm-linux-gcc-4.3.2可以顺利编译通过)


———————————————————————————————————————


goAhead Web服务器,小巧、精致,提供了值得称道的性能,特别适合于嵌入式系统,因此,在很多嵌入式产品如路由器中都用到了goAhead作为嵌入式web服务器。


goAhead Web服务器,具有如下特点:


当前最新版本为:WebServer 2.5,本次移植即是这个版本。


地址为:http://www.goahead.com/products/webserver/Download.aspx,当前最新版本为:WebServer 2.5


注:当前下载源码包,需要填写一些个人资料才能下载。


下载后,解压压缩包:


#tar -xzvf webs-2-5.tar.gz


#cd webs-2-5/


进入goAhead的源码目录webs-2-5/,很容易了解其源码结构。


webs-2-5/


| 各种OS移植子目录,分别有:CE、ECOS、LINUX、LYNX、MACOSX、NW、QNX4、VXWORKS、WIN


| utils:当前只有webcomp.c,即网页编译器


| www:存放web网页


| wwwdemo:goAhead带的demo网页,里面包含了goAhead的一些文档


| goAhead服务器源程序文件(C程序文件)


从上面可以看到,goAhead支持window系统的,有兴趣的可以在PC机上移植试试。


得到源码后,建议用source insight等工具建一个goAhead工程,便于代码的阅读或者查询API函数等。


进入goAhead的wwwdemo目录,找到Webs25GettingStarted.pdf文件,这就是goAhead带的帮助文档,移植前,建议先看下。


在获取源码包并解压后,现在把goAhead移植到arm-linux中,arm指S3C2440,linux-2.6.30.4。


移植步骤很简单,基本上在编译阶段不会出现什么问题,而且这几个步骤在网上诸多博客中都有说明。但在测试服务器的时候,遇到了问题,在浏览器死活都打不开网页,不过,最终还是解决了,请看下面说明。


进入goAhead源码下的LINUX目录,用UE打开Makefile文件。


Makefile文件默认是虚拟机的本身的GCC编译器,因此,指定其交叉编译器,注意,交叉编译器的版本应与你的文件系统用的交叉编译器一致。


在Makefile文件开头添加如下信息:


同时把Makefile中的语句:


屏蔽掉。这一句是用来启动SSL matrixssl的,具体参考Webs25GettingStarted.pdf文档中的说明(Page8)。


由于LINUX/main.c文件:initWebs()函数中原程序无法正确获得服务器IP;因此置服务器一个静态IP地址。


修改如下:


在shell中进入LINUX目录下,执行命令make clean;make即可编译通过。


编译通过后,在LINUX目录下,得到两文件,分别为:libwebs.a和webs可执行文件。用如下命令查看webs执行文件依赖的库文件:


其中,arm-uclibc-依你用的交叉编译器而定。


得到如下信息:


从上面可看到,webs依赖libc.so.0和libfloat.so.1两动态文件,查看文件系统中lib目录下是否包含了这两动态文件,如果没有,则需从交叉编译器安装路径中获取这两个动态库文件到文件系统lib目录中。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇用Qt实现一个简单的Shell (Qt5+V8) 下一篇Android 中的ListView选中项的背..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Python爬虫教程(从 (2025-12-26 16:49:14)
·【全269集】B站最详 (2025-12-26 16:49:11)
·Python爬虫详解:原 (2025-12-26 16:49:09)
·Spring Boot Java: (2025-12-26 16:20:19)
·Spring BootでHello (2025-12-26 16:20:15)