GCC ARM Embedded

소프트웨어 스크린 샷:
GCC ARM Embedded
소프트웨어 정보:
버전: 7-2018-q2 업데이트
업로드 날짜: 17 Aug 18
라이센스: 무료
인기: 67

Rating: 2.5/5 (Total Votes: 2)

GCC ARM Embedded은 ARM Cortex-R 및 Cortex-M 프로세서 용 사전 빌드 된 GNU 툴 체인을 포함하는 자유롭게 배포되는 오픈 소스 소프트웨어입니다. 이 프로젝트는 GNU 도구를 ARM 임베디드 프로세서로 가져와 개발자가 다양한 컴파일 작업을 수행 할 수 있도록 돕는 것을 목표로합니다.


모든 중요한 Cortex ARM 프로세서를 지원합니다.

Cortex-R4, Cortex-R5, Cortex-R7, Cortex-M3, Cortex-M4, Cortex-M7, Cortex-M0 +, Cortex-M0 등 중요한 Cortex ARM 프로세서를 지원하기 위해 처음부터 소프트웨어가 작성되었습니다. Cortex-M0.

ARM 직원이 유지 관리하는 GCC ARM Embedded 소프트웨어는 ARM 아키텍처에 대한 GNU Compiler Collection (GCC) 지원을 향상시키고 유지하기위한 지속적인 노력의 일환입니다.


GCC ARM 임베디드 시작하기

GNU / Linux 컴퓨터에서 GCC ARM 임베디드 소프트웨어를 사용하려면 시작하기 전에 필요한 모든 사전 빌드 된 2 진 파일을 포함하는 2 진 패키지를 다운로드해야합니다. 컴퓨터의 어딘가에 보관 파일 (홈 디렉토리가 좋음)을 저장하려면 보관 관리자 유틸리티를 사용하여 내용을 추출하십시오.

그런 다음 터미널 앱을 열고 압축을 푼 위치 (예 : cd / home / softoware / gcc-arm-none-eabi-4_9-2014q4)로 이동합니다. 모든 바이너리는 & lsquo; bin & rsquo; 폴더.


가용성 및 지원되는 하드웨어 플랫폼

GCC ARM 임베디드는 바이너리 및 소스 아카이브뿐만 아니라 32 비트 및 64 비트 아키텍처를 모두 지원하는 Ubuntu Linux 운영 체제의 최신 릴리스 용 PPA 저장소로 배포됩니다. 이 소프트웨어는 Mac OS X 및 Microsoft Windows 운영 체제와도 호환됩니다.

이 릴리스의 새로운 기능 :

고정 powf / expf / exp2f / logf / log2f 성능 회귀
ARM Cortex-M33에 DSP없이 -mcpu = cortex-m33 + nodsp를 통한 지원 추가
Armv8-R multilib 매핑이 추가되었습니다.
GDB tui 지원을위한 빌드 요구 사항 수정
newlib의 C99 IO 형식 지정자 사용
고정 cmse_nonsecure_caller Armv8-M 보안 확장 기능 내장
GCC 내장 __builtin_arm_set_fpscr에서 충돌을 수정했습니다.
LTO 버그 https://bugs.launchpad.net/gcc-arm-embedded/+bug/1747966은 이전 릴리스에서 수정되었습니다. 변경 사항을 반영하여 릴리스 노트가 업데이트되었습니다.
헤더없이 libgcc의 cmse.c를 빌드 할 때의 문제가 수정되었습니다.
arm_cmse.h C99 호환성 문제가 해결되었습니다.

7-2017-q4 버전의 새로운 기능 :

Armv8-R 및 Cortex-R52를 지원합니다.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69866 수정
Mac OS X 용 C ++로 빌드 된 GDB

버전 6.2의 새로운 기능 :

