GCC ARM Embedded

Screenshot Software:
GCC ARM Embedded
Szczegóły programowe:
Wersja: 7-2018-q2 Aktualizowane
Filmu: 17 Aug 18
Licencja: Wolny
Popularność: 67

Rating: 2.5/5 (Total Votes: 2)

GCC ARM Embedded to oprogramowanie open source i swobodnie dystrybuowane, które zawiera gotowy zestaw narzędzi GNU dla procesorów ARM Cortex-R i Cortex-M. Projekt ma na celu przeniesienie narzędzi GNU do procesorów wbudowanych ARM, pomagając programistom w różnych zadaniach kompilacji.


Obsługuje wszystkie ważne procesory Cortex ARM

Oprogramowanie zostało stworzone od podstaw w celu obsługi wszystkich ważnych procesorów Cortex ARM, w tym Cortex-R4, Cortex-R5, Cortex-R7, Cortex-M3, Cortex-M4, Cortex-M7, Cortex-M0 +, i Cortex-M0.

Będąc utrzymywanym przez pracowników ARM, oprogramowanie GCC ARM Embedded jest częścią stałego zaangażowania w ulepszanie i utrzymywanie wsparcia dla architektury GNU Compiler Collection (GCC) dla architektury ARM.


Pierwsze kroki z GCC ARM Embedded

Aby użyć oprogramowania GCC ARM Embedded na swoim komputerze GNU / Linux, powinieneś pobrać pakiet binarny, który zawiera wszystkie gotowe pliki binarne, które potrzebujesz, aby zacząć. Zapisz archiwum gdzieś na swoim komputerze, najlepiej w katalogu domowym, użyj narzędzia do zarządzania archiwami, aby wyodrębnić jego zawartość.

Następnie otwórz aplikację Terminal i przejdź do lokalizacji, w której wyodrębniono plik archiwum (np. cd / home / softoware / gcc-arm-none-eabi-4_9-2014q4). Wszystkie pliki binarne znajdują się w & binb & rsquo; folder.


Dostępność i obsługiwane platformy sprzętowe

GCC ARM Embedded jest dystrybuowany jako archiwa binarne i źródłowe, a także jako repozytorium PPA dla najnowszych wersji systemu operacyjnego Ubuntu Linux, obsługujących architekturę 32- i 64-bitową. Należy pamiętać, że oprogramowanie jest również zgodne z systemami operacyjnymi Mac OS X i Microsoft Windows.

Co nowego w tej wersji:

  • Naprawiono regresję wydajności powf / expf / exp2f / logf / log2f
  • Dodano obsługę Arm Cortex-M33 bez DSP poprzez -mcpu = cortex-m33 + nodsp
  • Dodano mapowania multilib Armv8-R
  • Napraw wymagania dotyczące budowania dla obsługi GDB Tui
  • Włączono specyfikator formatu C99 IO w newlib
  • Naprawiono nieodłączne wewnętrzne rozszerzenie cmse_nonsecure_caller Armv8-M
  • Napraw awarię w __builtin_arm_set_fpscr wbudowanym GCC
  • Błąd LTO https://bugs.launchpad.net/gcc-arm-embedded/+bug/1747966 został naprawiony w poprzednim wydaniu. Nota o wydaniu zaktualizowana, aby odzwierciedlić zmianę.
  • Naprawiono problem z budowaniem pliku cmse.c libgcc bez nagłówków
  • Naprawiono problem z kompatybilnością arm_cmse.h C99

Co nowego w wersji 7-2017-q4:

  • Wsparcie dla Armv8-R i Cortex-R52 .
  • Napraw dla https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69866
  • GDB zbudowany z włączonym C ++ dla Mac OS X

