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
| 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:
- Intel 8031, 8032, 8051, 8052; Maxim/Dallas DS80C390; C8051
- Motorola/Freescale/NXP 68HC08 and S08
- Padauk PDK14 and PDK15[http://www.padauk.com.tw Padauk website]
- 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:
- 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
References
{{Reflist}}
External links
- [http://sdcc.sourceforge.net SDCC homepage]
- [https://web.archive.org/web/20090617011643/http://www.circuitcellar.com/SA/Articles2/Dutta-121.pdf Sandeep Dutta - Anatomy of a Compiler. A Retargetable ANSI-C Compiler. "Circuit Cellar", issue 121, August 2000, page 35]
- [http://sdccokr.dl9sec.de SDCC Open Knowledge Resource]
- [http://www.dl9sec.de/prj_sdccokr.html SDCC Open Knowledge Resource]
- [http://video.fosdem.org/2015/devroom-embedded/8bit_compiler.mp4 FOSDEM 2015 presentation on SDCC]
- [https://archive.fosdem.org/2024/schedule/event/fosdem-2024-2479-the-small-device-c-compiler-sdcc-/ FOSDEM 2024 presentation on SDCC]
- [http://www.freertos.org/portcygn.html A port of FreeRTOS to 8051]
- [http://www.8052.com/users/robotics/sdcc.phtml Using SDCC on the AT89C52 (8051 derivative)]
- [https://sites.google.com/site/rmaalmeida/mplabx-sdcc-toolchain Using SDCC for PIC on Windows with MPLABX]
{{C programming language}}
Category:C (programming language) compilers
Category:Free and open source compilers
{{programming-software-stub}}