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. 《web全栈工程师的自我修养》读书笔记

    有幸读了yuguo<web全栈工程师的自我修养>,颇有收获,故在此对读到的内容加以整理,方便指导,同时再回顾一遍书中的内容. 概览 整本书叙述的是作者的成长经历,通过经验的分享,给新人或者 ...

  2. CSS基础总结

    CSS基础总结链接地址:http://segmentfault.com/a/1190000002773955

  3. 在Azure虚拟机上安装VNC

    我们知道,Azure提供的linux虚拟机镜像是没有桌面的,是base版的,大多情况下能满足绝大部分工作需要,甚至很多习惯使用命令行的读者,反而用不惯带桌面的linux OS,但是有些情况下,桌面还是 ...

  4. secureCRT The remote system refused the connection.

    转 http://blog.csdn.net/lifengxun20121019/article/details/13627757 我在实践远程登录工具SecureCRT的时候遇到了这个问题 Ubun ...

  5. http://detectmobilebrowsers.com/

    <%@ Page Language="C#" %> <%@ Import Namespace="System.Text.RegularExpressio ...

  6. 我的js函数库(持续更新)

    常用js初始化函数 function id(obj) { return document.getElementById(obj); } function bind(obj, ev, fn) { if ...

  7. python note

    =和C一样,为赋值.==为判断,等于.但是,在python中是不支持行内赋值的,所以,这样避免了在判断的时候少写一个出错. dictionary 的key唯一,值可以为很多类型. list的exten ...

  8. PHP 文件下载 显示进度条

    前台调用:js调用: function downloadfile(id,name,price,curcount_pricelimit){ Date.prototype.Format = functio ...

  9. asp:Repeater实例备忘

    1.前置部分 <asp:Repeater ID="rptPlanNo" runat="server" OnItemDataBound="rptP ...

  10. 【Network】TCPDUMP 详解

    参考资料: https://www.baidu.com/s?ie=UTF-8&wd=tcpdump%20%E6%8C%87%E5%AE%9Aip tcpdump非常实用的抓包实例:  http ...