Der Small Device C Compiler (SDCC) ist ein quelloffener C-Cross-Compiler für Mikrokontroller. Die Software-Suite umfasst neben dem Compiler einen Linker, Assembler, Simulator und Debugger. Sein Design ist für eine Anpassung an weitere 8-Bit-Zielsysteme ausgelegt (engl. retargetable).[2] Die Software steht unter der GNU General Public License.

Small Device C Compiler
Basisdaten

Aktuelle Version 4.3.0
(7. Juli 2023)
Betriebssystem Linux, Windows, Mac
Programmiersprache C[1]
Kategorie C Compiler
Lizenz GPL (Freie Software)
sdcc.sourceforge.net

SDCC wurde eingesetzt, um das Echtzeit-Betriebssystem des FreeRTOS-Projekts auf die 8051-basierte Mikrocontroller-Serie der Silicon Laboratories zu portieren.

Unterstützte Zielarchitekturen Bearbeiten

In Arbeit:

Optimierungen Bearbeiten

Die von SDCC unterstützen Architekturen unterscheiden sich teils deutlich von anderen üblichen, weshalb SDCC im Vergleich zu anderen Compilern wie GCC und LLVM teils deutlich andere Optimierungen aufweist. Beispielsweise sind die meisten Zielarchitekturen CISC mit einer geringen Anzahl an Registern. SDCC verwendet für die meisten Zielarchitekturen einen auf Baumzerlegungen basierenden optimalen Registerallokator, dessen Laufzeit exponentiell in der Anzahl der Register ist. Die Registerallokation erfolgt byteweise (bisher nur für STM8 vollständig implementiert).

Einzelnachweise Bearbeiten

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

Weblinks Bearbeiten