我正在尝试使用Terry Guo's gcc-arm-none-eabi测试交叉编译。简而言之,以下是在Ubuntu上安装的步骤:
我遇到的问题是我找不到文档(或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
答案 0 :(得分:0)
问题是我在Ubuntu 14上获得了Debian的贫血手臂嵌入式工具;即使我加入了郭的PPA,也不是Terry Guo的工具。这可以通过以下方法解决:
使用适当的包裹:
编译器的名称是什么?
编译器在哪里?
/ 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将尝试在upgrade
或dist-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?。