请问有人能告诉我如何在SA1100微处理器上安装交叉编译器(使用C语言进行编程)?我的操作系统是Ubuntu 12.04 LTS。我对Linux完全不了解,昨天刚刚安装了Ubuntu。我需要一种名为“arm-unknown-linux-gnu-gcc”的特殊GCC编译器变体,但不知道该如何安装。
请问有人能帮助我吗?
请问有人能告诉我如何在SA1100微处理器上安装交叉编译器(使用C语言进行编程)?我的操作系统是Ubuntu 12.04 LTS。我对Linux完全不了解,昨天刚刚安装了Ubuntu。我需要一种名为“arm-unknown-linux-gnu-gcc”的特殊GCC编译器变体,但不知道该如何安装。
请问有人能帮助我吗?
正如我在评论中所说,请尝试
apt-get install gcc-arm-linux-gnueabi
apt-get install gcc-4.7-arm-linux-gnueabi
我还强烈建议您学习如何为Linux系统编译普通的C程序(即学习使用基本的gcc
,make
...命令并了解如何使用一些编辑器,如emacs
或gedit
等),而您所需的交叉编译器也取决于运行在SA1100硬件板上的系统。不要忘记对任何GCC编译都使用-Wall
。 您可能希望能够调试程序(在编译时传递-g
给GCC,并使用gdb
调试器)。当您的程序运行良好时,使用-O2
编译它以请求GCC优化其机器代码。
通过阅读其文档来学习使用GNU make
-例如编写Makefile
-并使用arm-linux-gnueabi-gcc
作为交叉编译器程序。(当make
不能提供足够的帮助时,您可能需要使用remake
来调试Makefile
)
您可以使用例如dpkg -L gcc-arm-linux-gnueabi
获取安装有包的文件列表。
一个交叉编译的ARM可执行程序非常可能需要在ARM主板上至少有一些libc
(或静态链接),而且您需要某种方式将二进制程序从Linux桌面传输到ARM硬件。
添加PPA:
https://launchpad.net/gcc-arm-embedded
这两个的源代码是相同的。目前支持Ubuntu 10.04/12.04/13.04/13.10/14.04的32位和64位。
在https://help.launchpad.net/Packaging/可以找到有关Launchpad PPA的详细说明。该网站解释了如何设置PPA以及如何添加现有PPA并从中安装软件。
以下是在Ubuntu 14.04之前从此PPA安装工具链的快速步骤。打开终端并输入:
sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded
sudo apt-get update
sudo apt-get install gcc-arm-none-eabi
要删除已安装的工具链,只需执行:
sudo apt-get remove gcc-arm-none-eabi
要更新工具链,只需重复第2步和第3步即可。
apt-get install gcc-arm-linux-gnueabi
或者apt-get install gcc-4.7-arm-linux-gnueabi
吗?我也强烈建议您能够为您的Linux系统编译一个普通的C程序(即学习gcc
,make
... 命令的基础知识以及如何使用像emacs
或gedit
这样的编辑器...),而您想要的交叉编译器也取决于运行在SA1100硬件板上的系统。 - Basile Starynkevitchgcc -o hello hello.c
。我已经尝试过apt-get install gcc-arm-linux-gnueabi
并安装了它,但交叉编译仍然不起作用。我想用(例如)arm-unknown-linux-gnu-gcc -O2 -Wall -o hello hello.c
来交叉编译程序,但它告诉我找不到该命令。你能告诉我make
是什么吗?谢谢,我感激你的帮助! - n00b1990