پشتیبانی از تمامی پردازنده های Cortex Cortex مهم است
این نرم افزار از طرف زمین ساخته شده است تا از تمامی پردازنده های مهم Cortex ARM از جمله Cortex-R4، Cortex-R5، Cortex-R7، Cortex-M3، Cortex-M4، Cortex-M7، Cortex-M0 + و Cortex-M0.
با نگهداری توسط کارکنان ARM، نرم افزار GCC ARM Embedded بخشی از تعهد مداوم برای ارتقاء و پشتیبانی مجموعه GNU Compiler Collection (GCC) برای معماری ARM است.
شروع کار با GCC ARM Embedded
برای استفاده از نرم افزار GCC ARM Embedded در رایانه GNU / Linux شما باید بسته باینری را که شامل تمام باینریهای پیش ساخته شده است که برای شروع باید دانلود کنید دانلود کنید. آرشیو را در جایی از رایانه خود ذخیره کنید، ترجیحا دایرکتوری خانه شما، از ابزار مدیریت آرشیو برای استخراج محتوای آن استفاده کنید.
سپس، یک برنامه ترمینال را باز کنید و به مکان ای که فایل بایگانی را استخراج کرده اید (به عنوان مثال cd / home / softoware / gcc-arm-none-eabi-4_9-2014q4) بروید. تمام باینری ها بر روی & lsquo؛ باین و rsquo؛ پوشه.
در دسترس بودن و پشتیبانی از سیستم عامل های سخت افزاری
چه جدید در این نسخه است:
رفع اشکال ثابت powf / expf / exp2f / logf / log2f
پشتیبانی از Arm Cortex-M33 بدون DSP اضافه شده از طریق -mcpu = cortex-m33 + nodsp
اضافه شدن ارزیابی چندبازی Armv8-R
اصلاح شرایط ساخت برای حمایت از TUI GDB
تنظیم کننده قالب C99 IO در newlib فعال است
ثابت cmse_nonsecure_caller Armv8-M Security Extension داخلی است
تصحیح تصادف در __builtin_arm_set_fpscr builtin GCC
اشکال LTO https://bugs.launchpad.net/gcc-arm-embedded/+bug/1747966 در نسخه قبلی ثابت شد. یادداشت انتشار به روز شده برای نشان دادن تغییر است.
مشکل ثابت با ساخت cmse.c libgcc بدون هدر
مشکل ثابت با compatibility arm_cmse.h C99
چه جدید در نسخه 7-2017-q4 است:
Armv8-R و Cortex-R52 پشتیبانی می کند.
ثابت برای https://gcc.gnu.org/bugzilla/show_bug.cgi؟id=69866
GDB با C ++ برای Mac OS X ساخته شده است
چه جدید در نسخه 6.2 است:
ویژگی ها:
تمام ویژگی های GCC 6، به علاوه ویژگی های اصلی اصلی:
پشتیبانی از ARMv8-M کامل از جمله اتمیک و امنیتی Extensions
ARM PURECODE پشتیبانی از ARMv7-M و ARMv8-M Baseline و Mainline
همپوشش پردازنده درونی را پشتیبانی می کند
Cortex-M23 و Cortex-M33 پشتیبانی می کند
-مثل اختیاری برای دستگاه های Cortex-M
پشتیبانی از بازخوانی OS از برنامه های قفل در newlib
پیشرفته memchr بهینه سازی شده SIMD در newlib
گزینه های تنظیم برای نصب کننده ویندوز را در خط فرمان فعال کنید
تغییرات مهم در 6 نسخه 2 به روز رسانی:
GCC اشتباه تصور می کند که Cortex-r [578] دارای LDRD اتوکد تک تک کپی 64 بیتی است https://gcc.gnu.org/bugzilla/show_bug.cgi؟id=80082
LDR pseudo-op تولید MOVS https://bugs.launchpad.net/gcc-arm-embedded/+bug/1682620
FPSCR ثابت و سازنده setter
کتابخانه های واردات SG که به عنوان اجرایی ایجاد شده اند اکنون به movocatable ثابت می شوند
گزینه های تنظیم برای نصب کننده ویندوز را در خط فرمان فعال کنید
پشتیبانی از PURECODE برای ARMv8-M.Baseline فعال شده است
پیشرفته memchr بهینه سازی شده SIMD در newlib
چه جدید در نسخه 5.4 است:
ویژگی های جدید:
ARMv8-M پشتیبانی از خطوط پایه و خط اصلی:
ARMv8-M پشتیبانی هسته اتمی
پشتیبانی ARM PureCode
انگشت کوچک شاخه بلند Thumb-2
اشکالات مهم ثابت شده در 5 نسخه 3 به روز رسانی:
ثبت های ویژه MSP_S و PSP_S MRS / MSR حذف شده است
تشخیص نسخه ثابت ثابت در نسل روکش
اسناد ثابت در مورد newlib-nano در release.txt
چه جدید در نسخه 5.3 است:
ویژگی ها:
تمام ویژگی های GCC 5، به علاوه ویژگی های اصلی اصلی:
Cortex-R8 پشتیبانی می کند
تنظیم عملکرد Cortex-M7
بهینه سازی دستی اندی اندی اندی و بارهای اندی بزرگ
پرش اصلاح شده بهبود یافته حذف نیاز به shortcut-switch میانبر
ARMv8-M پشتیبانی از خط پایه و خط اصلی:
اتمی برای ARMv8-M Baseline گنجانده نشده است
ARMv8-M Security Extensions پشتیبانی آلفا
بهینه سازی کتابخانه Thumb-1:
https://gcc.gnu.org/ml/gcc-patches/2015-10/msg01282.html
بهینه سازی CRC:
https://gcc.gnu.org/ml/gcc-patches/2015-11/msg02046.html
پردازنده کوچکتر برای newlib-nano خاتمه می یابد
چه جدید در نسخه 5.2 است:
همه ویژگی های GCC 5، به علاوه ویژگی های اصلی اصلی:
تنظیم عملکرد Cortex-M7
بهینه سازی دستی اندی اندی اندی و بارهای اندی بزرگ
پرش اصلاح شده بهبود یافته حذف نیاز به shortcut-switch میانبر
ARMv8-M پشتیبانی از خط پایه و خط اصلی:
اتمی برای ARMv8-M Baseline گنجانده نشده است
Extensions های امنیتی ARMv8-M تنها برای مونتاژ و پیوند اولیه پشتیبانی می شوند
بهینه سازی کتابخانه Thumb-1
https://gcc.gnu.org/ml/gcc-patches/2015-10/msg01282.html
بهینه سازی CRC
https://gcc.gnu.org/ml/gcc-patches/2015-11/msg02046.html
چه جدید در نسخه 4.9 بهروزرسانی شده است:
ویژگی ها:
تمام ویژگی های GCC 4.9، به علاوه ویژگی های اصلی اصلی
پشتیبانی Cortex-M7
پشتیبانی چند ضلعی کوچک با گزینه ها:
. -mcpu = cortex-m1.small-multiply
. -mcpu = cortex-m0.small-multiply
. -mcpu = cortex-m0plus.small-multiply
Multilingual اختصاصی برای 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
دستورات aeabi_memcpy و aeabi_memcpy4 را در newlib تعریف کنید.
تعریف aeabi_memmove، aeabi_memset و aeabi_memclr روال در newlib.
بهینه سازی کتابخانه Thumb-1.
بهینه سازی کد حجم اضافی
اضافه کردن gdb python build (arm-none-eabi-gdb-py).
فایل اجرایی بدون بخش ویژگی می تواند با سایرین مرتبط شود.
گزینه های -mapcs، -mapcs-frame، -mtpcs-frame و -mtpcs-leaf-frame در gcc 5.0 غایب خواهد شد، بنابراین توصیه می شود از آنها اجتناب کنید.
اشکالات مهم ثابت شده در 4.9 به روز رسانی 3 نسخه:
اصلاح ناهماهنگی مشخص کننده فرمت Newlib. https://answers.launchpad.net/gcc-arm-embedded/+question/269083
رفع عدم انسجام ماکل Newlib. https://answers.launchpad.net/gcc-arm-embedded/+question/269177
اسمبلر رفع اشکال کدبندی https://sourceware.org/ml/binutils/2015-08/msg00028.html
چه جدید در نسخه 4.9 بهروزرسانی شده است:
ویژگی ها:
تمام ویژگی های GCC 4.9، به علاوه ویژگی های اصلی اصلی
پشتیبانی Cortex-M7
پشتیبانی چند ضلعی کوچک با گزینه ها:
-mcpu = cortex-m1.small-multiply
-mcpu = cortex-m0.small-multiply
-mcpu = cortex-m0plus.small-multiply
Multilingual اختصاصی برای 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
دستورات aeabi_memcpy و aeabi_memcpy4 را در newlib تعریف کنید.
تعریف aeabi_memmove، aeabi_memset و aeabi_memclr روال در newlib.
بهینه سازی کتابخانه Thumb-1.
بهینه سازی کد حجم اضافی
اضافه کردن gdb python build (arm-none-eabi-gdb-py).
فایل اجرایی بدون بخش ویژگی می تواند با سایرین مرتبط شود.
گزینه های -mapcs، -mapcs-frame، -mtpcs-frame و -mtpcs-leaf-frame در gcc 5.0 غایب خواهد شد، بنابراین توصیه می شود از آنها اجتناب کنید.
اشکالات مهم ثابت شده در 4.9 به روز رسانی 2 نسخه:
به روز رسانی برخی از کد مونتاژ در Newlib برای کار با اهداف قدیمی https://www.sourceware.org/ml/newlib/2015/msg00386.html
اجتناب از تلفات ناشی از ارتقاء اندازه بخش https://answers.launchpad.net/gcc-arm-embedded/+question/262160
متغیرهای ثبت نام محلی به درستی کار نمی کنند با operands inline as. https://bugs.launchpad.net/gcc-arm-embedded/+bug/1411655
چه جدید در نسخه 4.9 بهروزرسانی شده است:
ویژگی ها:
تمام ویژگی های GCC 4.9، به علاوه ویژگی های اصلی اصلی
- Cortex-M7 پشتیبانی
- پشتیبانی چندگانه کوچک با گزینه های:
. -mcpu = cortex-m1.small-multiply
. -mcpu = cortex-m0.small-multiply
. -mcpu = cortex-m0plus.small-multiply
Multilingual اختصاصی برای 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
دستورات aeabi_memcpy و aeabi_memcpy4 را در newlib تعریف کنید.
تعریف aeabi_memmove، aeabi_memset و aeabi_memclr روال در newlib.
بهینه سازی کتابخانه Thumb-1.
بهینه سازی کد حجم اضافی
اضافه کردن gdb python build (arm-none-eabi-gdb-py).
فایل اجرایی بدون بخش ویژگی می تواند با سایرین مرتبط شود.
گزینه های -mapcs، -mapcs-frame، -mtpcs-frame و -mtpcs-leaf-frame در gcc 5.0 غایب خواهد شد، بنابراین توصیه می شود از آنها اجتناب کنید.
اشکالات مهم در 4.9 به روز رسانی 1 نسخه:
LD backport برای حفظ صفر طول بخش در فایل axf نهایی
رفع سقوط GDB ناشی از کنار گذاشتن بخش های اشکالزدایی گروهی
یک الگوی Thumb1 insn اضافه کنید تا دستورالعمل هایی را انجام دهید که کامپیوتر را به ثبت نام پایین می برد
بهروزرسانی GCC برای تولید Tag_ABI_HardFP_use در هر آخرین فایل EABI
ثبت نام بالا در عملکرد prolog با -Os ذخیره نمی شود
--var-info-path-expression برای ساختارهای توزیع ناکام است
چه جدید در نسخه 4.9 است:
شعبه به نماد تعریف شده در اسکریپت لینکر http://sourceware.org/bugzilla/show_bug.cgi؟id=15302
GDB به 7.6 ارتقا یافته است تا بهتر از پشتیبانی از کوتوله 3 و بعد استاندارد https://answers.launchpad.net/gcc-arm-embedded/+question/234131 https://bugs.launchpad.net/gcc-arm-embedded/ + اشکال / 1248981
ICE هنگام استفاده از ثبت نام بالا به عنوان پایه PIC ثبت نام برای هدف 1 انگشت شست
چه جدید در نسخه 4.7 بهروزرسانی شده است:
سقوط در هنگام کامپایل برنامه نقطه ثابت با LTO https://answers.launchpad.net/gcc-arm-embedded/+question / 235582
شعبه به هدف مشخص شده توسط نماد اسکریپت لینکر https://sourceware.org/bugzilla/show_bug.cgi؟id=15302
ویندوز میزبان gdb قطع در برخی از نقطه توقف https://bugs.launchpad.net/gcc-arm-embedded/+bug/1197615
مرجع نابهنگام نان به _mallopt_r https://mbed.org/forum/mbed/topic/2701/؟page=3#comment-22549
توضیحات ارتقا / * texi به آخرین بسته Texinfo موجود https://answers.launchpad.net/gcc-arm-embedded/+ کنید:
در چه در نسخه 4.7 به روز رسانی 2 جدید است سوال / 227685
ICE را با گزینه mtune ثابت کنید https://answers.launchpad.net/gcc-arm-embedded/+question/227667
ثابت - گزینه debug در اسکریپت ساخت https://answers.launchpad.net/gcc-arm-embedded/+question/229127
ثابت کردن غیر ضروری lr در تابع برگ thumb1
چه جدید در این نسخه است 4.7 به روز رسانی 1:
این نسخه به روز رسانی چند موضوع را در 4.7 عمده حل می کند:
نسخه میزبان مکینتاش دارای وابستگی پایتون است
شکست LTO هنگام نصب در دایرکتوری با فضای نام مسیر http://gcc.gnu.org/bugzilla/show_bug.cgi؟id=50293
آدرس بار بخش های داده حاوی داده های هماهنگ شده http://sourceware.org/bugzilla/show_bug.cgi؟id=15222
libnosys کند سرریز پشته https://answers.launchpad.net/gcc-arm-embedded/+question/218972 بررسی نمی
librdimon.a با newlib-nano مطابقت ندارد
همچنین تنظیم پیکربندی ساخت برای تنظیم فعال می شود:
Basic Cortex-A چندین پروفایل
LTO (بهینه سازی لینک زمان)
نظر یافت نشد