【Linux】交叉编译工具链

📅 2026/7/2 20:22:34 👁️ 阅读次数 📝 编程学习
【Linux】交叉编译工具链

因为arm芯片多用于嵌入式设备,运算能力有限,不能将固件编译的工作放在芯片上进行,所以arm芯片开发中最不可缺少的工具就是交叉编译工具链。而工具链根据架构不同可分为两种:Cortex-M/R和Cortex-A。

Cortex-M/R

Cortex-M/R所用工具链有arm-none-eabi,32位,裸机,小端模式。安装方法推荐使用命令行:sudo apt install gcc-arm-none-eabi,安装后检查:arm-none-eabi-gcc -v。

Cortex-A

Cortex-A所用工具链有

arm-linux-gnueabihf,32位,运行Linux,小端模式,硬浮点。安装方法推荐使用命令行:sudo apt install gcc-arm-linux-gnueabihf,安装后检查: arm-linux-gnueabihf-gcc -v。

aarch64-linux-gnu,64位,运行Linux,小端模式。安装方法推荐使用命令行:sudo apt install gcc-aarch64-linux-gnu,安装后检查:aarch64-linux-gnu-gcc -v。

PS:工具链本身按运行环境又分32位和64位,但这个不影响其编译结果。在嵌入式开发中最常用的就是arm-linux-gnueabihf,你几乎用不到别的工具链,编译STM32你用Keil,那是armcc编译器。