GCC ARM Embedded

Software screenshot:
GCC ARM Embedded
Dettagli del software:
Versione: 7-2018-q2 Aggiornato
Data di caricamento: 17 Aug 18
Licenza: Libero
Popolarità: 67

Rating: 2.5/5 (Total Votes: 2)

GCC ARM Embedded è un software open source e liberamente distribuito che contiene una toolchain GNU pre-costruita per processori ARM Cortex-R e Cortex-M. Il progetto mira a portare gli strumenti GNU in ARM Embedded Processors, aiutando gli sviluppatori con varie attività di compilazione.


Supporta tutti i processori ARM Cortex importanti

Il software è stato creato da zero per supportare tutti gli importanti processori Cortex ARM, tra cui Cortex-R4, Cortex-R5, Cortex-R7, Cortex-M3, Cortex-M4, Cortex-M7, Cortex-M0 +, e Cortex-M0.

Essendo gestito dai dipendenti ARM, il software GCC ARM Embedded è parte di un impegno costante per migliorare e mantenere il supporto GCC (GNU Compiler Collection) per l'architettura ARM.


Introduzione a GCC ARM Embedded

Per usare il software GCC ARM Embedded sul tuo computer GNU / Linux, dovresti scaricare il pacchetto binario, che contiene tutti i binari pre-costruiti necessari per iniziare. Salva l'archivio da qualche parte sul tuo computer, preferibilmente la tua directory Home, usa un'utilità di gestione archivio per estrarne il contenuto.

Quindi apri un'app Terminal e vai alla posizione in cui hai estratto il file di archivio (ad esempio cd / home / softoware / gcc-arm-none-eabi-4_9-2014q4). Tutti i file binari si trovano nel & lsquo; bin & rsquo; cartella.


Disponibilità e piattaforme hardware supportate

GCC ARM Embedded è distribuito come archivio binario e sorgente, nonché un repository PPA per le ultime versioni del sistema operativo Ubuntu Linux, supportando entrambe le architetture a 32 e 64 bit. Tieni presente che il software è compatibile anche con i sistemi operativi Mac OS X e Microsoft Windows.

Novità in questa versione:

  • Corretta la regressione delle prestazioni powf / expf / exp2f / logf / log2f
  • Aggiunto il supporto per Arm Cortex-M33 senza DSP via -mcpu = cortex-m33 + nodsp
  • Aggiunti i mapping multilib Armv8-R
  • Correggere i requisiti di compilazione per il supporto GDB tui
  • Abilitato specificatore di formato I / O C99 in newlib
  • Corretto cmse_nonsecure_caller Armv8-M Security Extension intrinsic
  • Correzione del crash in __builtin_arm_set_fpscr GCC integrato
  • L'errore LTO https://bugs.launchpad.net/gcc-arm-embedded/+bug/1747966 è stato corretto nella versione precedente. Nota di rilascio aggiornata per riflettere la modifica.
  • Risolto il problema con la creazione di cmse.c di libgcc senza intestazioni
  • Risolto il problema con la compatibilità con C_cmse.h C99

Novità nella versione 7-2017-q4:

  • Supporto Armv8-R e Cortex-R52 .
  • Correzione per https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69866
  • GDB creato con C + + abilitato per Mac OS X

