The Small Device C Compiler (SDCC) is a free-software, partially retargetable C compiler for 8-bit microcontrollers. It is distributed under the GNU General Public License. The package also contains an assembler, linker, simulator and debugger. As of March 2007, SDCC is the only open-source C compiler for Intel 8051-compatible microcontrollers. In 2011 the compiler was downloaded on average more than 200 times per day.

Supported hosts

Sources, documentation, and binaries are available for Linux (32-bit and 64-bit), macOS (PPC and 64-bit), and Windows (32-bit and 64-bit).

Small Device C Compiler

Supported targets

The following include binary compatible derivatives: Intel 8031, 8032, 8051, 8052; Maxim/Dallas DS80C390; C8051 Motorola/Freescale/NXP 68HC08 and 68HCS08 Padauk PDK14 and PDK15 Sharp SM83, the CPU found in the Nintendo Game Boy LR35902 SoC STMicroelectronics STM8 Zilog Z80, Z180, eZ80 in Z80 mode; Rabbit Semiconductor 2000, 2000A, 3000, 3000A, 4000; Toshiba TLCS-90; Z80N (ZX Spectrum Next processor).

Small Device C Compiler

Work in progress: Microchip PIC16 and PIC18. Padauk PDK13. MOS Technology 6502

Small Device C Compiler

Obsolete: AVR microcontrollers use to be a supported target, but was made obsolete by avr-gcc in 2010 (SDCC 3.0.0).

See also

Z88DK - C compiler for Z80-based systems

cc65 - C compiler for 6502/65C02 systems

References

External links

SDCC homepage

Sandeep Dutta - Anatomy of a Compiler. A Retargetable ANSI-C Compiler. "Circuit Cellar", issue 121, August 2000, page 35 SDCC Open Knowledge Resource SDCC Open Knowledge Resource FOSDEM 2015 presentation on SDCC A port of FreeRTOS to 8051 Using SDCC on the AT89C52 (8051 derivative) Using SDCC for PIC on Windows with MPLABX

C (programming language) compilers

Cross-compilers

Free compilers and interpreters