GCC ARM Embedded

Software captura de pantalla:
GCC ARM Embedded
Detalles de software:
Versión: 7-2018-q2 Actualizado
Fecha de carga: 17 Aug 18
Licencia: Libre
Popularidad: 67

Rating: 2.5/5 (Total Votes: 2)

GCC ARM Embedded es un software de código abierto y de distribución libre que contiene una cadena de herramientas GNU preconstruida para los procesadores ARM Cortex-R y Cortex-M. El proyecto tiene como objetivo llevar las herramientas de GNU a procesadores integrados ARM, ayudando a los desarrolladores con diversas tareas de compilación.


Admite todos los procesadores ARM Cortex importantes

El software se ha creado desde cero para admitir todos los procesadores Cortex ARM importantes, incluidos Cortex-R4, Cortex-R5, Cortex-R7, Cortex-M3, Cortex-M4, Cortex-M7, Cortex-M0 +, y Cortex-M0.

Siendo mantenido por los empleados de ARM, el software GCC ARM Embedded es parte de un compromiso continuo para mejorar y mantener el soporte de GNU Compiler Collection (GCC) para la arquitectura ARM.


Primeros pasos con GCC ARM Embedded

Para usar el software GCC ARM Embedded en su computadora GNU / Linux, debe descargar el paquete binario, que contiene todos los binarios preconstruidos que necesita para comenzar. Guarde el archivo en alguna parte de su computadora, preferiblemente en su directorio de inicio, use una utilidad de administrador de archivos para extraer sus contenidos.

Luego, abra una aplicación Terminal y navegue hasta la ubicación donde ha extraído el archivo (por ejemplo, cd / home / softoware / gcc-arm-none-eabi-4_9-2014q4). Todos los binarios se encuentran en & lsquo; bin & rsquo; carpeta.


Disponibilidad y plataformas de hardware compatibles

GCC ARM Embedded se distribuye como archivos binarios y de origen, así como un repositorio de PPA para las últimas versiones del sistema operativo Ubuntu Linux, que admite arquitecturas de 32 y 64 bits. Tenga en cuenta que el software también es compatible con los sistemas operativos Mac OS X y Microsoft Windows.

Qué hay de nuevo en esta versión:

  • Corrección de rendimiento de powf / expf / exp2f / logf / log2f corregido
  • Se agregó soporte para Arm Cortex-M33 sin DSP a través de -mcpu = cortex-m33 + nodsp
  • Mapeos de multilibro de Armv8-R agregados
  • Repara los requisitos de compilación para GDB tui support
  • Especificador de formato IO C99 habilitado en newlib
  • Corregido cmse_nonsecure_caller Armv8-M Security Extension intrínseco
  • Corregir bloqueo en __builtin_arm_set_fpscr GCC incorporado
  • Error de LTO https://bugs.launchpad.net/gcc-arm-embedded/+bug/1747966 se corrigió en la versión anterior. Nota de la versión actualizada para reflejar el cambio.
  • Se corrigió el problema con la creación de cmse.c de libgcc sin encabezados
  • Se corrigió el problema con la compatibilidad de arm_cmse.h C99

Novedades en la versión 7-2017-q4:

  • Soporte de Armv8-R y Cortex-R52 .
  • Solución para https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69866
  • GDB creado con C ++ habilitado para Mac OS X

