Ice-E(Embedded Internet Communications Engine)移植到s3c2440A(arm9)linux(2.6.12)上的
2009-03-26 18:31:31 原文链接
1、前言
ICE-E是ICE在嵌入式上运行的一个版本,与ICE比较如下:
Category |
Ice 3.3.0 |
Ice-E 1.3.0 |
Thread Pool concurrency model |
||
Bidirectional connections |
||
Active connection management (ACM) |
||
Request batching |
||
Support for UDP and SSL |
||
Objects by Value |
||
Implicit contexts |
||
Servant locators |
||
Default servants |
||
Collocation optimization |
||
Asynchronous method invocation (AMI) |
||
Asynchronous method dispatch (AMD) |
||
Dynamic Ice |
||
Dispatch interceptors |
||
Thread priorities |
||
Protocol compression |
||
Application and service convenience classes |
||
Runs on Windows and Linux |
||
Runs on MacOS X, Solaris and HP-UX |
||
Runs on Windows Mobile |
||
Tested on Embedded Linux devices |
||
Shared libraries |
||
Static libraries |
||
Build-time selectable feature support |
作者邮件:nvzgq@163.com
目前官方宣称支持的平台:
|
可以看到,嵌入式linux官方仅说明了可以运行在Gumstix Linux系统上,并没有说明可支持其他linux系统,我们只好做个实验验证一下。
2、准备工作:
1)安装交叉编译环境arm-linux-gcc3.4.1
2)安装mcpp2.7 ,下载网站http://mcpp.sourceforge.net;
3)下载ICE-E1.3.0
我安装的环境是centos5.2
3、安装
$ tar xvfz IceE-1.3.0.tar.gz
$ cd IceE-1.3.0
$ make configure
$ make
4、交叉编译
$ export CXX=arm-linux-c++ $ export AR=arm-linux-ar
更改cppe/config/Make.rules www.90168.org
将#GUMSTIX = yes前面的#号去掉
修改 IceE-1.3.0\cppe\src\IceE\Time.cpp 126行到134行间内容,使其与115行到126行内容相同。
在IceE-1.3.0目录下
$ make clean
$make
5、试运行
将IceE-1.3.0\cppe\demo\IceE\hello 目录中的 client 目录、server目录拷贝到arm实验板上,同时把IceE-1.3.0\cppe\lib中文件复制到arm实验上。
在试验板linux中运行
$export LD_LIBRARY_PATH=lib文件存放目录:$LD_LIBRARY_PATH
然后就可运行示例程序server和client程序了。