GCC ARM Embedded เป็นซอฟต์แวร์แบบโอเพ่นซอร์สและแจกจ่ายฟรีที่มีชุดเครื่องมือ GNU ที่สร้างไว้ล่วงหน้าสำหรับโปรเซสเซอร์ ARM Cortex-R และ Cortex-M โครงการนี้มีจุดมุ่งหมายเพื่อนำเครื่องมือ GNU ไปใช้ ARM Embedded Processor ช่วยพัฒนาโปรแกรมรวบรวมข้อมูลต่างๆ
สนับสนุนโปรเซสเซอร์ Cortex ARM ที่สำคัญทั้งหมด
ซอฟท์แวร์นี้ถูกสร้างขึ้นมาเพื่อสนับสนุนโปรเซสเซอร์ 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 ของคุณคุณควรดาวน์โหลดแพคเกจไบนารีซึ่งประกอบด้วยแอนตี้ไวรัสที่สร้างไว้ล่วงหน้าทั้งหมดที่คุณต้องเริ่มต้น เก็บที่เก็บถาวรไว้ที่ไหนสักแห่งในคอมพิวเตอร์ของคุณโดยเฉพาะอย่างยิ่งในไดเรกทอรีบ้านของคุณใช้ยูทิลิตี Manage Manager เพื่อแยกเนื้อหาออก
จากนั้นเปิดแอป Terminal และไปที่ตำแหน่งที่คุณได้ขยายไฟล์เก็บถาวร (เช่น cd / home / softoware / gcc-arm-none-eabi-4_9-2014q4) ไบนารีทั้งหมดอยู่ใน & lsquo; bin & rsquo; โฟลเดอร์.
ความพร้อมใช้งานและรองรับแพลตฟอร์มฮาร์ดแวร์
GCC ARM Embedded มีการแจกจ่ายเป็นไฟล์ไบนารีและซอร์สโค้ดรวมถึงพื้นที่เก็บข้อมูล PPA สำหรับระบบปฏิบัติการ Ubuntu Linux ล่าสุดที่สนับสนุนทั้งสถาปัตยกรรม 32 และ 64 บิต โปรดทราบว่าซอฟต์แวร์นี้สามารถทำงานร่วมกับระบบปฏิบัติการ Mac OS X และ Microsoft Windows
มีอะไรใหม่ ในรุ่นนี้:
- แก้ไขการถดถอยประสิทธิภาพของ powf / expf / exp2f / logf / log2f
- เพิ่มการสนับสนุน Arm Cortex-M33 โดยไม่มี DSP ผ่านทาง -mcpu = cortex-m33 + nodsp
- เพิ่มการแมป multilib ของ Armv8-R
- แก้ไขข้อกำหนดการสร้างสำหรับการสนับสนุน GDB tui
- เปิดใช้งานตัวระบุรูปแบบ C99 IO ใน newlib
- แก้ไข cmse_nonsecure_caller Armv8-M ส่วนขยายความปลอดภัยที่แท้จริงภายใน
- แก้ไขข้อขัดข้องใน __builtin_arm_set_fpscr ตัวสร้าง GCC
- ข้อบกพร่องของ LTO https://bugs.launchpad.net/gcc-arm-embedded/+bug/1747966 ได้รับการแก้ไขแล้วในเวอร์ชันก่อนหน้านี้ อัปเดตบันทึกย่อเพื่อให้สอดคล้องกับการเปลี่ยนแปลง
- แก้ไขปัญหาในการสร้าง cmse.c ของ libgcc โดยไม่มีส่วนหัว
- แก้ไขปัญหาเกี่ยวกับความเข้ากันได้ของ C99 z arm_cmse.h
- การสนับสนุน Armv8-R และ Cortex-R52 .
- แก้ไขปัญหาสำหรับ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69866
- GDB สร้างขึ้นด้วย C + + ที่เปิดใช้งานสำหรับ Mac OS X
- คุณสมบัติ:
- คุณลักษณะ GCC 6 ทั้งหมดรวมถึงคุณลักษณะหลักล่าสุด:
- การสนับสนุน ARMv8-M แบบเต็มรูปแบบรวมทั้งอะตอมและส่วนขยายความปลอดภัย
- ARM PURECODE สนับสนุน ARMv7-M และ ARMv8-M Baseline และ Mainline
- การสนับสนุนด้านอินเทอรินภายในของผู้ร่วมสนับสนุน
- สนับสนุน Cortex-M23 และ Cortex-M33
- ตัวเลือกขนาดใหญ่สำหรับอุปกรณ์ Cortex-M
- การสนับสนุนการกำหนดเป้าหมายใหม่ของระบบปฏิบัติการสำหรับขั้นตอนการล็อกใน newlib
- การใช้งาน memchr เพิ่มประสิทธิภาพของ SIMD ขั้นสูงใน newlib
- เปิดใช้งานตัวเลือกการตั้งค่าสำหรับโปรแกรมติดตั้ง Windows ในบรรทัดคำสั่ง
- การเปลี่ยนแปลงที่สำคัญในการอัปเดต 6 ฉบับ 2:
- GCC ไม่ถูกต้องถือว่า Cortex-r [578] มีแบบอะตอม LDRD 64 บิตแบบ single-copy https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80082
- LDR pseudo-op สร้าง MOVS https://bugs.launchpad.net/gcc-arm-embedded/bug/1682620
- แก้ไข FPSCR getter และ setter builtins
- ห้องสมุดนำเข้า SG ที่สร้างขึ้นเป็นไฟล์ปฏิบัติการได้ในขณะนี้เพื่อย้าย relocatable
- เปิดใช้งานตัวเลือกการตั้งค่าสำหรับโปรแกรมติดตั้ง Windows ในบรรทัดคำสั่ง
- สนับสนุน PURECODE ที่เปิดใช้งานสำหรับ ARMv8-M.Baseline
- การใช้งาน memchr เพิ่มประสิทธิภาพของ SIMD ขั้นสูงใน newlib
- คุณลักษณะใหม่:
- การสนับสนุน ARMv8-M Baseline และ Mainline beta:
- การสนับสนุนอะลูมิเนียมพื้นฐาน ARMv8-M
- สนับสนุน ARM PureCode
- แผ่นไม้อัดขนาดยาว 2 ก้าน
- ข้อผิดพลาดที่สำคัญได้รับการแก้ไขในการอัปเดต 5 ฉบับการปรับปรุง 3:
- ลบการลงทะเบียนพิเศษ MSP_S และ PSPSS MRS / MSR
- ตรวจหารุ่น Thumb ที่ถาวรในการสร้างวีเนียร์
- แก้ไขเอกสารเกี่ยวกับ newlib-nano ใน release.txt
- คุณสมบัติ:
- คุณลักษณะทั้งหมดของ GCC 5 รวมถึงคุณลักษณะหลักล่าสุด:
- สนับสนุน Cortex-R8
- ปรับแต่งประสิทธิภาพ Cortex-M7
- การเพิ่มประสิทธิภาพของ endian ด้วยตนเองและโหลด endian ขนาดใหญ่
- ปรับปรุงเธรดแบบกระโดดลบความจำเป็นในการใช้ทางลัด -ftree-switch
- การสนับสนุน ARMv8-M Baseline และ Mainline alpha:
- ไม่รวมอะตอมสำหรับ ARMv8-M Baseline
- 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
- ตัวจัดการการยกเลิกที่เล็กลงสำหรับ newlib-nano
- คุณลักษณะทั้งหมดของ GCC 5 รวมถึงคุณลักษณะหลักล่าสุด:
- ปรับแต่งประสิทธิภาพ Cortex-M7
- การเพิ่มประสิทธิภาพของ endian ด้วยตนเองและโหลด endian ขนาดใหญ่
- ปรับปรุงเธรดแบบกระโดดลบความจำเป็นในการใช้ทางลัด -ftree-switch
- การสนับสนุน ARMv8-M Baseline และ Mainline alpha:
- ไม่รวมอะตอมสำหรับ ARMv8-M Baseline
- 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
- คุณสมบัติ:
- คุณลักษณะ GCC 4.9 ทั้งหมดรวมถึงคุณลักษณะหลักล่าสุด
- สนับสนุน Cortex-M7
- การสนับสนุนแบบคูณด้วยตัวเลือก:
- -mcpu = Cortex-m1.small-คูณ
- -mcpu = Cortex-m0.small-คูณ
- -mcpu = Cortex-m0plus.small-คูณ
- multilib เฉพาะสำหรับ 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 (แขน - none - eabi - gdb - py)
- ไฟล์อ็อบเจ็กต์ที่ไม่มีส่วนแอตทริบิวต์สามารถเชื่อมโยงกับบุคคลอื่นได้
- ตัวเลือก --mapcs, -mapcs-frame, -mtpcs-frame และ -mtpcs-leaf-frame จะเลิกใช้งานใน gcc 5.0 ดังนั้นขอแนะนำให้หลีกเลี่ยง
- ข้อบกพร่องสำคัญ ๆ ที่ได้รับการแก้ไขในรุ่น 4.9 update 3:
- การแก้ไขที่ไม่ตรงกันของตัวระบุ newlib format https://answers.launchpad.net/gcc-arm-embedded/+question/269083
- แก้ไข Macryb ไม่ตรงกันของแมโคร https://answers.launchpad.net/gcc-arm-embedded/+question/269177
- แก้ไขข้อบกพร่องในการเข้ารหัส Assembler https://sourceware.org/ml/binutils/2015-08/msg00028.html
- คุณสมบัติ:
- คุณลักษณะ GCC 4.9 ทั้งหมดรวมถึงคุณลักษณะหลักล่าสุด
- สนับสนุน Cortex-M7
- การสนับสนุนแบบคูณด้วยตัวเลือก:
- -mcpu = Cortex-m1.small-คูณ
- -mcpu = Cortex-m0.small-คูณ
- -mcpu = Cortex-m0plus.small-คูณ
- multilib เฉพาะสำหรับ 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 (แขน - none - eabi - gdb - py)
- ไฟล์อ็อบเจ็กต์ที่ไม่มีส่วนแอตทริบิวต์สามารถเชื่อมโยงกับบุคคลอื่นได้
- ตัวเลือก --mapcs, -mapcs-frame, -mtpcs-frame และ -mtpcs-leaf-frame จะเลิกใช้งานใน gcc 5.0 ดังนั้นขอแนะนำให้หลีกเลี่ยง
- ข้อบกพร่องสำคัญ ๆ ที่ได้รับการแก้ไขในรุ่น 4.9 update 2:
- อัปเดตรหัสแอสเซมบลีไลน์ไลน์ใน Newlib เพื่อทำงานกับเป้าหมายเก่า https://www.sourceware.org/ml/newlib/2015/msg00386.html
- หลีกเลี่ยงการสูญเสียที่เกิดจากการโปรโมตไซท์ส่วน https://answers.launchpad.net/gcc-arm-embedded/+question/262160
- ตัวแปรรีจิสเตอร์ท้องถิ่นไม่ทำงานอย่างถูกต้องกับตัวดำเนินการ asm แบบอินไลน์ https://bugs.launchpad.net/gcc-arm-embedded/bug/1411655
- คุณสมบัติ:
- คุณลักษณะ GCC 4.9 ทั้งหมดรวมถึงคุณลักษณะหลักล่าสุด
- - สนับสนุน Cortex-M7
- - การสนับสนุนแบบคูณด้วยตัวเลือกต่างๆ:
- -mcpu = Cortex-m1.small-คูณ
- -mcpu = Cortex-m0.small-คูณ
- -mcpu = Cortex-m0plus.small-คูณ
- multilib เฉพาะสำหรับ 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 (แขน - none - eabi - gdb - py)
- ไฟล์อ็อบเจ็กต์ที่ไม่มีส่วนแอตทริบิวต์สามารถเชื่อมโยงกับบุคคลอื่นได้
- ตัวเลือก --mapcs, -mapcs-frame, -mtpcs-frame และ -mtpcs-leaf-frame จะเลิกใช้งานใน gcc 5.0 ดังนั้นขอแนะนำให้หลีกเลี่ยง
- ข้อบกพร่องสำคัญ ๆ ที่ได้รับการแก้ไขในเวอร์ชัน 4.9 update 1:
- backport LD เพื่อให้ส่วนความยาวเป็นศูนย์เป็นไฟล์ axf สุดท้าย
- แก้ไขความผิดพลาดของ GDB ที่เกิดจากการทิ้งส่วน debug ที่ถูกจัดกลุ่ม
- เพิ่มรูปแบบลายนัมพุท Thumb1 เพื่อทำให้การสั่งงานที่ถูกต้องซึ่งจะย้ายเครื่องลงทะเบียน
- อัปเดต GCC เพื่อสร้าง Tag_ABI_HardFP_use ต่อเอกสาร EABI ล่าสุด
- บันทึกการลงทะเบียนแบบสดที่ไม่ได้บันทึกไว้ใน prolog ของฟังก์ชันโดยใช้ -s
- - var-info-path-expression ล้มเหลวสำหรับโครงสร้างที่ซ้อนกัน
-
-
- .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 ฝัง / + ข้อผิดพลาด / 1248981
- ICE เมื่อใช้การลงทะเบียนที่สูงเป็นฐานลงทะเบียน PIC สำหรับเป้าหมาย thumb-1
- เกิดข้อผิดพลาดเมื่อคอมไพล์แอพพลิเคชันจุดคงที่ด้วย LTO https : //answers.launchpad.net/gcc-arm-embedded/+question/235582
- สาขาไปยังเป้าหมายที่ระบุโดยสคริปต์สคริปต์ linker https://sourceware.org/bugzilla/show_bug.cgi?id=15302
- Windows gbb โฮสต์ที่แฮงค์บางจุดพัก https://bugs.launchpad.net/gcc-arm-embedded/+bug/1197615
- Nano ไม่มีการอ้างอิงถึง _mallopt_r https://mbed.org/forum/mbed/topic/2701/?page=3#comment-22549
- อัปเกรดเอกสาร / * texi ลงในแพคเกจ texinfo ล่าสุด https: // answers.launchpad.net/gcc-arm-embedded/+question/227685
- แก้ไข ICE ด้วยตัวเลือก -tune https://answers.launchpad.net/gcc-arm-embedded/+question/227667
- แก้ไข - ตัวเลือกการแก้ปัญหาในสคริปต์สร้าง https://answers.launchpad.net/gcc-arm-embedded/+question/229127
- แก้ไข lr ที่ไม่จำเป็นในฟังก์ชัน thumb1 leaf
- รุ่นปรับปรุงนี้แก้ไขปัญหาสองเรื่องที่พบใน 4.7 หลัก:
- เวอร์ชันโฮสต์ของ Mac OS มีการพึ่งพาหลาม
- ความล้มเหลวของ 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
- นอกจากนี้ยังได้รับการปรับแต่งค่าติดตั้งเพื่อเปิดใช้งาน:
- ฐานข้อมูล multilib พื้นฐาน Cortex-A
- LTO (Link Time Optimization)
มีอะไรใหม่ ในเวอร์ชัน 7-2017-q4:
มีอะไรใหม่ ในเวอร์ชัน 6.2:
มีอะไรใหม่ ในเวอร์ชัน 5.4:
มีอะไรใหม่ ในเวอร์ชัน 5.2:
มีอะไรใหม่ ในเวอร์ชัน 4.9 อัปเดต 3:
มีอะไรใหม่ ในเวอร์ชัน 4.9 อัปเดต 2:
มีอะไรใหม่ ในเวอร์ชัน 4.9 การอัปเดต 1:
มีอะไรใหม่ ในรุ่น 4.7 Update 3:
มีอะไรใหม่ ในรุ่น 4.7 อัปเดต 2:
มีอะไรใหม่ ในรุ่น 4.7 Update 1:
ความคิดเห็นที่ไม่พบ