搜尋此網誌

2013年11月19日 星期二

在Ubuntu Linux裡,如何使用Cross Compiler?

1. 首先取得[linux-3.0.y.tgz] kernel source與[linux-nptl.tgz] tool chain。
2. 建立一個目錄,並解開這兩個檔案。
$ cd arm_tool/
arm_tool$ tar zxf linux-3.0.y.tgz
arm_tool$ tar zxf linux-nptl.tgz

切換路徑。
arm_tool$ cd linux-nptl/
rm_tool/linux-nptl$ cd arm-t34-linux/
arm_tool/linux-nptl/arm-t34-linux$ cd bin

查看檔案名稱。
arm_tool/linux-nptl/arm-t34-linux/bin$ ls
arm-t34-linux-uclibcgnueabi-addr2line
arm-t34-linux-uclibcgnueabi-ar
arm-t34-linux-uclibcgnueabi-as
arm-t34-linux-uclibcgnueabi-c++
arm-t34-linux-uclibcgnueabi-c++filt
arm-t34-linux-uclibcgnueabi-cpp
arm-t34-linux-uclibcgnueabi-g++
arm-t34-linux-uclibcgnueabi-gcc
arm-t34-linux-uclibcgnueabi-gcc-4.4.1
arm-t34-linux-uclibcgnueabi-gccbug
arm-t34-linux-uclibcgnueabi-gcov
arm-t34-linux-uclibcgnueabi-gprof
arm-t34-linux-uclibcgnueabi-ld
arm-t34-linux-uclibcgnueabi-nm
arm-t34-linux-uclibcgnueabi-objcopy
arm-t34-linux-uclibcgnueabi-objdump
arm-t34-linux-uclibcgnueabi-ranlib
arm-t34-linux-uclibcgnueabi-readelf
arm-t34-linux-uclibcgnueabi-size
arm-t34-linux-uclibcgnueabi-strings
arm-t34-linux-uclibcgnueabi-strip

加入目前位置到路徑中,並顯示。
arm_tool/linux-nptl/arm-t34-linux/bin$ export PATH=$PATH:`pwd`;echo $PATH
確定你打的是[`]個符號(跟~符號同一個按鍵),不是[']單引號。

arm_tool/linux-nptl/arm-t34-linux/bin$ cd ../../..

查看Makefile裡的Cross Compiler檔案路徑參數
arm_tool$ vi Makefile
...
CC        =  $(CROSS)gcc
CXX       =  $(CROSS)g++
LD        =  $(CROSS)ld
AR        =  $(CROSS)ar
...

設定Cross Compiler的檔案與路徑。
arm_tool$ export CROSS=arm-t34-linux-uclibcgnueabi-

測試編譯你的程式。
arm_tool/test$ make clean
arm_tool/test$ make all
or
arm_tool/test$ make

沒有留言:

張貼留言