Novità della versione nella versione 6.2:

  • Caratteristiche:
  • Tutte le funzionalità di GCC 6, oltre alle più recenti funzioni principali:
  • Supporto completo per ARMv8-M che include atomica e estensioni di sicurezza
  • Supporto ARM PURECODE per ARMv7-M e ARMv8-M Linea di base e linea principale
  • Supporto intrinseco del co-processore
  • Supporto per Cortex-M23 e Cortex-M33
  • -mthumb opzionale per i dispositivi Cortex-M
  • Supporto per il retargeting OS delle routine di blocco in newlib
  • Implementazione avanzata di memchr ottimizzata da SIMD in newlib
  • Abilita le opzioni di impostazione per il programma di installazione di Windows sulla riga di comando
  • Cambiamenti importanti nella versione 6 dell'aggiornamento 2:
  • GCC assume erroneamente che Cortex-r [578] abbia un LDRD atomico a 64 bit a copia singola https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80082
  • LDR pseudo-op genera MOVS https://bugs.launchpad.net/gcc-arm-embedded/+bug/1682620
  • Corretti i getter e setter incorporati di FPSCR
  • Le librerie di importazione SG che sono state create come eseguibili ora sono fissate su rilocabili
  • Abilita le opzioni di impostazione per il programma di installazione di Windows sulla riga di comando
  • Supporto PURECODE abilitato per ARMv8-M.Baseline
  • Implementazione avanzata di memchr ottimizzata da SIMD in newlib

Novità della versione nella versione 5.4:

  • Nuove funzionalità:
  • Supporto beta della linea di base e della linea principale ARMv8-M:
  • Supporto atomico di base ARMv8-M
  • Supporto ARM PureCode
  • Impiallacciatura ramificata Thumb-2
  • Bug importanti risolti nella versione 5 di aggiornamento 3:
  • Rimossi i registri speciali MSP_S e PSP_S MRS / MSR
  • Rilevamento della versione Fixed Thumb nella generazione di faccette
  • Corretta la documentazione su newlib-nano in release.txt

Novità in nella versione 5.3:

  • Caratteristiche:
  • Tutte le funzioni di GCC 5, oltre alle più recenti funzioni principali:
  • Supporto per Cortex-R8
  • Ottimizzazione delle prestazioni di Cortex-M7
  • ottimizzazione dei carichi manuali little endian e big endian
  • miglioramento del threading di salto che elimina la necessità di -ftree-switch-shortcut
  • Supporto alfa di base e Mainline ARMv8-M:
  • atomics non incluso per la linea di base ARMv8-M
  • Estensioni di sicurezza ARMv8-M Supporto alfa
  • Ottimizzazioni della libreria Thumb-1:
  • https://gcc.gnu.org/ml/gcc-patches/2015-10/msg01282.html
  • Ottimizzazione CRC:
  • https://gcc.gnu.org/ml/gcc-patches/2015-11/msg02046.html
  • Gestore di terminazione più piccolo per newlib-nano

Novità in nella versione 5.2:

  • Tutte le funzionalità di GCC 5, oltre alle più recenti funzioni principali:
  • Ottimizzazione delle prestazioni di Cortex-M7
  • ottimizzazione dei carichi manuali little endian e big endian
  • miglioramento del threading di salto che elimina la necessità di -ftree-switch-shortcut
  • Supporto alfa di base e Mainline ARMv8-M:
  • atomics non incluso per la linea di base ARMv8-M
  • Le estensioni di sicurezza di ARMv8-M sono supportate solo per il montaggio e il collegamento di base
  • Ottimizzazioni della libreria Thumb-1
  • https://gcc.gnu.org/ml/gcc-patches/2015-10/msg01282.html
  • Ottimizzazione CRC
  • https://gcc.gnu.org/ml/gcc-patches/2015-11/msg02046.html