Qué hay de nuevo en la versión 6.2:

  • Funciones:
  • Todas las características de GCC 6, además de las últimas características principales:
  • Soporte completo de ARMv8-M que incluye atomics y Security Extensions
  • Compatibilidad con ARM PURECODE para ARMv7-M y ARMv8-M Línea base y línea principal
  • Compatibilidad intrínseca del coprocesador
  • Soporte Cortex-M23 y Cortex-M33
  • -mthumb opcional para dispositivos Cortex-M
  • Soporte para la reorientación del sistema operativo de las rutinas de bloqueo en newlib
  • Implementación avanzada de memchr optimizada SIMD en newlib
  • Habilita las opciones de configuración para el instalador de Windows en la línea de comandos
  • Cambios importantes en la versión de 6 actualizaciones 2:
  • GCC asume incorrectamente que Cortex-r [578] tiene LDRD atómico de una sola copia de 64 bits https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80082
  • LDR pseudo-op genera MOVS https://bugs.launchpad.net/gcc-arm-embedded/+bug/1682620
  • Arreglos fijos de getps y setters de FPSCR
  • Las bibliotecas de importación de SG que se crearon como ejecutables ahora se corrigieron para reubicarse
  • Habilita las opciones de configuración para el instalador de Windows en la línea de comandos
  • Compatibilidad con PURECODE habilitada para ARMv8-M.Baseline
  • Implementación avanzada de memchr optimizada SIMD en newlib

Qué hay de nuevo en la versión 5.4:

  • Nuevas características:
  • Base de datos ARMv8-M y soporte beta principal:
  • ARMv8-M Soporte básico de átomos
  • Compatibilidad con PureCode de ARM
  • Thumb-2 chapas de rama largas
  • Errores importantes solucionados en la versión 5 de la actualización 3:
  • Se eliminaron los registros especiales MSP_S y PSP_S MRS / MSR
  • Detección de la versión del Thumb fijo en la generación de chapas
  • Documentación reparada sobre newlib-nano en release.txt

Qué hay de nuevo en la versión 5.3:

  • Funciones:
  • Todas las características de GCC 5, además de las últimas características principales:
  • Soporte Cortex-R8
  • Ajuste de rendimiento Cortex-M7
  • optimización de pequeñas cargas endian y big endian manuales
  • subprocesos de salto mejorados que eliminan la necesidad de -frecuencia de cambio-atajo
  • Línea base ARMv8-M y soporte alfa de línea principal:
  • atomics no incluidos para ARMv8-M Baseline
  • Soporte de ARMv8-M Security Extensions Alpha
  • Optimizaciones de la biblioteca Thumb-1:
  • https://gcc.gnu.org/ml/gcc-patches/2015-10/msg01282.html
  • Optimización de CRC:
  • https://gcc.gnu.org/ml/gcc-patches/2015-11/msg02046.html
  • Controlador de finalización más pequeño para newlib-nano

Qué hay de nuevo en la versión 5.2:

  • Todas las funciones de GCC 5, además de las últimas características principales:
  • Ajuste de rendimiento Cortex-M7
  • optimización de pequeñas cargas endian y big endian manuales
  • subprocesos de salto mejorados que eliminan la necesidad de -frecuencia de cambio-atajo
  • Línea base ARMv8-M y soporte alfa de línea principal:
  • atomics no incluidos para ARMv8-M Baseline
  • Las extensiones de seguridad ARMv8-M solo son compatibles con el ensamblaje y los enlaces básicos
  • Optimizaciones de la biblioteca Thumb-1
  • https://gcc.gnu.org/ml/gcc-patches/2015-10/msg01282.html
  • Optimización de CRC
  • https://gcc.gnu.org/ml/gcc-patches/2015-11/msg02046.html

