Lille enhed C-kompilator
| Lille enhed C-kompilator | |
|---|---|
| Grundlæggende data
| |
| Aktuel version | 4.1.0 (8. marts 2021) |
| operativ system | Linux , Windows , Mac |
| programmeringssprog | C. |
| kategori | C- kompilator |
| Licens | GPL ( fri software ) |
| sdcc.sourceforge.net | |
Den lille enhed C Compiler ( SDCC ) er en open source C - cross compiler til microcontroller . Udover compileren inkluderer softwarepakken en linker , assembler , simulator og fejlretning . Dens design er designet til tilpasning til andre 8-bit målsystemer ( retargetable ). Softwaren er under GNU General Public License .
SDCC blev anvendt til port den realtidsstyresystem af de FreeRTOS projektet til 8051- baserede mikrocontroller serie fra Silicon Laboratories .
Understøttede målarkitekturer
- Intel 8051 og dens varianter
- Zilog Z80 og binære kompatible varianter.
- Zilog Z180
- Kanin 2000 såvel som den binære kompatible variant Kanin 3000
- Kanin 3000A såvel som den binære kompatible variant Kanin 4000
- Zilog eZ80 i Z80-tilstand.
- Sharp LR35902 ( Game Boy's CPU )
- Freescale HC08
- Freescale S08
- STMicroelectronics STM8
- Toshiba TLCS-90
- Padauk Technology PDK14 og PDK15.
I gang:
- Padauk Technology PDK13.
- PIC-mikrocontrollervarianter med mikrochip PIC16 og PIC18
Optimeringer
Nogle af de arkitekturer, der understøttes af SDCC, adskiller sig markant fra andre almindelige, hvilket er grunden til, at SDCC har markant forskellige optimeringer sammenlignet med andre kompilatorer som GCC og LLVM . For eksempel er de fleste målarkitekturer CISC med et lille antal registre. For de fleste målarkitekturer bruger SDCC en optimal registerfordeler baseret på trænedbrydning , hvis løbetid er eksponentiel i antallet af registre. Registreringstildelingen foretages byte for byte (indtil videre kun fuldt implementeret til STM8).
Individuelle beviser
- ↑ Small_device_c_compiler Open Source-projektet på Open Hub: Sprog-siden . I: Åben hub . (adgang 26. september 2018).
- ↑ Rainer Leupers, Peter Marwedel: Retargetable Compiler Technology for Embedded Systems: Tools and Applications. Springer, 2001, s. 126.