Compilatore C per piccoli dispositivi
| Compilatore C per piccoli dispositivi | |
|---|---|
| Dati di base
| |
| Versione attuale | 4.1.0 (8 marzo 2021) |
| sistema operativo | Linux , Windows , Mac |
| linguaggio di programmazione | C. |
| categoria | Compilatore C. |
| Licenza | GPL ( software gratuito ) |
| sdcc.sourceforge.net | |
Lo Small Device C Compiler ( SDCC ) è un compilatore C - cross open source per microcontrollore . Oltre al compilatore, la suite software include un linker , assemblatore , simulatore e debugger . Il suo design è progettato per l'adattamento ad altri sistemi target a 8 bit ( retargetable ). Il software è sotto la GNU General Public License .
SDCC è stato usato per porta il sistema operativo in tempo reale i FreeRTOS Progetto al 8051- serie microcontrollore basato da Silicon Laboratories .
Architetture di destinazione supportate
- Intel 8051 e sue varianti
- Zilog Z80 e varianti binari compatibili.
- Zilog Z180
- Rabbit 2000 così come la variante compatibile binaria Rabbit 3000
- Rabbit 3000A così come la variante compatibile binaria Rabbit 4000
- Zilog eZ80 in modalità Z80.
- Sharp LR35902 (CPU del Game Boy )
- Freescale HC08
- Freescale S08
- STMicroelectronics STM8
- Toshiba TLCS-90
- Tecnologia Padauk PDK14 e PDK15.
In corso:
- Padauk Technology PDK13.
- Microchip PIC microcontrollore varianti PIC16 e PIC18
Ottimizzazioni
Alcune delle architetture supportate da SDCC differiscono in modo significativo da altre comuni, motivo per cui SDCC ha ottimizzazioni significativamente diverse rispetto ad altri compilatori come GCC e LLVM . Ad esempio, la maggior parte delle architetture di destinazione sono CISC con un numero limitato di registri. Per la maggior parte delle architetture di destinazione, SDCC utilizza un allocatore di registri ottimale basato sulla scomposizione della struttura ad albero , il cui runtime è esponenziale nel numero di registri. L'allocazione dei registri viene eseguita byte per byte (finora solo completamente implementata per STM8).
Prove individuali
- ↑ Il progetto open source small_device_c_compiler nella pagina Open Hub: Languages . In: Apri Hub . (accesso effettuato il 26 settembre 2018).
- ↑ Rainer Leupers, Peter Marwedel: Tecnologia del compilatore retargetabile per sistemi integrati: strumenti e applicazioni. Springer, 2001, p. 126.