移植appweb 5.0到arm平台 mini2440
2014-08-22 17:32
477 查看
开发板上需要运行一个web服务器,经过比较选择了appweb,现记录一下移植过程。
1.前言
1.1开发环境参数
开发板:mini2440 64MB内存 256MB Flash
PC系统:X86 ubuntu10.04 gcc:4.4.3
交叉编译器:gcc 4.4.3
1.2AppWeb简介
官网:http://appwebserver.org/
Appweb是一个嵌入式HTTP Web服务器,功能很强大,号称“mini阿帕奇”
具有以下特性:
Full HTTP/1.1 web server
Multi-threaded, event-driven core: fastest performance in its class
Dynamically loadable modules
Server-side JavaScript web framework
In-memory PHP module
In-process CGI as well as traditional CGI
Apache compatible configuration and logging
Basic and Digest Authentication
Secure Socket Layer (SSL/TLS)
Session state data management
HTTP Client program and library
ROMable web pages and configuration files
Cross-platform and portable
Embeddable in applications and devices (supports XIP)
Modular source code and documentation provided
更多细节参考如下网址:
http://appwebserver.org/products/appweb/features.html
2.移植
2.1 下载
去网址:http://appwebserver.org/downloads/appweb/download.esp下载appweb的源码,我下载的版本是appweb5.0
2.2 交叉编译
(1)解压源码文件,在projetcs文件夹底下找到appweb-linux-default.mk文件和appweb-linux-default-me.h文件将其复制名为appweb-linux-default-arm.mk文件和appweb-linux-default-me-arm.h
(2)修改appweb-linux-default-arm.mk文件中的内容:
(i)ARCH ?= arm
(ii)CC ?= arm-linux-gcc
(iii)把文件中3处appweb-linux-default-me.h改为appweb-linux-default-me-arm.h
(iiii)把文件appweb-linux-default-me-arm.h中的#define ME_COMPILER_HAS_SYNC64 1注释掉,不然会报错“undefined reference to `__sync_add_and_fetch_8'collect2: ld returned 1 exit status”
//#define ME_COMPILER_HAS_SYNC64 1
(3)编译
make -f projects/appweb-linux-default-arm.mk
编译完后会在../appweb-5.0.0-rc1/linux-arm-default文件下生成目标文件将../appweb-5.0.0-rc1/linux-arm-default/bin文件夹下的所有文件拷贝到开发板上的bin目录下或是/usr/bin目录下
2.3测试
在开发板上输入命令:appweb --version
会打印出版本信息:5.0.0-rc1
说明appweb移植正确
要使用appweb运行网站,参见我的这篇博客http://blog.csdn.net/xiaominthere/article/details/38756421,里面有详细的介绍
1.前言
1.1开发环境参数
开发板:mini2440 64MB内存 256MB Flash
PC系统:X86 ubuntu10.04 gcc:4.4.3
交叉编译器:gcc 4.4.3
1.2AppWeb简介
官网:http://appwebserver.org/
Appweb是一个嵌入式HTTP Web服务器,功能很强大,号称“mini阿帕奇”
具有以下特性:
Full HTTP/1.1 web server
Multi-threaded, event-driven core: fastest performance in its class
Dynamically loadable modules
Server-side JavaScript web framework
In-memory PHP module
In-process CGI as well as traditional CGI
Apache compatible configuration and logging
Basic and Digest Authentication
Secure Socket Layer (SSL/TLS)
Session state data management
HTTP Client program and library
ROMable web pages and configuration files
Cross-platform and portable
Embeddable in applications and devices (supports XIP)
Modular source code and documentation provided
更多细节参考如下网址:
http://appwebserver.org/products/appweb/features.html
2.移植
2.1 下载
去网址:http://appwebserver.org/downloads/appweb/download.esp下载appweb的源码,我下载的版本是appweb5.0
2.2 交叉编译
(1)解压源码文件,在projetcs文件夹底下找到appweb-linux-default.mk文件和appweb-linux-default-me.h文件将其复制名为appweb-linux-default-arm.mk文件和appweb-linux-default-me-arm.h
(2)修改appweb-linux-default-arm.mk文件中的内容:
(i)ARCH ?= arm
(ii)CC ?= arm-linux-gcc
(iii)把文件中3处appweb-linux-default-me.h改为appweb-linux-default-me-arm.h
(iiii)把文件appweb-linux-default-me-arm.h中的#define ME_COMPILER_HAS_SYNC64 1注释掉,不然会报错“undefined reference to `__sync_add_and_fetch_8'collect2: ld returned 1 exit status”
//#define ME_COMPILER_HAS_SYNC64 1
(3)编译
make -f projects/appweb-linux-default-arm.mk
编译完后会在../appweb-5.0.0-rc1/linux-arm-default文件下生成目标文件将../appweb-5.0.0-rc1/linux-arm-default/bin文件夹下的所有文件拷贝到开发板上的bin目录下或是/usr/bin目录下
2.3测试
在开发板上输入命令:appweb --version
会打印出版本信息:5.0.0-rc1
说明appweb移植正确
要使用appweb运行网站,参见我的这篇博客http://blog.csdn.net/xiaominthere/article/details/38756421,里面有详细的介绍
相关文章推荐
- 关于qt移植后在ARM平台运行时 line 1: syntax error: unexpected"("
- arm Linux平台下FFmpeg的移植
- linux 2.6.32.2 mini2440平台移植--触摸屏驱动移植
- 将交叉编译好的OpenCV移植到ARM平台
- 移植Android系统到基于ARM的平台上-从零到启动
- qt-4.8.4在ARM平台上的移植
- strace工具移植到ARM(davinci)平台
- 移植mysql到arm平台
- appweb-4.3.4-0移植到ARM
- 【转】ARM平台上蓝牙协议栈Bluez的移植使用和配置
- boa在ARM平台的移植
- Qt4.5.2 在ARM平台的搭建、移植详解
- ARM硬件平台上基于UCOS移植Lwip网络协议栈 分类: 嵌入式开发学习 2015-06-14 10:33 55人阅读 评论(1) 收藏
- 移植mysql到arm平台
- 移植MySQL到嵌入式ARM平台
- openssl 客户端程序移植到arm平台 OK6410上运行
- ARM平台移植 json-c-0.12
- ARM平台上蓝牙协议栈Bluez的移植使用和配置
- ARM平台上蓝牙协议栈Bluez的移植使用和配置
- ARM平台上蓝牙协议栈Bluez的移植使用和配置(写的狠不错) .