The Small Device C Compiler (SDCC ) is a free-software , partially retargetable [ 1] 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 . SDCC is a popular open-source C compiler for microcontrollers compatible with Intel 8051/MCS-51 .[ 2] [ 3] [ 4]
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).
The following include binary compatible derivatives:
Intel 8031, 8032, 8051 , 8052; Maxim /Dallas DS80C390; C8051
Motorola /Freescale /NXP 68HC08 and S08
Padauk PDK14 and PDK15[ 5]
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, 6000; Toshiba TLCS-90 ; Z80N (ZX Spectrum Next processor), R800 .
MOS Technology 6502 , WDC 65C02 .
Work in progress:
Obsolete:
AVR microcontrollers used to be a supported target, but was made obsolete by avr-gcc in 2010 (SDCC 3.0.0).
Z88DK - C compiler for Z80-based systems
cc65 - C compiler for 6502/65C02 systems
^ Rainer Leupers, Peter Marwedel: "Retargetable Compiler Technology for Embedded Systems: Tools and Applications", page 126. Springer, 2001
^
"Porting Contiki Operating System to RIEST2430" by Juan Wang, Wei Ma, and Dan Liu, published in
"Emerging Intelligent Computing Technology and Applications" , 2012, p. 383: "Due to the 8051 MCU’s unique characteristics, there are only a handful of toolchains available. The most noteworthy open source solution is the Small Device C Compiler (SDCC)."
^
Lewin Edwards
"Open-Source Robotics and Process Control Cookbook: Designing and Building Robust, Dependable Real-time Systems" , 2005, p. 15: "Worse still, the only halfway decent open-source C compiler for the 8051 (sdcc) is exactly that—only halfway decent."
^
Lewin A. R. W. Edwards (2006). So, You Wanna be an Embedded Engineer: The Guide to Embedded Engineering, from Consultancy to the Corporate Ladder . p. 51. : "I personally prefer to use the free compiler package, sdcc. This is unquestionably the poor man's choice of 8051 C compilers, ... in any case, sdcc is perfectly adequate for hobbyist, low-volume and/or educational projects."
^ Padauk website
^ "SDCC - Small Device C Compiler" . Retrieved 2013-01-20 .
^ Setting up the free compiler SDCC at MPLABX , Google Sites