소형소자 C 컴파일러

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

소형소자 C 컴파일러(SDCC)는 다양한 마이크로프로세서를 지원하는 C 컴파일러이다. 인텔 8051, PIC16, Z80을 비롯하여, 바이너리 호환 파생 제품들을 지원하며, 68HC08, S08, STM8, 6502 등 다양한 프로세서 계열을 지원한다. 현재 PIC16 및 PIC18, Padauk PDK13의 지원을 개발 중에 있으며, 과거에는 AVR 마이크로컨트롤러를 지원했으나 구식이 되었다. SDCC는 리눅스, macOS, 윈도우 운영체제에서 사용할 수 있다.

소형소자 C 컴파일러 - [IT 관련 정보]에 관한 문서
기본 정보
이름소형 장치 C 컴파일러
개발자Sandeep Dutta 및 기타
최신 버전4.4.0
최신 버전 출시일2024년 1월 29일
운영체제마이크로소프트 윈도우
macOS
GNU/리눅스
종류C 컴파일러
라이선스GPL
웹사이트sdcc.sourceforge.net
📚 더 읽어볼만한 페이지
  • 크로스 컴파일러 - MinGW
    MinGW는 윈도우에서 GNU 툴체인을 사용할 수 있게 해주는 프로젝트이며, MSYS를 통해 유닉스 셸 환경을 제공하고, C, C++, Objective-C 등 다양한 언어를 지원하며 윈도우 API를 직접 호출하여 호환성 계층 DLL을 요구하지 않는다.
  • C 컴파일러 - GNU 컴파일러 모음
    GNU 컴파일러 모음(GCC)은 리처드 스톨먼이 1987년 처음 출시한 자유 소프트웨어 컴파일러 시스템으로, C, C++, Fortran, Ada, Go 등 다양한 프로그래밍 언어를 지원하며 여러 명령어 집합 아키텍처와 플랫폼에서 널리 사용된다.
  • C 컴파일러 - MinGW
    MinGW는 윈도우에서 GNU 툴체인을 사용할 수 있게 해주는 프로젝트이며, MSYS를 통해 유닉스 셸 환경을 제공하고, C, C++, Objective-C 등 다양한 언어를 지원하며 윈도우 API를 직접 호출하여 호환성 계층 DLL을 요구하지 않는다.
  • 자유 컴파일러와 인터프리터 - Tcl
    Tcl은 존 오스터하우트가 개발한 명령어 기반의 프로그래밍 언어로, Tk 툴킷과 결합하여 GUI 스크립팅 환경으로 발전했으며, 다양한 운영체제에서 사용 가능하고 C, C++, Java 등 다른 언어와의 인터페이스를 지원한다.
  • 자유 컴파일러와 인터프리터 - PHP
    PHP는 라스무스 러도프가 개발한 범용 스크립팅 언어로, 웹 개발에 널리 사용되며 LAMP 아키텍처의 핵심 요소이다.

2. 지원 대상

SDCC가 지원하는 주요 프로세서는 다음과 같다.

* 인텔 8051
* PIC16
* Z80

다음은 바이너리 호환 파생 제품을 포함한다.

* 인텔 8031, 8032, 8051, 8052; 맥심/댈러스 DS80C390; C8051
* 모토로라/프리스케일/NXP 68HC08 및 S08
* Padauk PDK14 및 PDK15
* 샤프 SM83, 닌텐도 게임보이 LR35902 SoC에서 발견되는 CPU
* ST마이크로일렉트로닉스 STM8
* 자일로그 Z80, Z180, eZ80(Z80 모드); 래빗 반도체 2000, 2000A, 3000, 3000A, 4000; 도시바 TLCS-90; Z80N (ZX 스펙트럼 넥스트 프로세서), R800.
* MOS Technology 6502, WDC 65C02.

개발 중:

* 마이크로칩 PIC16 및 PIC18.
* Padauk PDK13.

구식:

* AVR 마이크로컨트롤러는 한때 지원 대상이었지만 2010년 avr-gcc(SDCC 3.0.0)에 의해 구식이 되었다.

2.1. 프로세서

SDCC가 지원하는 주요 프로세서는 다음과 같다.

* 인텔 8051
* PIC16
* Z80

다음은 바이너리 호환 파생 제품을 포함한다.

* 인텔 8031, 8032, 8051, 8052; 맥심/댈러스 DS80C390; C8051
* 모토로라/프리스케일/NXP 68HC08 및 S08
* Padauk PDK14 및 PDK15
* 샤프 SM83, 닌텐도 게임보이 LR35902 SoC에서 발견되는 CPU
* ST마이크로일렉트로닉스 STM8
* 자일로그 Z80, Z180, eZ80(Z80 모드); 래빗 반도체 2000, 2000A, 3000, 3000A, 4000; 도시바 TLCS-90; Z80N (ZX 스펙트럼 넥스트 프로세서), R800.
* MOS Technology 6502, WDC 65C02.

2.1.1. 인텔 계열

인텔 8051 및 그 파생 제품 ( 맥심/댈러스 DS80C390, C8051 등)을 지원한다.

2.1.2. 모토로라/프리스케일/NXP 계열

모토로라/프리스케일/NXP 68HC08 및 S08

2.1.3. 샤프 계열

샤프 SM83, 닌텐도 게임보이 LR35902 SoC에서 발견되는 CPU를 지원한다.

2.1.4. ST마이크로일렉트로닉스 계열

ST마이크로일렉트로닉스 STM8

2.1.5. 자일로그 계열

자일로그 Z80, Z180, eZ80(Z80 모드); 래빗 반도체 2000, 2000A, 3000, 3000A, 4000; 도시바 TLCS-90; Z80N (ZX 스펙트럼 넥스트 프로세서), R800.

2.1.6. MOS/WDC 계열

MOS Technology 6502, WDC 65C02

2.1.7. 기타

인텔 8031, 8032, 8051, 8052; 맥심(Maxim)/댈러스 DS80C390; C8051
모토로라/프리스케일/NXP 68HC08 및 S08
Padauk PDK14 및 PDK15
샤프(Sharp) SM83, 닌텐도 게임보이 LR35902 SoC에서 발견되는 CPU
ST마이크로일렉트로닉스 STM8
자일로그 Z80, Z180, eZ80(Z80 모드); 래빗 반도체(Rabbit Semiconductor) 2000, 2000A, 3000, 3000A, 4000; 도시바 TLCS-90; Z80N (ZX 스펙트럼 넥스트 프로세서), R800.
MOS Technology 6502, WDC 65C02.

2.2. 개발 중

2.2.1. 마이크로칩 계열

마이크로칩의 PIC16 및 PIC18을 지원하기 위해 개발 중이다. Padauk PDK13도 지원한다.

2.3. 구식

3. 지원 환경

SDCC 소스 코드, 문서 및 바이너리는 리눅스(32비트 및 64비트), macOS(PPC 및 64비트), 윈도우(32비트 및 64비트)에서 사용할 수 있다.