Qué hay de nuevo en la versión 4.9 Actualización 3:

  • Funciones:
  • Todas las características de GCC 4.9, además de las últimas características principales
  • Soporte de Cortex-M7
  • Soporte de multiplicación pequeño con opciones:
  • -mcpu = cortex-m1.small-multiply
  • -mcpu = cortex-m0.small-multiply
  • -mcpu = cortex-m0plus.small-multiply
  • Multilib especial para Cortex-M7
  • - cortex-m7
  • - cortezax-m7 / fpu / fpv5-d16
  • - cortex-m7 / fpu / fpv5-sp-d16
  • - cortex-m7 / softfp / fpv5-d16
  • - cortex-m7 / softfp / fpv5-sp-d16
  • Define las rutinas aeabi_memcpy y aeabi_memcpy4 en newlib.
  • Defina las rutinas aeabi_memmove, aeabi_memset y aeabi_memclr en newlib.
  • Optimizaciones de la biblioteca Thumb-1.
  • Optimizaciones de tamaño de código adicionales.
  • Agregue la creación de gdb python (arm-none-eabi-gdb-py).
  • El archivo de objeto sin sección de atributo se puede vincular con otros.
  • Las opciones -mapcs, -mapcs-frame, -mtpcs-frame y -mtpcs-leaf-frame quedarán obsoletas en gcc 5.0, por lo que recomendamos evitarlas.
  • Errores importantes corregidos en la actualización 4.9 actualización 3:
  • Solución de desajuste del especificador de formato Newlib. https://answers.launchpad.net/gcc-arm-embedded/+question/269083
  • Solución de desajuste de macro de Newlib. https://answers.launchpad.net/gcc-arm-embedded/+question/269177
  • Corrección de errores de codificación del ensamblador. https://sourceware.org/ml/binutils/2015-08/msg00028.html

Qué hay de nuevo en la versión 4.9 Actualización 2:

  • Funciones:
  • Todas las características de GCC 4.9, además de las últimas características principales
  • Soporte de Cortex-M7
  • Soporte de multiplicación pequeño con opciones:
  • -mcpu = cortex-m1.small-multiply
  • -mcpu = cortex-m0.small-multiply
  • -mcpu = cortex-m0plus.small-multiply
  • Multilib especial para Cortex-M7:
  • corteza-m7
  • cortex-m7 / fpu / fpv5-d16
  • cortex-m7 / fpu / fpv5-sp-d16
  • cortex-m7 / softfp / fpv5-d16
  • cortex-m7 / softfp / fpv5-sp-d16
  • Define las rutinas aeabi_memcpy y aeabi_memcpy4 en newlib.
  • Defina las rutinas aeabi_memmove, aeabi_memset y aeabi_memclr en newlib.
  • Optimizaciones de la biblioteca Thumb-1.
  • Optimizaciones de tamaño de código adicionales.
  • Agregue la creación de gdb python (arm-none-eabi-gdb-py).
  • El archivo de objeto sin sección de atributo se puede vincular con otros.
  • Las opciones -mapcs, -mapcs-frame, -mtpcs-frame y -mtpcs-leaf-frame quedarán obsoletas en gcc 5.0, por lo que recomendamos evitarlas.
  • Errores importantes corregidos en la versión 4.9 actualización 2:
  • Se actualizó un código de ensamblaje en línea en Newlib para que funcione con los objetivos anteriores https://www.sourceware.org/ml/newlib/2015/msg00386.html
  • Evite el desperdicio causado por la promoción del tamaño de la sección https://answers.launchpad.net/gcc-arm-embedded/+question/262160
  • Las variables de registro local no funcionan correctamente con los operandos de ASM en línea https://bugs.launchpad.net/gcc-arm-embedded/+bug/1411655

