贴一下自己的gnu工具链的编译参数 | gcc4.7 | cortex-m4,支持fpu
本帖最后由 si692828681 于 2012-12-30 13:17 编辑今天突然想保存一下编译参数还有各部分的版本 ------ 弄到合适的太不容易了,当时是翻了好多文章,编译了好多次才通过的。。。(保存在自己电脑里,容易丢,所以贴在论坛里,也许还会有朋友用得着;还可以赚积分,现在太低了,好友都加不了。。。)
-------------------------------------------------------------------------------------------------------------------------------------
1. 编译 binutils
cd binutils-2.22/
./configure --target=arm-none-eabi --prefix=/home/tutu/tools/ --enable-interwork --enable-multilib --disable-nls --disable-libssp
make all
make install
cd ..
2. 编译 gcc with newlib (这里要分三步)
1)
cd gcc-4.7.1/
make objdir
cd objdir
../configure --target=arm-none-eabi --prefix=/home/tutu/tools/ --enable-interwork --enable-multilib --enable-languages=c --with-newlib --with-headers=../../newlib-1.20.0/newlib/libc/include/ --disable-libssp --disable-nls --with-system-zlib --with-float=hard --with-fpu=fpv4-sp-d16 --with-cpu=cortex-m4 --with-mode=thumb
make all-gcc
make install-gcc
cd ../..
2)
cd newlib-1.20.0/
./configure --target=arm-none-eabi --prefix=/home/tutu/tools/ --enable-interwork --enable-multilib --disable-libssp --disable-nls --with-float=hard --with-fpu=fpv4-sp-d16 --with-cpu=cortex-m4 --with-mode=thumb
make all
make install
cd ..
3)
cd gcc-4.7.1/objdir/
make all
make install
cd ../..
3. 编译 gdb
cd gdb-7.4/
./configure --target=arm-none-eabi --prefix=/home/tutu/tools/ --enable-interwork --enable-multilib --disable-libssp --disable-nls
make all
make install
cd ..
-------------------------------------------------------------------------------------------------------------------------------------
注意点:
--prefix=/home/tutu/tools/ 这是我安装的目录,要更换成你要安装的目录
有几个参数的意思,引用别人文章里的:
–enable-interwork: Allows ARM and Thumb code to be used
–enable-multilib: Build multible versions of some libs. E.g. one with soft float and one with hard
–disable-nls: Tells gcc to only support American English output messages
–disable-libssp: Don’t include stack smashing protection
–with-system-zlib: Fixes the error: configure: error: Link tests are not allowed after GCC_NO_EXECUTABLES
哥来支持妹子 我的和LZ妹子的略有差异啊
LZ妹子的终端很漂亮,还可以分屏 笑笑我笑了 发表于 2013-1-28 01:38 static/image/common/back.gif
我的和LZ妹子的略有差异啊
LZ妹子的终端很漂亮,还可以分屏
偶用的是 urxvtc + tmux
tmux就是分屏的,横向纵向任意可以分任意个pane,还支持任意多个的window和session si692828681 发表于 2013-1-28 13:41 static/image/common/back.gif
偶用的是 urxvtc + tmux
tmux就是分屏的,横向纵向任意可以分任意个pane,还支持任意多个的window和sessi ...
LZ有没有用过这个编译器出点啥来啊 笑笑我笑了 发表于 2013-1-28 14:07 static/image/common/back.gif
LZ有没有用过这个编译器出点啥来啊
算法都还在电脑上实验,还木有移到stm32上
只测试了一下demo,板子OK
拿自己的一些代码编译后反汇编查看,编译得还挺满意。 如果只是针对CortexM4并且只支持硬件FPU的话,完全可以关闭MultiLib。你给的那堆with已经足够了,默认编译出来的库就是给硬浮点用的。用multilib反而会麻烦。 笑笑我笑了 发表于 2013-1-28 01:38 static/image/common/back.gif
我的和LZ妹子的略有差异啊
LZ妹子的终端很漂亮,还可以分屏
不能只看multilib的参数,还要看arm-none-eabi-gcc -v的输出参数。
configure时候的with参数和multilib的参数互相配合决定了newlib编译时候的最终参数。基本上是这样。 dr2001 发表于 2013-1-28 14:49 static/image/common/back.gif
不能只看multilib的参数,还要看arm-none-eabi-gcc -v的输出参数。
configure时候的with参数和multilib ...
我的是脚本自动编译出来的,不是我手工设置的啊 dr2001 发表于 2013-1-28 14:46 static/image/common/back.gif
如果只是针对CortexM4并且只支持硬件FPU的话,完全可以关闭MultiLib。你给的那堆with已经足够了,默认编译 ...
是耶~~~谢谢前辈提醒
页:
[1]