2010年2月2日 星期二

移植ZLIB

1. 開發環境:
(1). CPU: Andes RISC CPU core_N12.
(2). 平台: ADP-XC5FF676 V1.1.
(3). Linux OS: Ubuntu9.04.
(4). Toolchains: AndeSight v1.3.3 for Linux.
(5). Embedded Linux2.6.18
2. 目的:
(1). 至 http://www.zlib.net/ 下載source code並移植至Andes Core.
(2). zlib是提供資料壓縮之用的函式庫.
3. 實驗步驟:
(1). 使用Terminal輸入〝source bashrc.nds32le-linux-V0〞指定交叉編譯路徑,這的步驟請參照setup步驟.(2). 輸入〝tar -xvf zlib-1.2.5.tar.tar〞解壓縮.(3). 輸入〝cd zlib-1.2.5〞至zlib目錄下.(4). 輸入〝./configure〞自動設定Makefile參數.(5). 開啟〝Makefile〞,修改程式.(6). 使其指定為for Andes Core的GCC做交叉編譯.
CC=nds32le-linux-gcc

CFLAGS=-O3 -D_LARGEFILE64_SOURCE=1
#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
#CFLAGS=-g -DDEBUG
#CFLAGS=-O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
# -Wstrict-prototypes -Wmissing-prototypes

SFLAGS=-O3 -fPIC -D_LARGEFILE64_SOURCE=1
LDFLAGS= -L. libz.a
TEST_LDFLAGS=-L. libz.a
LDSHARED=nds32le-linux-gcc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map
CPP=nds32le-linux-gcc -E

STATICLIB=libz.a
SHAREDLIB=libz.so
SHAREDLIBV=libz.so.1.2.5
SHAREDLIBM=libz.so.1
LIBS=$(STATICLIB) $(SHAREDLIBV)

AR=nds32le-linux-ar rc
RANLIB=nds32le-linux-ranlib
LDCONFIG=ldconfig
LDSHAREDLIBC=-lc
TAR=tar
SHELL=/bin/sh
EXE=

(7). 輸入〝make〞開始編譯.(8). 結果產生出exzmple的執行檔,與所需的libz.alibz.so檔.



沒有留言:

張貼留言