Small Device C Compiler

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Small Device C Compiler
DevelopersSandeep Dutta and others
Stable release
4.4.0 / January 29, 2024; 2 years ago (2024-01-29)
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemMicrosoft Windows, macOS, Linux
    TypeC compiler
    LicenseGPL

    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]

    Supported hosts

    [edit | edit source]

    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

    [edit | edit source]

    The following include binary compatible derivatives:

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

    See also

    [edit | edit source]

    Lua error in mw.title.lua at line 392: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').

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

    References

    [edit | edit source]
    1. ^ Rainer Leupers, Peter Marwedel: "Retargetable Compiler Technology for Embedded Systems: Tools and Applications", page 126. Springer, 2001
    2. ^ "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)."
    3. ^ 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."
    4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).: "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."
    5. ^ Padauk website
    6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    7. ^ Setting up the free compiler SDCC at MPLABX, Google Sites
    [edit | edit source]