Novità nella versione 4.9 Aggiornamento 3:

  • Caratteristiche:
  • Tutte le funzioni di GCC 4.9, oltre alle più recenti funzioni principali
  • Supporto per Cortex-M7
  • Piccolo supporto multiplo con opzioni:
  • . -mcpu = cortex-m1.small-moltiplicare
  • . -mcpu = cortex-m0.small-moltiplicare
  • . -mcpu = cortex-m0plus.small-moltiplicare
  • Multiib dedicato per Cortex-M7
  • - cortex-m7
  • - cortex-m7 / fpu / fpv5-d16
  • - cortex-m7 / fpu / fpv5-sp-d16
  • - cortex-m7 / softfp / fpv5-d16
  • - cortex-m7 / softfp / fpv5-sp-d16
  • Definisci le routine aeabi_memcpy e aeabi_memcpy4 in newlib.
  • Definisci le routine aeabi_memmove, aeabi_memset e aeabi_memclr in newlib.
  • Ottimizzazioni della libreria Thumb-1.
  • Ottimizzazioni delle dimensioni del codice aggiuntive.
  • Aggiungi gdb python build (arm-none-eabi-gdb-py).
  • Il file oggetto senza sezione attributi può essere collegato con altri.
  • Le opzioni -mapcs, -mapcs-frame, -mtpcs-frame e -mtpcs-leaf-frame saranno deprecate in gcc 5.0, quindi consiglia di evitarli.
  • Bug importanti risolti nella versione 4.9 di aggiornamento 3:
  • Correzione per la mancata corrispondenza degli specificatori del formato Newlib. https://answers.launchpad.net/gcc-arm-embedded/+question/269083
  • Correzione di mancata corrispondenza delle macro Newlib. https://answers.launchpad.net/gcc-arm-embedded/+question/269177
  • Correzione di bug per la codifica di Assembler. https://sourceware.org/ml/binutils/2015-08/msg00028.html

Novità nella versione 4.9 Aggiornamento 2:

  • Caratteristiche:
  • Tutte le funzioni di GCC 4.9, oltre alle più recenti funzioni principali
  • Supporto per Cortex-M7
  • Piccolo supporto multiplo con opzioni:
  • -mcpu = cortex-m1.small-moltiplicare
  • -mcpu = cortex-m0.small-moltiplicare
  • -mcpu = cortex-m0plus.small-moltiplicare
  • Multiib dedicato per Cortex-M7:
  • cortex-M7
  • cortex-M7 / FPU / fpv5-D16
  • cortex-M7 / FPU / fpv5-sp-D16
  • cortex-M7 / softfp / fpv5-D16
  • cortex-M7 / softfp / fpv5-sp-D16
  • Definisci le routine aeabi_memcpy e aeabi_memcpy4 in newlib.
  • Definisci le routine aeabi_memmove, aeabi_memset e aeabi_memclr in newlib.
  • Ottimizzazioni della libreria Thumb-1.
  • Ottimizzazioni delle dimensioni del codice aggiuntive.
  • Aggiungi gdb python build (arm-none-eabi-gdb-py).
  • Il file oggetto senza sezione attributi può essere collegato con altri.
  • Le opzioni -mapcs, -mapcs-frame, -mtpcs-frame e -mtpcs-leaf-frame saranno deprecate in gcc 5.0, quindi consiglia di evitarli.
  • Bug importanti risolti nella versione 4.9 di aggiornamento 2:
  • Aggiornato alcuni codici di assembly inline in Newlib per lavorare con vecchi target https://www.sourceware.org/ml/newlib/2015/msg00386.html
  • Evita gli sprechi causati dalla promozione della dimensione della sezione https://answers.launchpad.net/gcc-arm-embedded/+question/262160
  • Le variabili del registro locale non funzionano correttamente con gli operandi in linea asm https://bugs.launchpad.net/gcc-arm-embedded/+bug/1411655

