嵌入式Linux攻略ACE程序移植过程详细解析

文章作者 100test 发表时间 2007:09:06 12:05:49
来源 100Test.Com百考试题网


  1、在安装有Linux操作系统的PC上安装交叉编译器,笔者使用的是Moxa tool chain for DA66x,(其它的嵌入式Linux系统都是一样的做法),可以从Moxa网站上下载:

  http://www.moxa.com/drivers/UC/DA_66X_LX/tool_chain/linux/V1.0/Linux_tool-chain_1.0.zip

  2、将ACE程序包下载到Linux PC上,并解压

  3、设置环境变量:

  A、交叉编译工具的路径:export PATH=“/usr/local/xscale_be/bin:$PATH”

  B、ACE_ROOT:export ACE_ROOT=“/home/jun/ACE_wrappers”(根据实际路径设置)

  4、将$ACE_ROOT/ace/config-linux.h复制成$ACE_ROOT/ace/config.h

  cp $ACE_ROOT/ace/config-linux.h $ACE_ROOT/ace/config.h

  5、将$ACE_ROOT/include/makeinclude/platform_linux.GNU复制成

  $ACE_ROOT/include/makeinclude/platform_macros.GNU并修改

  $ACE_ROOT/include/makeinclude/platform_macros.GNU文件:

  添加:

  CC = xscale_be-gcc

  CXX = xscale_be-g

  删除:

insure ?= 0



ifeq ($(insure),1)



  CC  = insure



  CXX = insure



else



  CC  ?= gcc



  CXX ?= g  



endif

  6、修改$ACE_ROOT/include/makeinclude/platform_g _common.GNU文件,注释第90行:LDFLAGS = -Wl,-E

  7、进入$ACE_ROOT,直接输入make

  8、将生成的libACE.so.5.5.6复制到DA66x的CF卡上/mnt/had/lib,并编辑DA662的/etc/profile,在该文件中添加export LD_LIBRARY_PATH="/mnt/hda/lib: $LD_LIBRARY_PATH "

  9、另外,gperf目录下的测试程序无法编译,因为这些测试程序要用的通过。

  $(ACE_ROOT)/apps/gperf/src/目录下的相关源代码生成的gperf程序去完成下一步动作,而这个程序是利用交叉编译器生成的,不能在PC上运行。因此在GNUmakefile里面的all:后面,我们要删除cppinset adainset cinset iinset iinset2 m3inset pinset preinset taoinset tinset这些目标对象。

  10、整个编译过程要30分钟左右,看机器性能。

  插曲:一开始笔者使用的是platform_macosx.GNU,对这个文件做了适当的调整然后命名为platform_macros.GNU,原因是他们很相似。结果一开始编译还挺顺利的,可是没一会(在编译ACEXML的时候)就编译不下去了,晕死了!而且生成的libACE.so库也有问题!后来在网上看到其它网友在Linux下编译ACE,受到启发,改用platform_linux.GNU,并且直接

  添加:

  CC = xscale_be-gcc

  CXX = xscale_be-g



相关文章


linux下实现针对windows域身份认证的代理服务器
Linux操作系统下aMule工具配置实用技巧
UbuntuLinux系统上安装IE浏览器的方法
配置D 辅助域名和子域名服务器
嵌入式Linux攻略ACE程序移植过程详细解析
在Linux操作系统下FrameBuffer直接写屏
剖析Linux病毒原型的工作过程和关键环节
通过Linux系统的内核观察_proc_pid_statm
系统学习嵌入式Linux几点非常实用的建议
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