我已经从飞思卡尔(通过 Congatec)安装了 LTIB,并且想编译一个“hello, world”程序。gcc 给了我本机可执行文件。如何为我的 ARM 处理器编译?
4 回答
您需要为 ARM 安装交叉编译器。你机器上的 gcc 是本机编译器,交叉编译器有一个不同的前缀,它决定了目标架构、操作系统和 libc。在您的情况下,目标系统可能具有 ARM 架构,正在运行带有 GNU libc 的 Linux 内核。
arm-none-linux-gnueabi-gcc -o hello hello.cpp
运行./ltib -m shell
。在此模式下,所有标准工具都设置为允许默认情况下./configure
为ARM构建其他设置。从此 shellgcc -o hello hello.cpp
将为您创建一个可执行文件。它将为您的rootfs设置,无论是uCLibc还是glibc。您还可以获取外部开源包并运行./configure
-make
循环。
LTIB FAQ中的文档包含更多关于使用LTIB的信息。 LTIB通常将工具安装在/opt/freescale目录中。如果您不使用自定义编译器,您会在/opt/freescale下找到编译器,并且可以直接使用它。在此目录中,编译器将命名为arm-none-linux-gnuabi-gcc
. 使用./ltib -m shell
,它gcc
与许多其他用于交叉构建的标准命令一样具有别名。
查看 gcc 手册页中的 -march=name 选项。您将指定的确切架构取决于您需要编译的 ARM 版本。v5 ARM 示例:
gcc -o ARM.exe -march=armv5 source.c
首先移动到 LTIB 文件夹。cd "ltib文件夹" 然后进入ltib shell ./ltib -m shell 然后使用gcc编译 -static "program name" .c -o "program name".sabre 然后运行命令文件"program name".sabre