|
ARM 926ej-S core를 위한 크로스 툴체인이다. 이 크로스 툴체인을 리눅스 데스크탑 환경에 의존적이게 만들었기때문에,
이 크로스 툴체인을 정상적으로 이용하려면 페도라 코어 6/7/8/9 및 CentOS 5.X 를 설치해야 한다.
- 테스트된 타겟보드: OMAP 5912 OSK (arm926ej-S) , FreeScale i.MX27(arm926ej-S) , Android Emulator(GoldFish)
- 작업착수일: 2008년 5월 15일
- 작업완료일: 2008년 7월 02일
Kandroid Toolchain ver 1.1.2.4 (July 02, 2008) -------------------------------------------------------
1. Definition
"Kandroid Toolchain" is Development tool for compiling android kernel and system libraries (ex: webkit, sqlite, libc, Etc) in android softwar stack for kandroid.org members. This Toolchain is a collection of software tools used for the development and building of software for a particular target architecture like ARM. 2. Goal
-Easy to Use (Just decompress using tar command) -EABI Support ( ABI Compatibility ) -Support various compiler like gcc , g++
-The recent opensource version to reduce gap between versions. -NPTL Thread Model (Kernel Requirement : FUTEX , EPOLL) -Non Floating Point is default setting(Soft-Float). -Little Endian is default setting. -Support MPFR for multiple-precision floating-point computations with correct rounding. -Include GDB, Strace for Fast Debugging and Tuning 3. Package Version information
-DesktopLinux : CentOS 5.1 (2.6.18-3) , Fedora Core 6/7/8/9 -Target : arm-android-linux-gnueabi -gcc version : 4.2.3 -libc : glibc (GNU C Library) -libc version : 2.7 -binutils version : 2.18.50.0.6 -kernel headers : 2.6.18 -float support : soft-float
-Multiple-precision: . GMP : Gnu Multiple Precision arithmetic library ( http://gmplib.org/manual/ ) . MPFR : C library for multiple-precision floating-point computations with correct rounding(http://www.mpfr.org/) -threading model : NPTL(Native Posix Thread Library) -Misc : GDB 6.6, strace 4.5.16 , DUMA 2.5.12
4. License
GPL3 + LGPL3
5. Requirement
-Architecture: ARM V5T LE
-CPU Core : arm926ej-S
-Recommendation Targetboard: ARM V5t LE arm 926ej-S
-Host Linux Distributon(Recommend) : CentOS 5.X , Fedora 6/7/8/9 ( Fedora 9 recomendation)
6. Howto Use android toolchain
Fedora9#> wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.12.tar.gz Fedora9#> ./configure --prefix=/usr/local Fedora9make Fedora9#> make install Fedora9#> vi /etc/ld.so.conf include ld.so.conf.d/*.conf /usr/local/lib Fedora9#> ldconfig ------------------------------------------------------------------------------------------ fedora9#> cd /opt feodra9#> wget http://www.kandroid.org/devtools/kandroid-1.1.2.4-20080702.arm926ej-s.glibc.tgz [☜ 다운로드]
fedora9#> tar xvzf kandroid-1.1.2.4-20080702.arm926ej-s.glibc.tgz
fedora9#> cd ./kandroid-arm-toolchain-20080623/arm-android-linux-gnueabi/bin fedora9#> ls arm-android-linux-gnueabi-addr2line arm-android-linux-gnueabi-gprof arm-android-linux-gnueabi-ar arm-android-linux-gnueabi-jcf-dump arm-android-linux-gnueabi-as arm-android-linux-gnueabi-jv-scan arm-android-linux-gnueabi-c++ arm-android-linux-gnueabi-ld arm-android-linux-gnueabi-c++filt arm-android-linux-gnueabi-nm arm-android-linux-gnueabi-cc arm-android-linux-gnueabi-objcopy arm-android-linux-gnueabi-cpp arm-android-linux-gnueabi-objdump arm-android-linux-gnueabi-g++ arm-android-linux-gnueabi-populate arm-android-linux-gnueabi-gcc arm-android-linux-gnueabi-ranlib arm-android-linux-gnueabi-gcc-4.2.3 arm-android-linux-gnueabi-readelf arm-android-linux-gnueabi-gccbug arm-android-linux-gnueabi-run arm-android-linux-gnueabi-gcj arm-android-linux-gnueabi-size arm-android-linux-gnueabi-gcjh arm-android-linux-gnueabi-sstrip arm-android-linux-gnueabi-gcov arm-android-linux-gnueabi-strings arm-android-linux-gnueabi-gdb arm-android-linux-gnueabi-strip arm-android-linux-gnueabi-gjnih ---------------------------------------------------------------------------------------- fedora9#> fedora9#> ./arm-android-linux-gnueabi-gcc -v --------------------------------------------------------------------------------------------------------------- Using built-in specs. Target: arm-android-linux-gnueabi Configured with: /opt/androidtoolchain110/bin/targets/src/gcc-4.2.3/configure --build=i686-pc-linux-gnu --target=arm-android-linux-gnueabi --host=i686-pc-linux-gnu --prefix=/root/x-tools/arm-android-linux-gnueabi --with-sysroot=/root/x-tools/arm-android-linux-gnueabi/arm-android-linux-gnueabi/sys-root --enable-languages=c,c++,java --with-arch=armv5t --with-cpu=arm10tdmi --with-tune=arm10tdmi --with-float=soft --enable-__cxa_atexit --disable-multilib --with-gmp=/root/x-tools/arm-android-linux-gnueabi --with-mpfr=/root/x-tools/arm-android-linux-gnueabi --with-local-prefix=/root/x-tools/arm-android-linux-gnueabi/arm-android-linux-gnueabi/sys-root --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-c99 --enable-long-long --with-bugurl=http://www.kandroid.org --with-pkgversion=kandroid-invain-arm_arm926ej-S-ver.1.1.2.4
Thread model: posix gcc version 4.2.3 ---------------------------------------------------------------------------------------------------------- fedora9#> vi autotoolpath.sh #!/bin/bash export PATH=/opt/kandroid-1.1.2.4-20080702.glibc/bin:$PATH export CC=arm-android-linux-gnueabi-gcc export LD=arm-android-linux-gnueabi-ld export AR=arm-android-linux-gnueabi-ar export RANLIB=arm-android-linux-gnueabi-ranlib export CPP=arm-android-linux-gnueabi-cpp export LOG=/opt/omap2evm/sources/kernel/build/log.txt fedora9#> Ok. It's finished installaton android toolchain successfully. Enjoy!
7. Bug Report or Contacts
8. Ref
-gcc 4.3 depends on mpfr>=2.3.1 9. Todo
- Support ltrace for glibc api and user libraries tracing
end of line. |