특징 :
모든 GCC 6 기능과 최신 메인 라인 기능 :
원자 및 보안 확장을 포함한 전체 ARMv8-M 지원
ARMv7-M 및 ARMv8-M 기준선 및 본선에 대한 ARM PURECODE 지원
코 프로세서 내장 함수 지원
Cortex-M23 및 Cortex-M33 지원
Cortex-M 장치 용 옵션
newlib에서 잠금 루틴의 OS 리타 타겟팅 지원
newlib에서 고급 SIMD 최적화 memchr 구현
명령 줄에서 Windows Installer 설정 옵션 사용
6 update 2 릴리스의 중요한 변경 사항 :
GCC는 Cortex-r [578]이 64 비트 단일 사본 원자 LDRD를 가지고 있다고 잘못 가정합니다. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80082
LDR 의사 op가 MOVS를 생성합니다. https://bugs.launchpad.net/gcc-arm-embedded/+bug/1682620
고정 FPSCR 게터 및 세터 내장
실행 파일로 생성 된 SG 가져 오기 라이브러리가 이제 변동 가능으로 고정됩니다.
명령 줄에서 Windows Installer 설정 옵션 사용
ARMv8-M.Baseeline에 대해 PURECODE 지원이 활성화되었습니다.
newlib에서 고급 SIMD 최적화 memchr 구현

버전 5.4의 새로운 기능 :

새로운 기능 :
ARMv8-M베이스 라인 및 메인 라인 베타 지원 :
ARMv8-M 기본 atomics 지원
ARM PureCode 지원
Thumb-2 긴 분기 비니어
5 Update 3 릴리스에서 수정 된 중요 버그 :
제거 된 MSP_S 및 PSP_S MRS / MSR 특수 레지스터
비니어 세대에서 고정 된 Thumb 버전 감지
release.txt의 newlib-nano에 대한 고정 문서

버전 5.3의 새로운 기능 :

기능 :
모든 GCC 5 기능과 최신 메인 라인 기능 :
Cortex-R8 지원
Cortex-M7 성능 튜닝
수동 리틀 엔디안 및 빅 엔디안로드 최적화
-ftree-switch-shortcut에 대한 필요성을 제거하는 개선 된 점프 스레드
ARMv8-M 기본 및 Mainline 알파 지원 :
ARMv8-M 기준선에 포함되지 않은 원자 수
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에 대한 더 작은 종료 처리기

버전 5.2의 새로운 기능 :

모든 GCC 5 기능과 최신 메인 라인 기능 :
Cortex-M7 성능 튜닝
수동 리틀 엔디안 및 빅 엔디안로드 최적화
-ftree-switch-shortcut에 대한 필요성을 제거하는 개선 된 점프 스레드
ARMv8-M 기본 및 Mainline 알파 지원 :
ARMv8-M 기준선에 포함되지 않은 원자 수
어셈블 및 기본 연결에서만 지원되는 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 업데이트 3의 새로운 기능 :

