嵌入式Linux全攻略 ACE程序移植过程详细讲解
2012-06-07 16:38
337 查看
1、在安装有Linux操作系统的PC上安装交叉编译器,笔者使用的是Moxa tool chain for DA66x,(其它的嵌入式Linux系统都是一样的做法),可以从
Moxa网站上下载:
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++
Moxa网站上下载:
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开发uboot移植(三)——uboot启动过程源码分析
- 【原创】记一个Java GUI程序(原目标OS是Windows)“移植”到Linux的过程
- linux程序(C++)由32位移植到64位的过程,还在尝试中,大侠勿喷,多多指点啊。。。
- 记一次把Windows程序移植到Linux的过程
- s3c2410全线移植linux2.6.14.1 u盘 cs8900a busybox 详细过程
- 【嵌入式Linux学习七步曲之第三篇 Linux系统bootlaoder移植】 从反汇编来看U-boot在PPC架构下的PIC(位置无关程序)设计
- 看到飞凌嵌入式论坛上的linux移植比较详细 记下啦!
- 精华] s3c2410全线移植linux2.6.14.1 u盘 cs8900a busybox 详细过程。
- gSOAP嵌入式linux下的移植与程序开发
- 嵌入式linux移植过程中“串口终端”问题解决方案
- 嵌入式linux开发uboot移植(三)——uboot启动过程源码分析
- linux设备上的Onvif 实现3 :gSOAP嵌入式linux下的移植与程序开发
- [置顶] 移植opencv到嵌入式arm详细过程
- 详细讲解 Linux系统下Ramdisk的制作过程
- hadoop初学的第一个程序详细讲解-含排错过程
- Qt4.8.7 linux 程序移植到 Qt5.9 windows 记录过程
- 嵌入式linux------SDL移植(am335x下显示yuv420)
- Linux MTD下获取Nand flash各个参数的过程的详细解析
- X Server的原理解析-后半部讲解了Linux下如何运行另一台Linux上的图形程序
- linux中一个简单的TCP套接字程序(1)(内含详细注释)