Skip to content
Tech News
← Back to articles

SDCC – Small Device C Compiler

read original get Espressif ESP32 Development Board → more articles
Why This Matters

SDCC is a free, open-source C compiler suite for a wide range of legacy and embedded microcontroller architectures, filling a niche often ignored by mainstream compilers like GCC or LLVM. Its continued development matters for embedded developers, hobbyists, and retro-computing enthusiasts who rely on cost-effective, open tooling to program low-power 8-bit and specialized chips.

Key Takeaways
Worth a Look

Espressif ESP32 Development Board — If you're diving into SDCC and retro or embedded microcontroller programming, a versatile dev board is the perfect companion for experimenting with compiled C code on real hardware. It's an affordable way to test toolchains, flash firmware, and see your SDCC-compiled programs run outside a simulator. Great for hobbyists exploring 8-bit architectures and embedded systems development.

See Espressif ESP32 Development Board on Amazon → Affiliate link — we may earn a commission on purchases, at no extra cost to you. Product picked by AI based on this article; it is not a tested recommendation.

What is SDCC?

SDCC is a retargettable, optimizing Standard C (ANSI C89, ISO C99, ISO C11, ISO C23) compiler suite that targets the Intel MCS51 based microprocessors (8031, 8032, 8051, 8052, etc.), Maxim (formerly Dallas) DS80C390 variants, Freescale (formerly Motorola) HC08 based (hc08, s08), Zilog Z80 based MCUs (Z80, Z80N, Z180, SM83, Rabbit 2000, 2000A, 3000A, 4000, SM83, TLCS-90, eZ80, R800), Padauk (pdk14, pdk15), STMicroelectronics STM8, MOS 6502 and WDC 65C02. Work is in progress on supporting the Rabbit 5000, 6000, Padauk pdk13 and the f8 and f8l targets; Microchip PIC16 and PIC18 targets are unmaintained. SDCC can be retargeted for other microprocessors.

SDCC suite is a collection of several components derived from different sources with different FOSS licenses. SDCC compiler suite include:

sdas and sdld , a retargettable assembler and linker , based on ASXXXX , written by Alan Baldwin; (GPL).

and , a , based on , written by Alan Baldwin; (GPL). sdcpp preprocessor , based on GCC cpp ; (GPL).

, based on ; (GPL). ucsim simulators , originally written by Daniel Drotos; (GPL).

, originally written by Daniel Drotos; (GPL). sdcdb source level debugger , originally written by Sandeep Dutta; (GPL).

, originally written by Sandeep Dutta; (GPL). sdbinutils library archive utilities , including sdar, sdranlib and sdnm, derived from GNU Binutils; (GPL)

, including sdar, sdranlib and sdnm, derived from GNU Binutils; (GPL) SDCC run-time libraries ; (GPL+LE). Pic device libraries and header files are derived from Microchip header (.inc) and linker script (.lkr) files. Microchip requires that "The header files should state that they are only to be used with authentic Microchip devices" which would make them incompatible with the GPL.

; (GPL+LE). Pic device libraries and header files are derived from Microchip header (.inc) and linker script (.lkr) files. Microchip requires that "The header files should state that they are only to be used with authentic Microchip devices" which would make them incompatible with the GPL. gcc-test regression tests , derived from gcc-testsuite ; (no license explicitely specified, but since it is a part of GCC is probably GPL licensed)

... continue reading