특징 :
모든 GCC 4.9 기능과 최신 메인 라인 기능
Cortex-M7 지원
옵션이있는 작은 곱하기 지원 :
. -mcpu = cortex-m1.small-multiply
. -mcpu = cortex-m0.small-multiply
. -mcpu = cortex-m0plus.small-multiply
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
newlib에 aeabi_memcpy 및 aeabi_memcpy4 루틴을 정의하십시오.
newlib에 aeabi_memmove, aeabi_memset 및 aeabi_memclr 루틴을 정의하십시오.
Thumb-1 라이브러리 최적화
추가 코드 크기 최적화.
gdb 파이썬 빌드 (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 업데이트 2의 새로운 기능 :

특징 :
모든 GCC 4.9 기능과 최신 메인 라인 기능
Cortex-M7 지원
옵션이있는 작은 곱하기 지원 :
-mcpu = cortex-m1.small-multiply
-mcpu = cortex-m0.small-multiply
-mcpu = cortex-m0plus.small-multiply
Cortex-M7 용 전용 multilib :
피질 -m7
cortex-m7 / fpu / fpv5-d16
cortex-m7 / fpu / fpv5-sp-d16
cortex-m7 / softfp / fpv5-d16
cortex-m7 / softfp / fpv5-sp-d16
newlib에 aeabi_memcpy 및 aeabi_memcpy4 루틴을 정의하십시오.
newlib에 aeabi_memmove, aeabi_memset 및 aeabi_memclr 루틴을 정의하십시오.
Thumb-1 라이브러리 최적화
추가 코드 크기 최적화.
gdb 파이썬 빌드 (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
로컬 레지스터 변수가 인라인 asm 피연산자에서 올바르게 작동하지 않습니다. https://bugs.launchpad.net/gcc-arm-embedded/+bug/1411655

버전 4.9 업데이트 1의 새로운 기능 :

특징 :
모든 GCC 4.9 기능과 최신 메인 라인 기능
- Cortex-M7 지원
- 옵션이있는 작은 곱하기 지원 :
. -mcpu = cortex-m1.small-multiply
. -mcpu = cortex-m0.small-multiply
. -mcpu = cortex-m0plus.small-multiply
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
newlib에 aeabi_memcpy 및 aeabi_memcpy4 루틴을 정의하십시오.
newlib에 aeabi_memmove, aeabi_memset 및 aeabi_memclr 루틴을 정의하십시오.
Thumb-1 라이브러리 최적화
추가 코드 크기 최적화.
gdb 파이썬 빌드 (arm-none-eabi-gdb-py)를 추가하십시오.
속성 섹션이없는 오브젝트 파일은 다른 섹션과 링크 될 수 있습니다.
-mapcs, -mapcs-frame, -mtpcs-frame 및 -mtpcs-leaf-frame 옵션은 gcc 5.0에서 사용되지 않을 것이므로 권장하지 않습니다.
4.9 업데이트 1 릴리스에서 수정 된 중요 버그 :
마지막 axf 파일에서 길이가 0 인 섹션을 유지하는 LD 백 포트
그룹화 된 디버그 섹션을 삭제하여 GDB 충돌을 수정하십시오.

Thumb1 insn 패턴을 추가하여 PC를 낮은 레지스터로 이동시키는 명령어를 합법화하십시오
최신 EABI 문서 당 Tag_ABI_HardFP_use를 생성하도록 GCC를 업데이트하십시오.
-Os로 함수 프롤로그에 저장되지 않은 라이브 높은 레지스터
- 중첩 된 구조체에 대해 --var-info-path-expression이 실패합니다.

버전 4.9의 새로운 기능 :

링커 스크립트에 정의 된 기호로 분기 http://sourceware.org/bugzilla/show_bug.cgi?id=15302
dwarf-3 이상을 지원하기 위해 GDB가 7.6으로 업그레이드되었습니다. https://answers.launchpad.net/gcc-arm-embedded/+question/234131 https://bugs.launchpad.net/gcc-arm-embedded/ + 버그 / 1248981
thumb-1 타겟의 PIC베이스 레지스터로 높은 레지스터를 사용할 때의 ICE

버전 4.7 업데이트 3의 새로운 기능 :

LTO가있는 고정 소수점 응용 프로그램을 컴파일 할 때 충돌이 발생합니다. https://answers.launchpad.net/gcc-arm-embedded/+question / 235582
링커 스크립트 심볼로 지정된 타겟으로 분기 https://sourceware.org/bugzilla/show_bug.cgi?id=15302
일부 중단 점에서 Windows 호스팅 gdb 중단 https://bugs.launchpad.net/gcc-arm-embedded/+bug/1197615
_mallopt_r에 대한 Nano missing reference https://mbed.org/forum/mbed/topic/2701/?page=3#comment-22549

버전 4.7 업데이트 2의 새로운 기능 :

doc / *. texi를 최신 texinfo 패키지로 업그레이드하십시오. https://answers.launchpad.net/gcc-arm-embedded/+ 질문 / 227685
-mtune 옵션을 사용하여 ICE 수정 https://answers.launchpad.net/gcc-arm-embedded/+question/227667
빌드 스크립트의 --debug 옵션 수정 https://answers.launchpad.net/gcc-arm-embedded/+question/229127
thumb1 리프 함수에서 불필요한 lr 저장을 수정했습니다.

버전 4.7 업데이트 1의 새로운 기능 :

이 업데이트 릴리스는 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와 일치하지 않습니다.
또한 다음을 사용하도록 조정 된 빌드 구성을 가져옵니다.
기본 Cortex-A 프로필 multilib
LTO (링크 시간 최적화)

유사한 소프트웨어

Perl
Perl

17 Aug 18

IPython
IPython

20 Feb 15

Flexc++
Flexc++

14 Apr 15

코멘트 GCC ARM Embedded

댓글을 찾을 수 없습니다
코멘트를 추가
이미지를 켜십시오!