GCC ARM Embedded

Arm and GNU project contributors · Cadena de herramientas cruzadas Arm GNU de línea de comandos para firmware bare-metal C/C++, con compilador arm-none-eabi, utilidades binarias, bibliotecas y depurador.

CaskLenguajes de programación y entornos de ejecuciónChip Apple · Intel
Inicio
De homebrew/cask
Instalaciones en los últimos 30 días840Puesto 200 en Apps
Instalaciones del último año15,6 milTotal de los últimos 365 días
Última versión15.3.rel2hace 10 horas · 9 oct
Tamaño de descarga281MBarm64 / x86_64 · pkg
Frecuencia de actualizaciónIrregular1 versión en 30 días

Descripción

GCC ARM Embedded es el nombre de catálogo de la cadena de herramientas cruzadas GNU precompilada de Arm para el desarrollo bare-metal de Arm de 32 bits. Las herramientas arm-none-eabi seleccionadas se ejecutan en el Mac anfitrión y generan código para destinos Arm compatibles; el procesador anfitrión y la arquitectura de destino del firmware son opciones independientes. Es un compilador/cadena de herramientas de línea de comandos, no un IDE gráfico, un emulador de placas ni una aplicación completa para cargar firmware.

Funciones y usuarios

  • Compilar firmware en C y C++ con GCC y el destino arm-none-eabi.
  • Ensamblar y enlazar código con GNU Binutils.
  • Inspeccionar símbolos, desensamblar objetos y convertir formatos binarios.
  • Depurar con GDB cuando se dispone de un destino adecuado y una configuración de servidor de depuración.
  • Usar las bibliotecas de tiempo de ejecución bare-metal incluidas, Newlib y ejemplos documentados.
  • Seleccionar opciones de procesador, conjunto de instrucciones y ABI de coma flotante para la placa.

Está destinada a desarrolladores de sistemas integrados, sistemas de compilación de firmware y docentes que trabajen con destinos bare-metal Cortex-M, Cortex-R u otros AArch32 compatibles. La versión más amplia de Arm GNU Toolchain también contiene otras variantes de destino; este cask selecciona específicamente arm-none-eabi. No instala las variantes AArch64 ni las destinadas a Linux, ni convierte un Mac en un anfitrión Arm Linux.

Instalación y compatibilidad con Mac

Instala con brew install --cask gcc-arm-embedded o utiliza el instalador de paquetes oficial de macOS correspondiente. El paquete 15.3.rel1 predeterminado del catálogo es darwin-arm64: herramientas nativas para anfitriones Apple Silicon destinadas a sistemas bare-metal AArch32. Las notas de la versión oficial requieren macOS 11 o posterior. No es un paquete exclusivo para Intel y no necesita Rosetta simplemente porque el código de destino sea Arm.

Las variantes para Mac Intel del cask actual siguen en 14.2.rel1 con herramientas darwin-x86_64; esa versión documenta macOS 12 o posterior. La compatibilidad con anfitriones Intel macOS quedó obsoleta en 14.2 y no figura en la tabla de compatibilidad de anfitriones de 15.3. No des por hecho que Intel recibe la versión predeterminada más reciente ni que Rosetta puede hacer funcionar en un Mac Intel un paquete para anfitriones arm64. Deben comprobarse individualmente las versiones históricas y sus requisitos.

El cask se instala en /Applications/ArmGNUToolchain/<version>/arm-none-eabi y enlaza herramientas con prefijo en el directorio bin de Homebrew. La instalación directa puede requerir añadir el directorio bin adecuado a PATH; usar rutas explícitas a las herramientas facilita identificar la selección de compilación. Otros SDK o cadenas de herramientas pueden proporcionar programas arm-none-eabi con el mismo nombre. Revisa el orden de PATH y fija el compilador previsto en el proyecto, en lugar de dar por hecho que el ejecutable que aparece primero tiene la versión o ABI esperadas.

Dependencias y funcionamiento

Elige las opciones del compilador y los scripts del enlazador según el MCU, el mapa de memoria de la placa, la ABI de coma flotante y los requisitos de tiempo de ejecución reales. Los SDK de placas, el código de inicio, las utilidades de compilación y un editor/IDE son dependencias independientes del proyecto. Compilar firmware no requiere conectar una placa, pero la programación o depuración de hardware suele requerir hardware compatible, una sonda y una configuración de software/servidor de depuración aparte. GDB por sí solo no incluye todos los controladores de sondas ni las utilidades de grabación. El cask no indica dependencias adicionales de fórmula ni cask en conflicto explícitos.

A partir de 15.2, los paquetes de macOS incluyen GDB convencional y un GDB -py separado con compatibilidad con scripts de Python, compilado con Python 3.9.7. Sigue los requisitos de configuración de Python de la versión solo si usas ese depurador con soporte para scripts; la compilación ordinaria no implica un requisito general de Python. El GDB de macOS de 14.2 anteriores no admite scripts de Python. Las dependencias descritas para Linux o Windows no se aplican automáticamente a Mac.

La instalación de un paquete del sistema puede requerir autorización de administrador. Por lo demás, la cadena de herramientas utiliza acceso al sistema de archivos mediante la línea de comandos para acceder a los archivos fuente y a los resultados de compilación; no se documenta que la compilación ordinaria requiera permisos de Accesibilidad o Grabación de pantalla. Arm advierte que compilar código fuente no confiable puede provocar la ejecución de código arbitrario o un consumo excesivo de recursos, y recomienda un entorno aislado. Los archivos fuente y los scripts de compilación deben tratarse como entradas ejecutables del proyecto, no como documentos intrínsecamente seguros.

Coste, licencia e historial del producto

Arm GNU Toolchain se puede descargar y usar gratis; para compilar localmente no se necesita una licencia de compilador de pago ni una cuenta en línea. Los IDE opcionales, servicios en la nube, placas y sondas pueden tener costes y licencias independientes. Los componentes tienen licencias distintas: GCC, Binutils y GDB incluyen términos GPL; los archivos de tiempo de ejecución de GCC aplicables cuentan con la excepción de biblioteca de tiempo de ejecución de GCC, y Newlib y otras bibliotecas tienen sus propios avisos. Consulta la colección de EULA/licencias incluida para la redistribución; no atribuyas una única licencia a todos los componentes o programas generados.

Arm unificó las líneas de versiones anteriores A-profile y GNU Arm Embedded en Arm GNU Toolchain. La página de descargas antigua está obsoleta y las versiones más recientes se alojan oficialmente en Arm GitLab; esto no significa que el cask actual esté deshabilitado u obsoleto. El cask actual no está deshabilitado ni obsoleto. Arm Toolchain for Embedded, basado en LLVM, es otro producto, no una etiqueta de versión intercambiable para este paquete GNU.

El paquete 15.3.rel1 predeterminado para Apple Silicon es 280,574,793 bytes, según los metadatos HTTP HEAD oficiales. Los archivos instalados y las compilaciones para otros anfitriones tienen tamaños distintos. Las notas de la versión incluyen limitaciones conocidas, entre ellas la anidación de intrínsecos MVE, la clonación y el enlazado de CMSE, y la depuración con secciones descartadas; consúltalas si utilizas las funciones pertinentes.

Fuentes: Proyecto oficial, Notas de la versión 15.3, Notas de la versión 14.2, Guía de instalación oficial, Licencias de componentes.

Novedades Novedades de 15.3.rel2 Del historial de commits de Homebrew

Esta versión no tiene notas de actualización específicas.

Interfaz gráfica de código abierto para Homebrew. La instalación se realiza desde el cliente de macOS o con el comando brew.

© 2026 OpenNavo