Small Device C Compiler

{{Infobox software

| name = Small Device C Compiler

| developer = Sandeep Dutta and others

| latest release version = 4.4.0

| latest release date = {{Start date and age|2024|01|29}}

| operating system = Microsoft Windows, macOS, Linux

| genre = C compiler

| license = GPL

| website = {{URL|sdcc.sourceforge.net}}

}}

The Small Device C Compiler (SDCC) is a free-software, partially retargetableRainer Leupers, Peter Marwedel: "Retargetable Compiler Technology for Embedded Systems: Tools and Applications", page 126. Springer, 2001 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.

"Porting Contiki Operating System to RIEST2430" by Juan Wang, Wei Ma, and Dan Liu, published in

[https://books.google.com/books?id=OYa5BQAAQBAJ "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

[https://books.google.com/books?id=OlfXVIclwnAC "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."

{{cite book |author=Lewin A. R. W. Edwards |url=https://archive.org/details/pdfy-MKFMCCNbqENoR3Ft |title=So, You Wanna be an Embedded Engineer: The Guide to Embedded Engineering, from Consultancy to the Corporate Ladder |date=2006 |page=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."

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).

Supported targets

The following include binary compatible derivatives:

Work in progress:

  • Microchip PIC16 and PIC18.{{cite web |url=http://sdcc.sourceforge.net/|title=SDCC - Small Device C Compiler|author=|access-date=2013-01-20}}[https://sites.google.com/site/rmaalmeida/mplabx-sdcc-toolchain Setting up the free compiler SDCC at MPLABX], Google Sites
  • Padauk PDK13.

Obsolete:

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

See also

{{Portal|Free and open-source software}}

  • Z88DK - C compiler for Z80-based systems
  • cc65 - C compiler for 6502/65C02 systems

References

{{Reflist}}