1. 51 架构 (8051)

51 单片机不属于 ARM 这种“通用处理器”生态,其工具链相对专有或开源。

  • SDCC (Small Device C Compiler): 这是目前 51 架构最主流的开源免费工具链。它是一套针对 8 位微控制器的优化 C 编译器,支持 MCS51 (即 51 内核)、Z80、STM8 等。配合 SDCC 本身,加上 stcgal 等烧录工具,可以组成完整的开源开发环境。
  • Keil C51 (商业): 这是 51 架构事实上的“工业标准”,由 ARM 公司(原 Keil)提供。虽然它是商业软件,但在 51 开发中使用率极高,代码密度和稳定性表现优秀。Arm GNU Toolchain 并不能直接编译 51 内核代码

2. RISC-V 架构 (RV)

RISC-V 作为开源指令集,其 GNU 工具链非常完善,且由基金会和各大厂商积极维护。

  • RISC-V GNU Toolchain (riscv-gnu-toolchain): 这是 RISC-V 的官方 GNU 工具链,功能上类似 Arm GNU Toolchain。它包含 riscv64-unknown-elf-gcc(用于裸机)和 riscv64-linux-gnu-gcc(用于 Linux 系统)等。
    • 源码:托管在 GitHub 的 riscv-collab/riscv-gnu-toolchain
    • 预编译包:许多 Linux 发行版(如 Ubuntu/Debian)可以直接通过 apt install gcc-riscv64-linux-gnugcc-riscv64-unknown-elf 安装。
  • 厂商定制版本: 和 ARM 一样,芯片厂商也会提供定制化的工具链。
    • SiFive:提供针对其 CoreIP 优化的 Freedom Studio(基于 Eclipse 和 GNU 工具链)。
    • 沁恒 (WCH):其 RISC-V 系列 MCU(如 CH32V系列)虽也可用标准 GNU 工具链,但官方推荐使用 MounRiver Studio(集成了定制版 GCC 和调试工具)。

3. ARM架构

ARM Cortex-M/R/A很多交叉编译器分别编译不同的系列,常用的Arm GNU Toolchain (arm-none-eabi-gcc)

4. X86架构

x86架构要根据编译的系统做调整,也就是说编译到不同的os平台,比如linux,mac,windows。

如果在windows上编译windwos应用一般使用VS的MSVC,在linux编译windwos使用MinGW-w64/w32工具链。

至于mac,更多时候是在mac是编程自己的应用。