与Terry Guo的gcc-arm-none-eabi交叉编译

时间:2014-09-14 23:43:05

标签: c linux ubuntu gcc cross-compiling

我正在尝试使用Terry Guo's gcc-arm-none-eabi测试交叉编译。简而言之,以下是在Ubuntu上安装的步骤:

  • sudo add-apt-repository ppa:terry.guo / gcc-arm-embedded
  • sudo apt-get update
  • sudo apt-get install gcc-arm-none-eabi

我遇到的问题是我找不到文档(或I'm doing something wrong)。我知道我不能要求提供文件或其他非现场资源,所以我会切入正确的追捕:

  • 编译器的名称是什么?
  • 编译器在哪里?
  • arm-eabi标题位于何处?
  • arm-eabi libs在哪里?
  • arm-eabi sysroot位于何处?

$ find /usr -iname *arm-eabi*
$ find /usr -iname *gcc-arm*
/usr/share/lintian/overrides/gcc-arm-none-eabi
/usr/share/doc/gcc-arm-none-eabi
$ info gcc-arm-none-eabi
No menu item `gcc-arm-none-eabi' in node `(dir)Top'.
$ man gcc-arm-none-eabi
No manual entry for gcc-arm-none-eabi

1 个答案:

答案 0 :(得分:0)

问题是我在Ubuntu 14上获得了Debian的贫血手臂嵌入式工具;即使我加入了郭的PPA,也不是Terry Guo的工具。这可以通过以下方法解决:

  1. sudo apt-get remove binutils-arm-none-eabi gcc-arm-none-eabi
  2. sudo apt-get autoremove
  3. sudo add-apt-repository ppa:terry.guo / gcc-arm-embedded
  4. sudo apt-get update
  5. sudo apt-get install gcc-arm-none-eabi = 4-8-2014q2-0trusty10

  6. 使用适当的包裹:

      

    编译器的名称是什么?
      编译器在哪里?

    / usr / bin / arm-none-eabi-gcc和朋友们。

      

    arm-eabi标头位于何处?
      arm-eabi libs位于何处?
      arm-eabi sysroot在哪里?

    SYSROOT是/usr/lib/gcc/arm-none-eabi/4.8.2/armv7-m。

    我还需要使用-mcpu=cortex-m3-mthumb--specs=nosys.specs进行编译。


    相关:Ubuntu将尝试在upgradedist-upgrade期间升级Guo的软件包。可以通过固定郭的包来修改行为。要固定郭的包,请将以下内容添加到/etc/apt/preferences

    Package: binutils-arm-none-eabi
    Pin: origin ppa.launchpad.net
    Pin-Priority: 900
    
    Package: gcc-arm-none-eabi
    Pin: origin ppa.launchpad.net
    Pin-Priority: 900
    

    感谢Super User的重要信息。请参阅Permanently block distro package installation?