主题 : mini6410编译器问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 718
精华: 0
发帖: 37
金钱: 190 两
威望: 46 点
贡献值: 0 点
综合积分: 74 分
注册时间: 2008-05-19
最后登录: 2015-11-20
楼主  发表于: 2010-09-06 10:14

 mini6410编译器问题

管理提醒: 本帖被 arm9home 从 Linux技术交流专区 移动到本区(2010-09-09)
发觉mini6410带的arm-linux-gcc 4.4.1 不支持armv6 ,也没有使用6410的硬件浮点,使用的是armv5 软浮点

花了一天时间自己重新交叉编译了个支持armv6 使用硬件浮点arm-linux-gcc 4.4.3

Target: arm-s3c6410-linux-gnueabi
Configured with: /crosstool/my/install/targets/src/gcc-4.4.3/configure --build=i686-build_pc-linux-gnu --host=i686-build_pc-linux-gnu --target=arm-s3c6410-linux-gnueabi --prefix=/root/x-tools/arm-s3c6410-linux-gnueabi --with-sysroot=/root/x-tools/arm-s3c6410-linux-gnueabi/arm-s3c6410-linux-gnueabi//sys-root --enable-languages=c,c++ --disable-multilib --with-arch=armv6 --with-cpu=arm1176jzf-s --with-tune=arm1176jzf-s --with-fpu=vfp --with-pkgversion=crosstool-NG-1.8.1 --enable-__cxa_atexit --disable-libmudflap --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-gmp=/crosstool/my/install/targets/arm-s3c6410-linux-gnueabi/build/static --with-mpfr=/crosstool/my/install/targets/arm-s3c6410-linux-gnueabi/build/static --with-ppl=/crosstool/my/install/targets/arm-s3c6410-linux-gnueabi/build/static --with-cloog=/crosstool/my/install/targets/arm-s3c6410-linux-gnueabi/build/static --enable-threads=posix --with-local-prefix=/root/x-tools/arm-s3c6410-linux-gnueabi/arm-s3c6410-linux-gnueabi//sys-root --disable-nls --enable-symvers=gnu --enable-c99 --enable-long-long
Thread model: posix

级别: 新手上路
UID: 5613
精华: 0
发帖: 20
金钱: 100 两
威望: 20 点
贡献值: 0 点
综合积分: 40 分
注册时间: 2009-04-30
最后登录: 2017-09-13
1楼  发表于: 2010-09-07 12:20
默认是armv5和soft-float
但是你可以通过-march和-mfpu来指定的啊,不需要重新build cross-compiler,你重新build无非就是指定一下default而已
还好这一天不是白花的,至少还出了一个结果
[ 此帖被saoyu在2010-09-07 12:26重新编辑 ]
级别: 新手上路
UID: 718
精华: 0
发帖: 37
金钱: 190 两
威望: 46 点
贡献值: 0 点
综合积分: 74 分
注册时间: 2008-05-19
最后登录: 2015-11-20
2楼  发表于: 2010-09-08 10:25
Sourcery G++ Lite for ARM GNU/Linux
级别: 新手上路
UID: 718
精华: 0
发帖: 37
金钱: 190 两
威望: 46 点
贡献值: 0 点
综合积分: 74 分
注册时间: 2008-05-19
最后登录: 2015-11-20
3楼  发表于: 2010-09-08 10:25
3.2.1. Included Libraries
The following library configurations are available in Sourcery G++ Lite for ARM GNU/Linux.
ARMv5TE - Little-Endian, Soft-Float, GLIBC
Command-line option(s): default
Sysroot subdirectory: ./
Dynamic linker: lib/ld-linux.so.3
ARMv4T - Little-Endian, Soft-Float, GLIBC
Command-line option(s): -march=armv4t
Sysroot subdirectory: armv4t/
Dynamic linker: lib/ld-linux.so.3
This should also be used for ARMv5T cores such as the
ARM1020T.
Notes:
ARMv7-A Thumb-2 - Little-Endian, Soft-Float, GLIBC
Command-line option(s): -mthumb -march=armv7-a
Sysroot subdirectory: thumb2/
Dynamic linker: lib/ld-linux.so.3
级别: 新手上路
UID: 718
精华: 0
发帖: 37
金钱: 190 两
威望: 46 点
贡献值: 0 点
综合积分: 74 分
注册时间: 2008-05-19
最后登录: 2015-11-20
4楼  发表于: 2010-09-08 10:28
运行库并没有支持armv6 硬件浮点。所以要自己编译个交叉编译器,可以充分利用armv6 硬件浮点等特性
级别: 新手上路
UID: 5613
精华: 0
发帖: 20
金钱: 100 两
威望: 20 点
贡献值: 0 点
综合积分: 40 分
注册时间: 2009-04-30
最后登录: 2017-09-13
5楼  发表于: 2010-09-08 12:07

 回 4楼(hackdj) 的帖子

codesourcery的是没有armv6的prebuilt libc
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
贡献值: 27 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
6楼  发表于: 2010-09-08 13:14
armv6并非比armv5更好,试试你就知道了,所以我们还会继续使用v5,但版本可能会升高。
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
级别: 新手上路
UID: 6806
精华: 0
发帖: 13
金钱: 65 两
威望: 13 点
贡献值: 0 点
综合积分: 26 分
注册时间: 2009-06-17
最后登录: 2011-04-23
7楼  发表于: 2010-11-08 17:33
hackdj  兄弟,编译后有没有测试对比过。要不把你的编译器发给我测试一下,我的邮箱liulaogen_@126.com。推荐测试工具:nbench
如果友善对比过可否发一些对比结果出来也好让我们放心些啊,
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
贡献值: 27 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
8楼  发表于: 2010-11-08 22:23
我们没有对比过,但在采用新编译器的时候遇到了相当多的挫折,虽然并不是编译器本身的问题,从bootloader到qt4.7.0,  几乎每一步都困难重重,现在基本已经客服了。
欲移植2.6.36的弟兄请注意,这个版本几乎是个分界线,很多东西都变了,和2.6.35很大不同。
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
级别: 新手上路
UID: 58765
精华: 0
发帖: 14
金钱: 80 两
威望: 16 点
贡献值: 0 点
综合积分: 28 分
注册时间: 2011-11-13
最后登录: 2012-11-02
9楼  发表于: 2012-08-08 19:28
你是怎么编译支持ARMv6的,我也遇到同样的问题?求解