zoukankan      html  css  js  c++  java
  • windows 版 armelfgcc(转)

    为了能在windows下使用gcc的编译器,一直想在cygwin先编译arm-elf-gcc,但是搞了一个多月最后还是失败了,不会linux啊。想去改编译错误都不知道从那里下手。为了主要的事情能够快点开始,还是用GNU ARM现成的工具链吧。
      介绍几个网站:
             www.gnuarm.com    下载GNU ARM的工具链,里面有newlib,可以直接使用标准C库
             www.steve.org.uk    下载windows下面的make
             unxutils.sourceforge.net 下载bash,以前的脚本都是在cygwin下写的,所以需要一个bash,否则cp,rm等等都用不了。其实steve也提供bash,但是他的cp的参数和cygwin下的不一样,为了不改脚本就找了这个。
        1.download install tools link:
    GNU ARM: http://www.gnuarm.com/bu-2.15_gcc-3.4.3-c-c++-java_nl-1.12.0_gi-6.1.exe
    Make: http://www.steve.org.uk/Software/make/make.zip
    Bash: http://unxutils.sourceforge.net/UnxUtils.zip
        2.install tool

    GNU ARM:直接安装,我的安装路径为C:/GNUARM
    Make:将make.zip中的make.exe解压缩到C:\GNUARM\bin
    Bash:将UnxUtils.zip\usr\local\wbin中的所有文件解压缩到C:\GNUARM\bin
        3.note
    为了防止以后编译不出以外,安装路径最好不要有空格。
    暂时不要使用GCC-4.1 toolchain,没有cygwin的情况下会gcc提示缺少dll
    暂时不要使用GCC-4.0 toolchain,测试的时候不认-mapcs-32,但又不知道默认的到底是多少
    GNU ARM下面有用newlib编译好的用于arm的libc可以直接使用,但是编译时候的用到里面的一些和内存有关的函数,必须要在ld文件中为其留出参考。

    我在使用printf的时候直接就报错c:/GNUARM/arm-elf/lib/libc.a(syscalls.o) (.text+0x69c): In `_sbrk':http://www.cnblogs.com/http://www.cnblogs.com/http://www.cnblogs.com/newlib-1.12.0/newlib/libc/sys/arm/syscalls.c:508: undefined reference to `end'

    在ld脚本中做如下改动就ok了
    .bss :
     {
      __bss_start = .;
      *(.bss) *(COMMON);
      PROVIDE (end = .);
      __bss_end = .;
     }




    http://blog.21ic.com/user1/2983/archives/2008/53368.html

    http://www.gnuarm.com/

    http://sourceforge.net/projects/unxutils

    http://unxutils.sourceforge.net/
  • 相关阅读:
    关于游戏分布式或者多服管理的想法
    surfaceView
    ackerman递归
    netbeans环境的建立
    copy-浅及深的复制操作
    使用VMware安装CentOS6.8详细教程
    Python在线资源优先级排序
    Python导入模块,Python import用法
    编码
    Python清屏命令
  • 原文地址:https://www.cnblogs.com/WuCountry/p/1380584.html
Copyright © 2011-2022 走看看