Az GCC ARM Embedded egy nyílt forráskódú és szabadon elosztott szoftver, amely tartalmaz egy előre elkészített GNU eszköztárat az ARM Cortex-R és Cortex-M processzorokhoz. A projekt célja, hogy a GNU eszközöket beillesztett ARM beágyazott processzorokká tegye, amelyek segítenek a különböző összeállítási feladatokat ellátó fejlesztőknek.
Támogatja az összes fontos Cortex ARM processzort
A szoftvert az alapokból hozták létre, hogy támogassa az összes fontos Cortex ARM processzort, beleértve a Cortex-R4, Cortex-R5, Cortex-R7, Cortex-M3, Cortex-M4, Cortex-M7, Cortex- és Cortex-M0.
Az ARM alkalmazottai által fenntartott GCC ARM Embedded szoftver része annak a folyamatos elkötelezettségnek, hogy javítsa és fenntartsa a GNU Compiler Collection (GCC) támogatást az ARM architektúrához.
A GCC ARM Embedded használatának megkezdése
Ahhoz, hogy a GCC ARM Embedded szoftvert a GNU / Linux számítógépére használhassa, töltse le a bináris csomagot, amely tartalmazza az összes előre elkészített bináris fájlt, amelyet el kell indítania. Mentse az archívumot valahol a számítógépére, lehetőleg a saját könyvtárába, és használja archiválási segédprogramot a tartalmának kibontásához.
Ezután nyissa meg a Terminálalkalmazást, és keresse meg az archív fájl (például cd / home / softoware / gcc-arm-none-eabi-4_9-2014q4) kivonásának helyét. Minden bináris fájl a & lsquo; bin & rsquo; mappában.
Az elérhetőség és a támogatott hardverplatformok
Az Embedded GCC ARM Embedded bináris és forrás archívumként kerül forgalomba, valamint egy PPA tároló az Ubuntu Linux operációs rendszer legfrissebb kiadásaira, mind a 32, mind a 64 bites architektúrák támogatására. Kérjük, vegye figyelembe, hogy a szoftver kompatibilis a Mac OS X és Microsoft Windows operációs rendszerekkel is.
Újdonság ebben a kiadásban:
- Fix powf / expf / exp2f / logf / log2f teljesítmény regresszió
- Hozzáadta az Arm Cortex-M33-nak a DSP nélküli támogatását -mcpu = cortex-m33 + nodsp
- Hozzáadta az Armv8-R multilib mappákat
- A GDB tui támogatásának javítása szükséges
- Engedélyezte a C99 IO formátum specifikátort a newlib-ben
- Fix cmse_nonsecure_caller Armv8-M Security Extension belsõ
- Fix összeomlás __builtin_arm_set_fpscr GCC beépített
- Az LTO-hiba https://bugs.launchpad.net/gcc-arm-embedded/+bug/1747966 rögzült korábbi verzióban. A frissítés a frissítéssel módosul.
- Fix probléma a libgcc cmse.c fejléc nélküli fejlécével
- Fix probléma az arm_cmse.h C99 kompatibilitással
- Armv8-R és Cortex-R52 támogatás
- Javítás https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69866
- A Mac OS X esetén engedélyezett C + + -es GDB
Újdonság a 7-2017-q4 verzióban .
Újdonság a 6.2-es verzióban:
- Jellemzők:
- Az összes GCC 6 funkció és a legfrissebb mainline funkciók:
- Teljes ARMv8-M támogatás, beleértve az atomokat és a biztonsági bővítményeket
- ARM PURECODE támogatás ARMv7-M és ARMv8-M alapvonalhoz és fővonalhoz
- Co-processzor intrinsics támogatása
- -mxt választható a Cortex-M eszközökhöz
- A zárolási rutinok OS-retargetelésének támogatása a newlib-ben
- Speciális SIMD-optimalizált memchr-implementáció a newlib-ben
- A Windows telepítő beállítási lehetőségeinek engedélyezése a parancssorban
- Fontos változások a 6 frissítés 2-es verziójában:
- A GCC hibásan feltételezi, hogy a Cortex-r [578] 64 bites egylövetű atomi LDRD-je van https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80082
- Az LDR pszeudo-op MOVS-et generál https://bugs.launchpad.net/gcc-arm-embedded/+bug/1682620
- Javítva FPSCR getter és setter beépített
- Az SG import könyvtárak, amelyek végrehajthatóak lettek, most már áthelyezhetőek
- A Windows telepítő beállítási lehetőségeinek engedélyezése a parancssorban
- PURECODE támogatás az ARMv8-M.Baseline használatához
- Speciális SIMD-optimalizált memchr-implementáció a newlib-ben
Cortex-M23 és Cortex-M33 támogatás
Az újdonság az 5.4-es verzióban:
- Új funkciók:
- ARMv8-M Baseline és Mainline béta támogatás:
- Az ARMv8-M kiindulási atommagok támogatják
- ARM PureCode támogatás
- Hüvelykes hosszú szárú furnér
- Az 5 frissítés 3-as verziójában rögzített fontos hibák:
- Eltávolította az MSP_S és a PSP_S MRS / MSR speciális regisztereket
- Fix hüvelykujj-felismerés furnér generációban
- Fiatal dokumentáció a newlib-nano-ról a release.txt-ben
- Jellemzők:
- Az összes GCC 5 funkció, valamint a legújabb mainline funkciók:
- Cortex-R8 támogatás
- Cortex-M7 teljesítmény-hangolás
- manuális kis endian és nagy endian terhelés optimalizálása
- javított ugrás-menetvágás, amely eltávolítja a "tiszta kapcsoló" parancsikonját
- ARMv8-M alapvonal és fővonal alfa támogatás:
- atomok nem szerepelnek az ARMv8-M alapvonalhoz
- ARMv8-M biztonsági bővítmények Alpha támogatás
- Thumb-1 könyvtári optimalizálás:
- https://gcc.gnu.org/ml/gcc-patches/2015-10/msg01282.html
- CRC-optimalizálás:
- https://gcc.gnu.org/ml/gcc-patches/2015-11/msg02046.html
- A newlib-nano kisebb végfelhasználói kezelője
Az újdonság
Újdonság az 5.2-es verzióban:
- Az összes GCC 5 szolgáltatás, valamint a legújabb mainline funkciók:
- Cortex-M7 teljesítmény-hangolás
- manuális kis endian és nagy endian terhelés optimalizálása
- javított ugrás-menetvágás, amely eltávolítja a "tiszta kapcsoló" parancsikonját
- ARMv8-M alapvonal és fővonal alfa támogatás:
- atomok nem szerepelnek az ARMv8-M alapvonalhoz
- Az ARMv8-M biztonsági bővítmények csak a telepítéshez és az alapvető összekapcsoláshoz támogatottak
- Thumb-1 könyvtároptimalizálás
- https://gcc.gnu.org/ml/gcc-patches/2015-10/msg01282.html
- CRC-optimalizálás
- https://gcc.gnu.org/ml/gcc-patches/2015-11/msg02046.html
Újdonság a 4.9-es verzió 3. frissítésében:
- Jellemzők:
- Az összes GCC 4.9 funkció, valamint a legújabb fővonali funkciók
- Cortex-M7 támogatás
- Kis többszörös támogatás a következő lehetőségekkel:
- . -mcpu = Cortex-m1.small-többszörösen
- . -mcpu = Cortex-m0.small-többszörösen
- . -mcpu = Cortex-m0plus.small-többszörösen
- dedikált multilib a Cortex-M7-hez
- - cortex-m7
- - cortex-m7 / fpu / fpv5-d16
- - cortex-m7 / fpu / fpv5-sp-d16
- - cortex-m7 / softfp / fpv5-d16
- - cortex-m7 / softfp / fpv5-sp-d16
- Határozza meg az aeabi_memcpy és az aeabi_memcpy4 rutinokat a newlib-ben.
- Határozza meg aeabi_memmove, aeabi_memset és aeabi_memclr rutinokat a newlib-ben.
- Thumb-1 könyvtári optimalizálás.
- További kódméret-optimalizálás.
- A gdb python build hozzáadása (arm-none-eabi-gdb-py).
- Az attribútum nélküli objektumfájl bármely máshoz kapcsolható.
- A -mapcs, -mapcs-frame, -mtpcs-frame és -mtpcs-leaf-frame beállítások elavulnak a gcc 5.0-ban, ezért javasoljuk, hogy elkerüljék ezeket.
- A 4.9 frissítés 3-as verziójában rögzített fontos hibák:
- Newlib formátum-specifikáló hiba javítás. https://answers.launchpad.net/gcc-arm-embedded/+question/269083
- Newlib makró eltérés fix. https://answers.launchpad.net/gcc-arm-embedded/+question/269177
- Összeszerelő hibajavító kódolását. https://sourceware.org/ml/binutils/2015-08/msg00028.html
Újdonság a 4.9-es verzió 2. frissítésében:
- Jellemzők:
- Az összes GCC 4.9 funkció, valamint a legújabb fővonali funkciók
- Cortex-M7 támogatás
- Kis többszörös támogatás a következő lehetőségekkel:
- -mcpu = cortex-m1.small-többszörösen
- -mcpu = cortex-m0.small-többszörösen
- -mcpu = cortex-m0plus.small-többszörösen
- A Cortex-M7 dedikált multilibje:
- cortex-M7
- Cortex-M7 / FPU / fpv5-D16
- Cortex-M7 / FPU / fpv5-SP-D16
- Cortex-M7 / softfp / fpv5-D16
- Cortex-M7 / softfp / fpv5-SP-D16
- Határozza meg az aeabi_memcpy és az aeabi_memcpy4 rutinokat a newlib-ben.
- Határozza meg aeabi_memmove, aeabi_memset és aeabi_memclr rutinokat a newlib-ben.
- Thumb-1 könyvtári optimalizálás.
- További kódméret-optimalizálás.
- A gdb python build hozzáadása (arm-none-eabi-gdb-py).
- Az attribútum nélküli objektumfájl bármely máshoz kapcsolható.
- A -mapcs, -mapcs-frame, -mtpcs-frame és -mtpcs-leaf-frame beállítások elavulnak a gcc 5.0-ban, ezért javasoljuk, hogy elkerüljék ezeket.
- A 4.9 frissítés 2-es verziójában rögzített fontos hibák:
- Frissített néhány inline assembly kódot a Newlib-ben a régi célok eléréséhez https://www.sourceware.org/ml/newlib/2015/msg00386.html
- Kerülje el a szegmensméret promóció által okozott veszteségeket https://answers.launchpad.net/gcc-arm-embedded/+question/262160
- A helyi regiszterváltozók nem működnek megfelelően az inline asm operandusokkal https://bugs.launchpad.net/gcc-arm-embedded/+bug/1411655
Újdonság a 4.9-es verzióban 1. frissítés:
- Jellemzők:
- Az összes GCC 4.9 funkció, valamint a legújabb fővonali funkciók
- - Cortex-M7 támogatás
- - Kis többszörös támogatás a következő lehetőségekkel:
- . -mcpu = Cortex-m1.small-többszörösen
- . -mcpu = Cortex-m0.small-többszörösen
- . -mcpu = Cortex-m0plus.small-többszörösen
- dedikált multilib a Cortex-M7-hez
- - cortex-m7
- - cortex-m7 / fpu / fpv5-d16
- - cortex-m7 / fpu / fpv5-sp-d16
- - cortex-m7 / softfp / fpv5-d16
- - cortex-m7 / softfp / fpv5-sp-d16
- Határozza meg az aeabi_memcpy és az aeabi_memcpy4 rutinokat a newlib-ben.
- Határozza meg aeabi_memmove, aeabi_memset és aeabi_memclr rutinokat a newlib-ben.
- Thumb-1 könyvtári optimalizálás.
- További kódméret-optimalizálás.
- A gdb python build hozzáadása (arm-none-eabi-gdb-py).
- Az attribútum nélküli objektumfájl bármely máshoz kapcsolható.
- A -mapcs, -mapcs-frame, -mtpcs-frame és -mtpcs-leaf-frame beállítások elavulnak a gcc 5.0-ban, ezért javasoljuk, hogy elkerüljék ezeket.
- Fontos hibák javítása a 4.9-es frissítés 1-es verziójában:
- LD backport a zéró hosszúságú szakasz véglegesítéséhez a végleges axf fájlban
- A GDB összeomlása a csoportos hibakeresési szakaszok eldobásának okozta li> miatt
- Adjon hozzá Thumb1 insn mintát, hogy legalizálhassa a számítógépet az alacsony regisztert áthelyező utasításra
- Frissítse az GCC-t, hogy generáljon Tag_ABI_HardFP_use-t a legfrissebb EABI doc-enként
- Az élő nagy regiszter nem mentve a funkció prologjába a -Os paranccsal
- - a var-info-path-expression nem sikerült a beágyazott objektumoknál
Az újdonság a 4.9-es verzióban:
- .org / bugzilla / show_bug.cgi? id = 15302
- A GDB frissítésre kerül a 7.6-es verzióra, hogy jobban támogassa a törpe-3-as és a későbbi standardot. https://answers.launchpad.net/gcc-arm-embedded/+question/234131 https://bugs.launchpad.net/gcc-arm -embedded / + hiba / 1248981
- ICE, amikor a felhasználás magasan regisztrál PIC alapregiszternek a thumb-1 cél
Az újdonság a 4.7-es verzióban 3. frissítés:
- : //answers.launchpad.net/gcc-arm-embedded/+question/235582
- A linket szkriptszimbólum által meghatározott célszegmens https://sourceware.org/bugzilla/show_bug.cgi?id=15302
- A Windows házigazdája a gdb hangja bizonyos megszakítási pontokon https://bugs.launchpad.net/gcc-arm-embedded/+bug/1197615
- Nano hiányzó hivatkozás _mallopt_r https://mbed.org/forum/mbed/topic/2701/?page=3#comment-22549
Újdonság a 4.7-es verzióban 2. frissítés:
- Frissítés doc / *. texi frissítésre a legújabb texinfo csomaghoz https: // answers.launchpad.net/gcc-arm-embedded/+question/227685
- Fix ICE -mtune opció https://answers.launchpad.net/gcc-arm-embedded/+question/227667
- Fix --debug beállítás a beépítési szkriptben https://answers.launchpad.net/gcc-arm-embedded/+question/229127
- A szükségtelen lr mentés a thumb1 leaf funkcióban
Újdonság a 4.7-es verzióban 1. frissítés:
- 4.7 major:
- A Mac OS gazdagépének python függősége van
- LTO-hiba, ha könyvtárban van telepítve, hely elérési útban http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50293
- Az igazított adatokat tartalmazó adatszakasz címének betöltése http://sourceware.org/bugzilla/show_bug.cgi?id=15222
- A libnosys nem ellenőrzi a verem túlcsordulását https://answers.launchpad.net/gcc-arm-embedded/+question/218972
- A librdimon.a nem egyezik a newlib-nano-val
- A beépített konfigurációt is beállítja, hogy engedélyezze:
- Basic Cortex-A profil többszínű
- LTO (Link Time Optimization)
Hozzászólás nem található