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
Programmier­sprache 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.
Bearbeiten