Co nowego w wersji 6.2:

  • Funkcje:
  • Wszystkie funkcje GCC 6 oraz najnowsze funkcje główne:
  • Pełna obsługa ARMv8-M, włącznie z atomami i rozszerzeniami bezpieczeństwa
  • Obsługa PEMA STRUKTURY ARM dla linii bazowej ARMv7-M i ARMv8-M oraz linii głównej
  • Obsługa wewnętrznego wsparcia dla procesorów
  • Obsługa Cortex-M23 i Cortex-M33
  • -muszenie opcjonalne dla urządzeń Cortex-M
  • Obsługa ponownego kierowania OS na procedury blokowania w newlib
  • Zaawansowana implementacja memchr zoptymalizowana pod kątem SIMD w newlib
  • Włącz opcje ustawień instalatora Windows w wierszu poleceń
  • Ważne zmiany w 6 wydaniu aktualizacji 2:
  • GCC niepoprawnie przyjmuje, że Cortex-r [578] ma 64-bitową, jednokopiową, atomową LDRD https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80082
  • Pseudo-op LDR generuje MOVS https://bugs.launchpad.net/gcc-arm-embedded/+bug/1682620
  • Naprawiono wbudowane obiekty pobierające i ustawiające FPSCR
  • Biblioteki importu SG, które zostały utworzone jako pliki wykonywalne, teraz są przystosowane do relokacji
  • Włącz opcje ustawień instalatora Windows w wierszu poleceń
  • Obsługa PURECODE włączona dla ARMv8-M.Baseline
  • Zaawansowana implementacja memchr zoptymalizowana pod kątem SIMD w newlib

Co nowego w wersji 5.4:

  • Nowe funkcje:
  • ARMv8-M Podstawowa i podstawowa obsługa wersji beta:
  • ARMv8-M Podstawowa obsługa atomów
  • Obsługa ARM PureCode
  • Kciuki-2 długie okleiny oddziału
  • Ważne błędy naprawione w 5 aktualizacji 3 wydania:
  • Usunięto specjalne rejestry MSP_S i PSP_S MRS / MSR
  • Naprawiono wykrywanie wersji kciuka w generowaniu fornirów
  • Naprawiono dokumentację dotyczącą newlib-nano w release.txt

Co nowego w wersji 5.3:

  • Funkcje:
  • Wszystkie funkcje GCC 5 oraz najnowsze funkcje główne:
  • Obsługa Cortex-R8
  • Korekta wydajności Cortex-M7
  • Zoptymalizowanie ręcznych małych ładunków endianów i dużych obciążeń endian
  • poprawiono przeskakiwanie wątków, eliminując konieczność stosowania "szybkiego przełączania"
  • ARMv8-M Obsługa linii bazowej i Mainline alpha:
  • nie uwzględniono atomów dla linii bazowej ARMv8-M
  • ARMv8-M Rozszerzenia zabezpieczeń, wsparcie Alpha
  • Optymalizacje biblioteki Thumb-1:
  • https://gcc.gnu.org/ml/gcc-patches/2015-10/msg01282.html
  • Optymalizacja CRC:
  • https://gcc.gnu.org/ml/gcc-patches/2015-11/msg02046.html
  • Mniejsza procedura obsługi newlib-nano

Co nowego w wersji 5.2:

  • Wszystkie funkcje GCC 5 oraz najnowsze funkcje główne:
  • Korekta wydajności Cortex-M7
  • Zoptymalizowanie ręcznych małych ładunków endianów i dużych obciążeń endian
  • poprawiono przeskakiwanie wątków, eliminując konieczność stosowania "szybkiego przełączania"
  • ARMv8-M Obsługa linii bazowej i Mainline alpha:
  • nie uwzględniono atomów dla linii bazowej ARMv8-M
  • Rozszerzenia zabezpieczeń ARMv8-M są obsługiwane tylko w przypadku montażu i podstawowego łączenia
  • Optymalizacje biblioteki Thumb-1
  • https://gcc.gnu.org/ml/gcc-patches/2015-10/msg01282.html
  • Optymalizacja CRC
  • https://gcc.gnu.org/ml/gcc-patches/2015-11/msg02046.html

