Pieni laite C-kääntäjä
| Pieni laite C-kääntäjä | |
|---|---|
| Perustiedot
| |
| Nykyinen versio | 4.1.0 (8. maaliskuuta 2021) |
| käyttöjärjestelmä | Linux , Windows , Mac |
| ohjelmointikieli | C. |
| kategoria | C- kääntäjä |
| Lisenssi | GPL ( ilmainen ohjelmisto ) |
| sdcc.sourceforge.net | |
Pieni laite C-kääntäjä ( SDCC ) on avoimen lähdekoodin C - rajat kääntäjä varten mikro . Kääntäjän lisäksi ohjelmistopakettiin kuuluu linkkeri , kokoonpanija , simulaattori ja virheenkorjaus . Sen muotoilu on suunniteltu mukautettavaksi muihin 8-bittisiin kohdejärjestelmiin ( uudelleen kohdennettavissa ). Ohjelmisto on GNU General Public License -lisenssin alainen .
SDCC käytettiin satamaan reaaliaikainen käyttöjärjestelmä FreeRTOS hankkeen on 8051- pohjainen mikro sarja Silicon Laboratories .
Tuetut kohdearkkitehtuurit
- Intel 8051 ja sen variantit
- Zilog Z80 ja binaarien kanssa yhteensopivat variantit.
- Zilog Z180
- Rabbit 2000 sekä binäärisesti yhteensopiva variantti Rabbit 3000
- Rabbit 3000A sekä binäärisesti yhteensopiva Rabbit 4000 -versio
- Zilog eZ80 Z80-tilassa.
- Sharp LR35902 ( Game Boy -suoritin )
- Freescale HC08
- Freescale S08
- STMicroelectronics STM8
- Toshiba TLCS-90
- Padauk Technology PDK14 ja PDK15.
Käynnissä:
- Padauk Technology PDK13.
- Mikrosirun PIC-mikrokontrollerimuunnokset PIC16 ja PIC18
Optimoinnit
Jotkut SDCC: n tukemista arkkitehtuureista poikkeavat merkittävästi muista yleisistä, minkä vuoksi SDCC: llä on huomattavasti erilaiset optimoinnit verrattuna muihin kääntäjiin, kuten GCC ja LLVM . Esimerkiksi suurin osa kohdearkkitehtuureista on CISC, jossa on pieni määrä rekistereitä. Useimmissa kohdearkkitehtuureissa SDCC käyttää optimaalista puun hajoamiseen perustuvaa rekisterinjakolaitetta, jonka ajonaika on eksponentiaalinen rekisterien määrässä. Rekisterin allokointi suoritetaan tavuina tavuina (toistaiseksi vain täysimääräisesti STM8: lle).
Yksittäiset todisteet
- ↑ Pieni_device_c_compiler avoimen lähdekoodin projekti Open Hub: Kielet -sivulla . Julkaisussa: Open Hub . (käytetty 26. syyskuuta 2018).
- ↑ Rainer Leupers, Peter Marwedel: Uudelleen kohdistettava kääntäjätekniikka sulautetuille järjestelmille: työkalut ja sovellukset. Springer, 2001, s.126.