ARM 交叉编译器命名规则
交叉编译器命名方式一般遵循“处理器-系统-gcc”这样的规则,一般通过名称便可以知道交叉编译器的功能。
交叉编译器的命名规则:arch [-vendor] [-os] [-(gnu)eabi] [-gcc]
- arch - 体系结构, 如ARM,X86等
- vendor -工具链提供商, 没有 vendor 时, 用 none 替代
- os - 目标操作系统, 没有 os 时, 用 none 替代。同时没有 vendor & os 使用一个 none 替代。
- eabi - 嵌入式应用二进制接口(Embedded Application binary Interface)
例如:
- arm-none-eabi-gcc,表示目标处理器是 ARM,不运行操作系统,用于编译 ARM 架构的裸机系统
- armcc 类似于arm-none-eabi
- arm-none-uclinuxeabi-gcc / arm-uclinuxeabi-gcc,表示目标处理器是 ARM, 用于 uclinux 系统
- arm-none-symbianelf-gcc, 表示目标处理器是 ARM, 用于 symbian 系统
- arm-none-linux-gnueabi-gcc,表示目标处理器是 ARM,用于 Linux 操作系统;
- mips-linux-gnu-gcc,表示目标处理器是 MIPS,用于 Linux 操作系统;
- arm-eabi-gcc, Android ARM 编译器
进行 ARM Linux 开发,通常选择 arm-linux-gcc 交叉编译器。