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 (링크 시간 최적화)

유사한 소프트웨어

GCC MELT
GCC MELT

17 Feb 15

4tH compiler
4tH compiler

20 Feb 15

DashO Pro
DashO Pro

11 May 15

Pharo
Pharo

20 Feb 15

코멘트 GCC ARM Embedded

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