小米路由相关工具链
来自Jack's Lab
(版本间的差异)
(→概述) |
|||
第39行: | 第39行: | ||
<br><br> | <br><br> | ||
+ | |||
+ | == Broadcom 推荐工具链 == | ||
+ | |||
+ | Broadcom 为 BCM4709 发布的 SDK 带有相关工具链:hndtools-arm-linux-2.6.36-uclibc-4.5.3 | ||
+ | |||
+ | <source lang=bash> | ||
+ | comcat@jackslab:/work/openwrt/xiaomi/toolchain/arm-neon-vfp-test$ /opt/brcm-arm/bin/arm-brcm-linux-uclibcgnueabi-gcc -v | ||
+ | Using built-in specs. | ||
+ | COLLECT_GCC=/opt/brcm-arm/bin/arm-brcm-linux-uclibcgnueabi-gcc | ||
+ | COLLECT_LTO_WRAPPER=/opt/brcm-arm/hndtools-arm-linux-2.6.36-uclibc-4.5.3/bin/../libexec/gcc/arm-brcm-linux-uclibcgnueabi/4.5.3/lto-wrapper | ||
+ | Target: arm-brcm-linux-uclibcgnueabi | ||
+ | Configured with: /projects/toolchains_build/buildroot-2012.02-brcm/output/toolchain/gcc-4.5.3/configure | ||
+ | --prefix=/projects/hnd/tools/linux/hndtools-arm-linux-2.6.36-uclibc-4.5.3 --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu | ||
+ | --target=arm-brcm-linux-uclibcgnueabi --enable-languages=c,c++ | ||
+ | --with-sysroot=/projects/hnd/tools/linux/hndtools-arm-linux-2.6.36-uclibc-4.5.3/arm-brcm-linux-uclibcgnueabi/sysroot | ||
+ | --with-build-time-tools=/projects/hnd/tools/linux/hndtools-arm-linux-2.6.36-uclibc-4.5.3/arm-brcm-linux-uclibcgnueabi/bin | ||
+ | --disable-__cxa_atexit --enable-target-optspace --disable-libgomp --with-gnu-ld --disable-libssp --disable-multilib | ||
+ | --disable-tls --enable-shared --with-gmp=/projects/hnd/tools/linux/hndtools-arm-linux-2.6.36-uclibc-4.5.3 | ||
+ | --with-mpfr=/projects/hnd/tools/linux/hndtools-arm-linux-2.6.36-uclibc-4.5.3 | ||
+ | --with-mpc=/projects/hnd/tools/linux/hndtools-arm-linux-2.6.36-uclibc-4.5.3 | ||
+ | --enable-threads --disable-decimal-float --with-float=soft --with-abi=aapcs-linux | ||
+ | --with-arch=armv7-a --with-tune=cortex-a9 | ||
+ | --with-pkgversion='Buildroot 2012.02' --with-bugurl=http://bugs.buildroot.net/ | ||
+ | Thread model: posix | ||
+ | gcc version 4.5.3 (Buildroot 2012.02) | ||
+ | </source> | ||
<br><br> | <br><br> | ||
<br><br> | <br><br> |
2014年6月4日 (三) 20:02的版本
1 概述
工具链,即编译、调试等相关的工具,如 gcc, g++, as, ld, strip, gdb, objcopy, objdump, gprof, strings ...
小米路由 R1D(带硬盘版)主核心 BCM4709 内的处理器是两个 ARM Cortex-A9 核
Cortex-A9 为 ARMv7 指令集,多媒体引擎NEON (SIMD指令)和浮点部件VFP 为可选实现
貌似 BCM4709 没有带 neon 和 vfp
2 官方工具链
官方放出了一个工具链包: http://bigota.miwifi.com/xiaoqiang/sdk/toolchain/xiaomi_toolchain.zip
基于 crosstool-NG 1.19.0 构建,参数如下:
comcat@jackslab:/work/openwrt/xiaomi/toolchain$ ./arm-xiaomi-linux-uclibcgnueabi/bin/arm-xiaomi-linux-uclibcgnueabi-gcc -v Using built-in specs. COLLECT_GCC=./arm-xiaomi-linux-uclibcgnueabi/bin/arm-xiaomi-linux-uclibcgnueabi-gcc COLLECT_LTO_WRAPPER=/work/openwrt/xiaomi/toolchain/arm-xiaomi-linux-uclibcgnueabi/bin/../libexec/gcc/arm-xiaomi-linux-uclibcgnueabi/4.8.2/lto-wrapper Target: arm-xiaomi-linux-uclibcgnueabi Configured with: /home/lijiqi/crossng/xq/.build/src/gcc-linaro-4.8-2013.06-1/configure --build=i686-build_pc-linux-gnu --host=i686-build_pc-linux-gnu --target=arm-xiaomi-linux-uclibcgnueabi --prefix=/home/lijiqi/x-tools/arm-xiaomi-linux-uclibcgnueabi --with-sysroot=/home/lijiqi/x-tools/arm-xiaomi-linux-uclibcgnueabi/arm-xiaomi-linux-uclibcgnueabi/sysroot --enable-languages=c,c++ --with-arch=armv7-a --with-cpu=cortex-a9 --with-tune=cortex-a9 --with-float=soft --with-pkgversion='crosstool-NG 1.19.0' --enable-__cxa_atexit --disable-libmudflap --disable-libgomp --disable-libssp --disable-libquadmath --disable-libquadmath-support --with-gmp=/home/lijiqi/crossng/xq/.build/arm-xiaomi-linux-uclibcgnueabi/buildtools --with-mpfr=/home/lijiqi/crossng/xq/.build/arm-xiaomi-linux-uclibcgnueabi/buildtools --with-mpc=/home/lijiqi/crossng/xq/.build/arm-xiaomi-linux-uclibcgnueabi/buildtools --with-isl=/home/lijiqi/crossng/xq/.build/arm-xiaomi-linux-uclibcgnueabi/buildtools --with-cloog=/home/lijiqi/crossng/xq/.build/arm-xiaomi-linux-uclibcgnueabi/buildtools --with-libelf=/home/lijiqi/crossng/xq/.build/arm-xiaomi-linux-uclibcgnueabi/buildtools --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --enable-threads=posix --enable-target-optspace --disable-multilib --with-local-prefix=/home/lijiqi/x-tools/arm-xiaomi-linux-uclibcgnueabi/arm-xiaomi-linux-uclibcgnueabi/sysroot --enable-c99 --enable-long-long Thread model: posix gcc version 4.8.2 20130603 (prerelease) (crosstool-NG 1.19.0)
3 Broadcom 推荐工具链
Broadcom 为 BCM4709 发布的 SDK 带有相关工具链:hndtools-arm-linux-2.6.36-uclibc-4.5.3
comcat@jackslab:/work/openwrt/xiaomi/toolchain/arm-neon-vfp-test$ /opt/brcm-arm/bin/arm-brcm-linux-uclibcgnueabi-gcc -v Using built-in specs. COLLECT_GCC=/opt/brcm-arm/bin/arm-brcm-linux-uclibcgnueabi-gcc COLLECT_LTO_WRAPPER=/opt/brcm-arm/hndtools-arm-linux-2.6.36-uclibc-4.5.3/bin/../libexec/gcc/arm-brcm-linux-uclibcgnueabi/4.5.3/lto-wrapper Target: arm-brcm-linux-uclibcgnueabi Configured with: /projects/toolchains_build/buildroot-2012.02-brcm/output/toolchain/gcc-4.5.3/configure --prefix=/projects/hnd/tools/linux/hndtools-arm-linux-2.6.36-uclibc-4.5.3 --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=arm-brcm-linux-uclibcgnueabi --enable-languages=c,c++ --with-sysroot=/projects/hnd/tools/linux/hndtools-arm-linux-2.6.36-uclibc-4.5.3/arm-brcm-linux-uclibcgnueabi/sysroot --with-build-time-tools=/projects/hnd/tools/linux/hndtools-arm-linux-2.6.36-uclibc-4.5.3/arm-brcm-linux-uclibcgnueabi/bin --disable-__cxa_atexit --enable-target-optspace --disable-libgomp --with-gnu-ld --disable-libssp --disable-multilib --disable-tls --enable-shared --with-gmp=/projects/hnd/tools/linux/hndtools-arm-linux-2.6.36-uclibc-4.5.3 --with-mpfr=/projects/hnd/tools/linux/hndtools-arm-linux-2.6.36-uclibc-4.5.3 --with-mpc=/projects/hnd/tools/linux/hndtools-arm-linux-2.6.36-uclibc-4.5.3 --enable-threads --disable-decimal-float --with-float=soft --with-abi=aapcs-linux --with-arch=armv7-a --with-tune=cortex-a9 --with-pkgversion='Buildroot 2012.02' --with-bugurl=http://bugs.buildroot.net/ Thread model: posix gcc version 4.5.3 (Buildroot 2012.02)