Small Device C Compiler

from Wikipedia, the free encyclopedia
Small Device C Compiler
Basic data

Current  version 4.0.0
(January 30, 2020)
operating system Linux , Windows , Mac
programming language C.
category C compiler
License GPL ( Free Software )
sdcc.sourceforge.net

The Small Device C Compiler ( SDCC ) is an open source C - cross compiler for microcontroller . In addition to the compiler, the software suite includes a linker , assembler , simulator and debugger . Its design is designed for adaptation to other 8-bit target systems ( retargetable ). The software is under the GNU General Public License .

SDCC was used to port the real-time operating system of the FreeRTOS project to the 8051 -based microcontroller series from Silicon Laboratories .

Supported target architectures

In progress:

Optimizations

Some of the architectures supported by SDCC differ significantly from other common ones, which is why SDCC has significantly different optimizations compared to other compilers such as GCC and LLVM . For example, most of the target architectures are CISC with a small number of registers. For most target architectures, SDCC uses an optimal register allocator based on tree decomposition , the runtime of which is exponential in the number of registers. The register allocation is done byte by byte (so far only fully implemented for STM8).

Individual evidence

  1. The small_device_c_compiler Open Source Project on Open Hub: Languages ​​Page . In: Open Hub . (accessed on September 26, 2018).
  2. Rainer Leupers, Peter Marwedel: Retargetable Compiler Technology for Embedded Systems: Tools and Applications. Springer, 2001, p. 126.

Web links