我正在尝试为一些 32 位 arm 设备构建一个交叉编译构建服务器,其架构是:(来自 uname -m)“armv5tejl” 我必须指定 binutils 和 gcc 的目标,它看起来像:-- target=aarch64-linux (例如)我是否应该期望我的用例的目标标志是 --target=armv5tejl-linux ?或者我怎么知道要使用的目标标志?
我尝试在 $ 中寻求gcc --target-help| less
帮助,但我没有看到任何有用的东西。
答案1
fromarmv5tejl
代表uname
ARM v5TEJ 架构,特别是ARM926EJ-S CPU。
要针对该 cpu 进行编译,请使用:
% /usr/bin/arm-linux-gnueabi-gcc -mcpu=arm926ej-s -o hello hello.c
您可能会遇到库问题。可能需要将二进制文件编译为静态(不使用动态库)。用这个:
% /usr/bin/arm-linux-gnueabi-gcc -static -mcpu=arm926ej-s -o hello hello.c