Qué hay de nuevo en la versión 4.9 Actualización 1:

  • Funciones:
  • Todas las características de GCC 4.9, además de las últimas características principales
  • - Compatibilidad con Cortex-M7
  • - Soporte pequeño multiplicado con opciones:
  • -mcpu = cortex-m1.small-multiply
  • -mcpu = cortex-m0.small-multiply
  • -mcpu = cortex-m0plus.small-multiply
  • Multilib especial para Cortex-M7
  • - cortex-m7
  • - cortezax-m7 / fpu / fpv5-d16
  • - cortex-m7 / fpu / fpv5-sp-d16
  • - cortex-m7 / softfp / fpv5-d16
  • - cortex-m7 / softfp / fpv5-sp-d16
  • Define las rutinas aeabi_memcpy y aeabi_memcpy4 en newlib.
  • Defina las rutinas aeabi_memmove, aeabi_memset y aeabi_memclr en newlib.
  • Optimizaciones de la biblioteca Thumb-1.
  • Optimizaciones de tamaño de código adicionales.
  • Agregue la creación de gdb python (arm-none-eabi-gdb-py).
  • El archivo de objeto sin sección de atributo se puede vincular con otros.
  • Las opciones -mapcs, -mapcs-frame, -mtpcs-frame y -mtpcs-leaf-frame quedarán obsoletas en gcc 5.0, por lo que recomendamos evitarlas.
  • Errores importantes corregidos en la actualización 4.9 actualización 1:
  • LD backport para mantener la sección de longitud cero en el archivo Axf final
  • Soluciona el bloqueo de GDB causado al descartar las secciones de depuración agrupadas
  • Agregue un patrón de entrada Thumb1 para legalizar la instrucción que mueve la PC a un registro bajo
  • Actualice GCC para generar Tag_ABI_HardFP_use según el último documento de EABI
  • Registro alto en vivo no guardado en el prólogo de función con -Os
  • - var-info-path-expression falla para las estructuras anidadas

Qué hay de nuevo en la versión 4.9:

  • Rama en el símbolo definido en la secuencia de comandos del enlazador http: // sourceware .org / bugzilla / show_bug.cgi? id = 15302
  • GDB se ha actualizado a 7.6 para admitir mejor a dwarf-3 y posterior estándar https://answers.launchpad.net/gcc-arm-embedded/+question/234131 https://bugs.launchpad.net/gcc-arm -embedded / + bug / 1248981
  • ICE cuando usa registro alto como registro base PIC para objetivo thumb-1

Novedades en la versión 4.7 Actualización 3:

  • Se bloquea al compilar la aplicación de punto fijo con LTO https : //answers.launchpad.net/gcc-arm-embedded/+question/235582
  • Rama a destino especificada por un símbolo de secuencia de comandos del vinculador https://sourceware.org/bugzilla/show_bug.cgi?id=15302
  • El gdb alojado en Windows se cuelga en algún punto de interrupción https://bugs.launchpad.net/gcc-arm-embedded/+bug/1197615
  • Nano le falta la referencia a _mallopt_r https://mbed.org/forum/mbed/topic/2701/?page=3#comment-22549

Novedades en la versión 4.7 Actualización 2:

  • Actualizar doc / *. texi al último paquete texinfo https: // answers.launchpad.net/gcc-arm-embedded/+question/227685
  • Repara el ICE con la opción -mtune https://answers.launchpad.net/gcc-arm-embedded/+question/227667
  • Se corrigió la opción --debug en el script de construcción https://answers.launchpad.net/gcc-arm-embedded/+question/229127
  • Arregla la función lr innecesaria en la función de hoja de thumb1

Novedades en la versión 4.7 Actualización 1:

  • Esta actualización soluciona un par de problemas encontrados en 4.7 principales:
  • La versión de host de Mac OS tiene dependencia de Python
  • Fallo de LTO cuando se instala en el directorio con espacio en el nombre de ruta http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50293
  • Cargar la dirección de las secciones de datos que contienen datos alineados http://sourceware.org/bugzilla/show_bug.cgi?id=15222
  • libnosys no comprueba el desbordamiento de la pila https://answers.launchpad.net/gcc-arm-embedded/+question/218972
  • librdimon.a no coincide con newlib-nano
  • También ajusta la configuración de compilación para habilitarla:
  • Basic Cortex-A profile multilib
  • LTO (Optimización del tiempo de enlace)

Programas parecidos

Intel C++ Compiler
Intel C++ Compiler

20 Feb 15

Shed Skin
Shed Skin

15 Apr 15

Ruby
Ruby

17 Aug 18

Comentarios a la GCC ARM Embedded

Comentarios que no se encuentran
Añadir comentario
A su vez en las imágenes!