Novità nella versione 4.9 Aggiornamento 1:

  • Caratteristiche:
  • Tutte le funzioni di GCC 4.9, oltre alle più recenti funzioni principali
  • - Supporto per Cortex-M7
  • - Piccolo supporto multiplo con opzioni:
  • . -mcpu = cortex-m1.small-moltiplicare
  • . -mcpu = cortex-m0.small-moltiplicare
  • . -mcpu = cortex-m0plus.small-moltiplicare
  • Multiib dedicato per Cortex-M7
  • - cortex-m7
  • - cortex-m7 / fpu / fpv5-d16
  • - cortex-m7 / fpu / fpv5-sp-d16
  • - cortex-m7 / softfp / fpv5-d16
  • - cortex-m7 / softfp / fpv5-sp-d16
  • Definisci le routine aeabi_memcpy e aeabi_memcpy4 in newlib.
  • Definisci le routine aeabi_memmove, aeabi_memset e aeabi_memclr in newlib.
  • Ottimizzazioni della libreria Thumb-1.
  • Ottimizzazioni delle dimensioni del codice aggiuntive.
  • Aggiungi gdb python build (arm-none-eabi-gdb-py).
  • Il file oggetto senza sezione attributi può essere collegato con altri.
  • Le opzioni -mapcs, -mapcs-frame, -mtpcs-frame e -mtpcs-leaf-frame saranno deprecate in gcc 5.0, quindi consiglia di evitarli.
  • Bug importanti risolti nella versione 4.9 di aggiornamento 1:
  • Backport LD per mantenere la sezione di lunghezza zero nel file axf finale
  • Correzione degli arresti anomali di GDB causati dall'eliminazione delle sezioni di debug raggruppate
  • Aggiungi un pattern ins1 Thumb1 per legalizzare l'istruzione che sposta il pc al registro basso
  • Aggiorna GCC per generare Tag_ABI_HardFP_use per l'ultimo EABI doc
  • Il registro alto live non viene salvato nel prologo di funzione con -Os
  • - var-info-path-expression ha esito negativo per le strutture nidificate

Novità nella versione 4.9:

  • Ramo al simbolo definito nello script linker http: // sourceware .org / Bugzilla / show_bug.cgi? id = 15302
  • GDB è aggiornato a 7.6 per supportare meglio lo standard nano-3 e successivo https://answers.launchpad.net/gcc-arm-embedded/+question/234131 https://bugs.launchpad.net/gcc-arm -Embedded / + bug / 1.248.981
  • ICE quando usi registro alto come registro base PIC per target thumb-1

Novità nella versione 4.7 Aggiornamento 3:

  • Blocco durante la compilazione di app in virgola fissa con https LTO : //answers.launchpad.net/gcc-arm-embedded/+question/235582
  • Branch to target specificato da un simbolo script linker https://sourceware.org/bugzilla/show_bug.cgi?id=15302
  • Blocco di gdb ospitato da Windows in alcuni punti di interruzione https://bugs.launchpad.net/gcc-arm-embedded/+bug/1197615
  • Nano riferimento mancante a _mallopt_r https://mbed.org/forum/mbed/topic/2701/?page=3#comment-22549

Novità nella versione 4.7 Aggiornamento 2:

  • Esegui l'upgrade di doc / *. texi all'ultimo pacchetto texinfo https: // answers.launchpad.net/gcc-arm-embedded/+question/227685
  • Correggere ICE con l'opzione -mtune https://answers.launchpad.net/gcc-arm-embedded/+question/227667
  • Correggi l'opzione --debug nello script di costruzione https://answers.launchpad.net/gcc-arm-embedded/+question/229127
  • Correzione non necessaria per il salvataggio nella funzione thumb1 leaf

Novità nella versione 4.7 Aggiornamento 1:

  • Questa versione di aggiornamento risolve un paio di problemi riscontrati 4,7 principali:
  • La versione host di Mac OS ha dipendenza da python
  • Errore LTO se installato in una directory con spazio nel nome del percorso http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50293
  • Carica l'indirizzo delle sezioni di dati contenenti dati allineati http://sourceware.org/bugzilla/show_bug.cgi?id=15222
  • libnosys non controlla l'overflow dello stack https://answers.launchpad.net/gcc-arm-embedded/+question/218972
  • librdimon.a non corrisponde a newlib-nano
  • Viene anche modificata la configurazione della build per abilitare:
  • Basic Cortex-A profile multilib
  • LTO (Link Time Optimization)

Programmi simili

Pyexpander
Pyexpander

20 Feb 15

GNU Smalltalk
GNU Smalltalk

11 May 15

pkg-config
pkg-config

18 Feb 15

Commenti a GCC ARM Embedded

I commenti non trovato
Aggiungi commento
Accendere le immagini!