Co nowego w wersji 4.9 Aktualizacja 3:

  • Funkcje:
  • Wszystkie funkcje GCC 4.9 oraz najnowsze funkcje główne
  • Obsługa Cortex-M7
  • Mała pomoc wielokrotna z opcjami:
  • . -mcpu = cortex-m1.small-multiply
  • . -mcpu = cortex-m0.small-multiply
  • . -mcpu = cortex-m0plus.small-multiply
  • Dedykowane multilib dla 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
  • Zdefiniuj procedury aeabi_memcpy i aeabi_memcpy4 w newlib.
  • Zdefiniuj procedury aeabi_memmove, aeabi_memset i aeabi_memclr w newlib.
  • Optymalizacje biblioteki Thumb-1.
  • Dodatkowe optymalizacje rozmiaru kodu.
  • Dodaj gdb python build (arm-none-eabi-gdb-py).
  • Plik obiektu bez sekcji atrybutów można połączyć z innymi.
  • Opcje -mapcs, -mapcs-frame, -mtpcs-frame i -mtpcs-leaf-frame będą uznawane za przestarzałe w gcc 5.0, dlatego zalecamy ich unikać.
  • Ważne błędy zostały naprawione w wersji 4.9 aktualizacji 3:
  • Naprawiono niezgodność specyfikatora formatu Newlib. https://answers.launchpad.net/gcc-arm-embedded/+question/269083
  • Naprawiono niezgodność makr Newlib. https://answers.launchpad.net/gcc-arm-embedded/+question/269177
  • Poprawka błędu kodowania asemblera. https://sourceware.org/ml/binutils/2015-08/msg00028.html

Co nowego w wersji 4.9 Aktualizacja 2:

  • Funkcje:
  • Wszystkie funkcje GCC 4.9 oraz najnowsze funkcje główne
  • Obsługa Cortex-M7
  • Mała pomoc wielokrotna z opcjami:
  • -mcpu = cortex-m1.small-multiply
  • -mcpu = cortex-m0.small-multiply
  • -mcpu = cortex-m0plus.small-multiply
  • Dedykowane narzędzie multilib dla 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
  • Zdefiniuj procedury aeabi_memcpy i aeabi_memcpy4 w newlib.
  • Zdefiniuj procedury aeabi_memmove, aeabi_memset i aeabi_memclr w newlib.
  • Optymalizacje biblioteki Thumb-1.
  • Dodatkowe optymalizacje rozmiaru kodu.
  • Dodaj gdb python build (arm-none-eabi-gdb-py).
  • Plik obiektu bez sekcji atrybutów można połączyć z innymi.
  • Opcje -mapcs, -mapcs-frame, -mtpcs-frame i -mtpcs-leaf-frame będą uznawane za przestarzałe w gcc 5.0, dlatego zalecamy ich unikać.
  • Ważne błędy zostały naprawione w aktualizacji 4.9 aktualizacji 2:
  • Zaktualizowano jakiś wbudowany kod zespołu w Newlib, aby działał ze starymi obiektami docelowymi https://www.sourceware.org/ml/newlib/2015/msg00386.html
  • Unikaj strat spowodowanych promocją rozmiaru sekcji https://answers.launchpad.net/gcc-arm-embedded/+question/262160
  • Lokalne zmienne rejestrów nie działają poprawnie z wbudowanymi operacjami asm https://bugs.launchpad.net/gcc-arm-embedded/+bug/1411655

