三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

【Linux】交叉编译工具链

【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编译器。

← 返回列表