嵌入式Linux全攻略 ACE程序移植过程详细讲解
生活随笔
收集整理的這篇文章主要介紹了
嵌入式Linux全攻略 ACE程序移植过程详细讲解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
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++
轉載于:https://my.oschina.net/accesssoul/blog/61393
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的嵌入式Linux全攻略 ACE程序移植过程详细讲解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Cacti 插件中setup.php 文
- 下一篇: 再认识云计算