Ice-E(Embedded Internet Communications Engine)移植到s3c2440A(arm9)linux(2.6.12)上的 -转

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

作者邮件:

目前官方宣称支持的平台:

Run-Time PlatformDevelopment PlatformCompilerWindows Mobile 6 Professional (ARMV4i)Windows XP (x86)Visual C++ 2005 SP1 and 2008 with Smart Device supportWindows XP (x86) and Vista (x86 and x64)Same as run timeVisual C++ 2005 SP1 and 2008Gumstix Linux Buildroot revision 1364Red Hat Enterprise Linux 5.2 (i386)GCC 4.1.1 cross-compilerRed Hat Enterprise Linux 5.2 (i386 and x86_64)Same as run timeGCC 4.1.2

可以看到,嵌入式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

将#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程序了。

作者邮件:转载注明作者和出处


你可能感兴趣的:(Ice-E(Embedded Internet Communications Engine)移植到s3c2440A(arm9)linux(2.6.12)上的 -转)