임베디드 시스템용 표준 C 컴파일러 SDCC 소개
SDCC – Small Device C Compiler
Hacker NewsSDCC는 MCS-51, Z80, STM8 등 광범위한 MCU를 지원하는 고성능 임베디드 시스템용 표준 C 컴파일러입니다.
- 최근에는 외부 자금 지원을 받아 안전성 및 보안 강화를 위한 현대 C 표준 지원, LTO 같은 고급 최적화 기능이 지속적으로 추가되고 있습니다.
- 이처럼 강력한 기능 덕분에, SDCC는 IoT 및 펌웨어 분야에서 고신뢰성/고보안 제품 개발의 핵심 기반 기술로 주목받고 있습니다.
- 광범위한 아키텍처를 지원하지만, 배포판 버전이 오래될 수 있으므로 최신 기능을 사용하려면 스냅샷 빌드나 직접 컴파일을 확인하는 것이 좋습니다.
SDCC(Small Device C Compiler)는 다양한 마이크로컨트롤러를 대상으로 하는 포팅 가능한 최적화 표준 C 컴파일러 스위트입니다. 이 컴파일러는 Intel MCS51, Zilog Z80 기반 MCU, STMicroelectronics STM8, MOS 6502 등 광범위한 아키텍처를 지원합니다. SDCC는 원래 GPL 라이선스로 개발되었으며, 지속적인 버그 수정과 개선을 통해 사용자들의 입력으로 업데이트되고 있습니다.
SDCC의 기능은 외부 자금 지원 및 공동 프로젝트를 통해 꾸준히 강화되고 있습니다. NGI0 Commons Fund와 같은 기금을 통해 다양한 타겟 하드웨어에 대한 지원이 개선되고 있으며, 현대 C 표준 지원이나 지역 변수 메모리 사용량 감소 등의 기계 독립적 최적화가 진행 중입니다. 또한 Sovereign Tech Fund는 안전 및 보안 강화를 목표로 포스트 양자 암호(post-quantum cryptography) 준비나 잠재적인 사이드 채널 공격 완화 기능 등을 추가하고 있습니다.
SDCC는 GNU/Linux와 macOS에서 네이티브하게 컴파일되며, Windows의 경우 Linux 호스트를 이용한 크로스 컴파일 방식으로 배포됩니다. 사용자는 각 운영체제별 공식 다운로드 페이지에서 최신 버전을 확인하는 것이 권장되는데, 리눅스 배포판에 포함된 SDCC 패키지는 종종 오래된 버전일 수 있습니다. 개발자들은 버그 보고 시 반드시 `-v` 옵션을 사용하여 정확한 버전과 빌드 날짜를 제공해야 합니다.