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

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

Run-Time Platform Development Platform Compiler
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程序了。

Ice-E(Embedded Internet Communications Engine)移植到s3c2440A(arm9)linux(2.6.12)上的的更多相关文章

  1. 什么是ICE (Internet Communications Engine)

    http://user.qzone.qq.com/77811970 直接在google上搜索ICE,出来的结果并不多,所以很多人就认为ICE是个神秘的东西,其实,国内已经有很多大型应用在使用ICE了. ...

  2. The Internet Communications Engine (Ice) 跨平台异构通讯方案 第一弹-ICE简介

    .net中的通讯方案很多,从.net Remoting,MSMQ,Webservice,WSE,WCF等等,他们都有一个特点,易用,但是都不能跨语种异构,如果你服务端要用java开发,客户端用C#开发 ...

  3. The Internet Communications Engine (Ice) 跨平台异构通讯方案 第二弹-Hello world!

    如果不知道ICE是什么的同学,请看上一篇的ICE简介:http://www.cnblogs.com/winds/p/3864677.html 好了,HelloWorld,从中间语言讲起. 首先,我们新 ...

  4. STM32移植RT-Thread后的串口在调试助手上出现:(mq != RT_NULL) assert failed at rt_mq_recv:2085和串口只发送数据不能接收数据问题

    STM32移植RT-Thread后的串口在调试助手上出现:(mq != RT_NULL) assert failed at rt_mq_recv:2085的问题讨论:http://www.rt-thr ...

  5. Android系统移植(一)-让android系统在目标平台上运行起来

    编号),文件系统采用ubifs格式,控制台设备为ttyS1,波特率为115200 启动的第一个应用程序是/init (6)确保控制台的设置和硬件保持一致,如:硬件上串口用的是UART1,则内核启动参数 ...

  6. 成功移植SQLite3到ARM Linux开发板

    SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了 ...

  7. 移植vsftpd到arm linux

    vsftpd即very secure FTP daemon(非常安全的FTP进程),是一个基于GPL发布的类UNIX类操作系统上运行的服务器的名字(是一种守护进程),可以运行在诸如Linux.BSD. ...

  8. 移植openssh到arm linux

    一.在移植之前需要准备做一些前期准备: 1.移植zlib库 1.1获取zlib源码 1.2解压 tar xvf zlib-1.2.11.tar.xz 1.3交叉编译 1.3.1 指定交叉编译器 exp ...

  9. 交叉编译VIM并移植到ARM嵌入式Linux系统

    原创作品,允许转载,转载时请务必以超链接形式标明文章.作者信息和本声明,否则将追究法律责任.   众所周知,vim是vi的增强版本,实际体验要比vi好用很多,由于笔者为ARM系统制作的基于busybo ...

随机推荐

  1. 关于setInterval()你所不知道的地方

    前言:1.使用setInterval()的定时器会把事件运行的时间也包含在内,如果要精确算定时两个任务之间的时间,可以使用setTimeout()替换.2.当异步事件发生时,如mouse click, ...

  2. 使用svn分支

    使用svn分支 原文: https://my.oschina.net/cobish/blog/652984

  3. Sicily 1444: Prime Path(BFS)

    题意为给出两个四位素数A.B,每次只能对A的某一位数字进行修改,使它成为另一个四位的素数,问最少经过多少操作,能使A变到B.可以直接进行BFS搜索 #include<bits/stdc++.h& ...

  4. 读书笔记-JavaScript面向对象编程(一)

    PDF下载链接: http://pan.baidu.com/s/1eSDSTVW 密码: 75jr 第1章 引言 1.1 回顾历史 1.2 变革之风 1.3 分析现状 1.4 展望未来 1.5 面向对 ...

  5. LaTeX简单使用方法

    Content LaTeX的用途 LaTeX文件布局 LaTeX的文档格式 公式环境 图的排版 表格的排版 有序列表和无序列表 引用 伪代码 参考文献 LaTeX的用途 LaTeX是一种基于TeX的排 ...

  6. ROW_NUMBER()与PARTITION BY 实例

    环境:SQL Server 2008 R2 数据表结构 SELECT A.* FROM [tbiz_AssScoreWeidu] A SELECT A.* ,ROW_NUMBER() OVER ( P ...

  7. Ajax加载菊花loding效果

    Ajax 异步请求的时候,一般都会利用一个动态的 gif小图片来制作一个Ajax Loading ,以便增加用户体验. 这里我们使用Spin.js ,该 js 脚本压缩后5k,可以不用任何图片,任何外 ...

  8. Uiautomator--Uiselector元素定位

    一.UiSelector作用 按照一定的条件(例如控件的text值,资源id),定位界面上的元素.UiSelector对象的最终目的是去构造一个UiObject对象. 二.元素定位 1.根据text定 ...

  9. java中cookie存取值

    cookie存值: Cookie userCookie=new Cookie("loginInfo",loginInfo); userCookie.setMaxAge(30*24* ...

  10. APM程序分析-AC_WPNav.cpp

    APM程序分析 主程序在ArduCopter.cpp的loop()函数. /// advance_wp_target_along_track - move target location along ...