Co nowego w wersji 4.9 Aktualizacja 1:

  • Funkcje:
  • Wszystkie funkcje GCC 4.9 oraz najnowsze funkcje główne
  • - Obsługa Cortex-M7
  • - Mała wielokrotna obsługa z opcjami:
  • . -mcpu = cortex-m1.small-multiply
  • . -mcpu = cortex-m0.small-multiply
  • . -mcpu = cortex-m0plus.small-multiply
  • Dedykowane multilib dla 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
  • Zdefiniuj procedury aeabi_memcpy i aeabi_memcpy4 w newlib.
  • Zdefiniuj procedury aeabi_memmove, aeabi_memset i aeabi_memclr w newlib.
  • Optymalizacje biblioteki Thumb-1.
  • Dodatkowe optymalizacje rozmiaru kodu.
  • Dodaj gdb python build (arm-none-eabi-gdb-py).
  • Plik obiektu bez sekcji atrybutów można połączyć z innymi.
  • Opcje -mapcs, -mapcs-frame, -mtpcs-frame i -mtpcs-leaf-frame będą uznawane za przestarzałe w gcc 5.0, dlatego zalecamy ich unikać.
  • Ważne błędy zostały naprawione w wersji 4.9 aktualizacji 1:
  • LD backport, aby zachować sekcję o zerowej długości w ostatecznym pliku axf
  • Napraw awarię GDB spowodowaną odrzuceniem zgrupowanych sekcji debugowania
  • Dodaj wzór kata 1, aby zalegalizować instrukcję, która przenosi komputer do niskiego rejestru
  • Zaktualizuj GCC, aby wygenerować Tag_ABI_HardFP_use na najnowszym dokumencie EABI
  • Wysoki wysoki rejestr nie został zapisany w funkcji prolog za pomocą -Os
  • - var-info-path-expression nie działa w przypadku zagnieżdżonych struktur

Co nowego w wersji 4.9:

  • Oddział do symbolu zdefiniowany w skrypcie linkera http: // źródło .org / bugzilla / show_bug.cgi? id = 15302
  • GDB został zaktualizowany do wersji 7.6, aby lepiej obsługiwać karły-3 i nowsze standardowe https://answers.launchpad.net/gcc-arm-embedded/+question/234131 https://bugs.launchpad.net/gcc-arm -embedded / + bug / 1248981
  • ICE przy używaniu wysokiego rejestru jako rejestr bazowy PIC dla celu kciuka-1

Co nowego w wersji 4.7 Aktualizacja 3:

  • Awaria podczas kompilacji aplikacji o ustalonym punkcie z https LTO : //answers.launchpad.net/gcc-arm-embedded/+question/235582
  • Oddział do miejsca docelowego określony przez symbol skryptu linkera https://sourceware.org/bugzilla/show_bug.cgi?id=15302
  • Hostowany przez system Windows gdb zawiesza się w jakimś punkcie przerwania https://bugs.launchpad.net/gcc-arm-embedded/+bug/1197615
  • Nano brakujące odwołanie do _mallopt_r https://mbed.org/forum/mbed/topic/2701/?page=3#comment-22549

Co nowego w wersji 4.7 Aktualizacja 2:

  • Aktualizuj dokument / *. texi do najnowszego pakietu texinfo https: // answer.launchpad.net/gcc-arm-embedded/+question/227685
  • Napraw ICE z opcją -mtune https://answers.launchpad.net/gcc-arm-embedded/+question/227667
  • Napraw opcję --debug w skrypcie kompilacji https://answers.launchpad.net/gcc-arm-embedded/+question/229127
  • Napraw niepotrzebne zapisywanie lr w funkcji kciuka 1 liścia

Co nowego w wersji 4.7 Aktualizacja 1:

  • Ta wersja aktualizacji rozwiązuje kilka problemów znalezionych w 4,7 główne:
  • Wersja hosta systemu Mac OS ma zależność od Pythona
  • Błąd LTO po zainstalowaniu w katalogu z miejscem w ścieżce o nazwie http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50293
  • Załaduj adres sekcji danych zawierających wyrównane dane http://sourceware.org/bugzilla/show_bug.cgi?id=15222
  • libnosys nie sprawdza przepełnienia stosu https://answers.launchpad.net/gcc-arm-embedded/+question/218972
  • librdimon.a nie pasuje do newlib-nano
  • Otrzymuje również konfigurację kompilacji dostosowaną, aby umożliwić:
  • Podstawowy profil Cortex-A multilib
  • LTO (Optymalizacja czasu połączenia)

Podobne oprogramowanie

Cython
Cython

27 Sep 15

CeGCC
CeGCC

3 Jun 15

JRuby
JRuby

17 Feb 15

BareBones
BareBones

3 Jun 15

Komentarze do GCC ARM Embedded

Komentarze nie znaleziono
Dodaj komentarz
Włącz zdjęć!