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

clip_image001

clip_image001

Bidirectional connections

clip_image001

clip_image001

Active connection management (ACM)

clip_image001

clip_image002

Request batching

clip_image001

clip_image001

Support for UDP and SSL

clip_image001

clip_image002

Objects by Value

clip_image001

clip_image001

Implicit contexts

clip_image001

clip_image002

Servant locators

clip_image001

clip_image002

Default servants

clip_image002

clip_image001

Collocation optimization

clip_image001

clip_image002

Asynchronous method invocation (AMI)

clip_image001

clip_image001

Asynchronous method dispatch (AMD)

clip_image001

clip_image002

Dynamic Ice

clip_image001

clip_image002

Dispatch interceptors

clip_image001

clip_image001

Thread priorities

clip_image002

clip_image001

Protocol compression

clip_image001

clip_image002

Application and service convenience classes

clip_image001

clip_image002

Runs on Windows and Linux

clip_image001

clip_image001

Runs on MacOS X, Solaris and HP-UX

clip_image001

clip_image002

Runs on Windows Mobile

clip_image002

clip_image001

Tested on Embedded Linux devices

clip_image002

clip_image001

Shared libraries

clip_image001

clip_image001

Static libraries

clip_image002

clip_image001

Build-time selectable feature support

clip_image002

clip_image001

作者邮件:nvzgq@163.com

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

Run-Time PlatformDevelopment PlatformCompiler
Windows Mobile 6 Professional (ARMV4i) Windows XP (x86) Visual C++ 2005 SP1 and 2008 with Smart Device support
Windows XP (x86) and Vista (x86 and x64) Same as run time Visual C++ 2005 SP1 and 2008
Gumstix Linux Buildroot revision 1364 Red Hat Enterprise Linux 5.2 (i386) GCC 4.1.1 cross-compiler
Red Hat Enterprise Linux 5.2 (i386 and x86_64) Same as run time GCC 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 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程序了。

 

posted @ 2016-12-23 16:22  天师符  阅读(247)  评论(0编辑  收藏  举报