Компилятор C для малых устройств
| Компилятор C для малых устройств | |
|---|---|
| Основные данные
| |
| Текущая версия | 4.1.0 (8 марта 2021 г.) |
| Операционная система | Linux , Windows , Mac |
| язык программирования | С. |
| категория | Компилятор C |
| Лицензия | GPL ( бесплатное программное обеспечение ) |
| sdcc.sourceforge.net | |
Small Device C Compiler ( SDCC ) является открытым исходным кодом C - кросс - компилятор для микроконтроллера . Помимо компилятора, программный пакет включает компоновщик , ассемблер , симулятор и отладчик . Его конструкция предназначена для адаптации к другим 8-битным целевым системам (с возможностью переназначения ). Программное обеспечение находится под Стандартной общественной лицензией GNU .
SDCC был использован порт в режиме реального времени операционная система в FreeRTOS проецировать на 8051- основе микроконтроллеров серии от Silicon Laboratories .
Поддерживаемые целевые архитектуры
- Intel 8051 и его варианты
- Zilog Z80 и бинарно-совместимые варианты.
- Зилог Z180
- Rabbit 2000, а также бинарно совместимый вариант Rabbit 3000
- Rabbit 3000A, а также бинарно-совместимый вариант Rabbit 4000
- Zilog eZ80 в режиме Z80.
- Sharp LR35902 (процессор Game Boy )
- Freescale HC08
- Freescale S08
- STMicroelectronics STM8
- Toshiba TLCS-90
- Padauk Technology PDK14 и PDK15.
В работе:
- Padauk Technology PDK13.
- Варианты микроконтроллера Microchip PIC PIC16 и PIC18
Оптимизация
Некоторые из архитектур, поддерживаемых SDCC, значительно отличаются от других распространенных, поэтому SDCC имеет существенно разные оптимизации по сравнению с другими компиляторами, такими как GCC и LLVM . Например, большинство целевых архитектур - это CISC с небольшим количеством регистров. Для большинства целевых архитектур SDCC использует оптимальный распределитель регистров, основанный на древовидной декомпозиции , время выполнения которого экспоненциально зависит от количества регистров. Распределение регистров выполняется побайтово (пока полностью реализовано только для STM8).
Индивидуальные доказательства
- ↑ Проект с открытым исходным кодом small_device_c_compiler на странице Open Hub: Languages . В: Open Hub . (доступ 26 сентября 2018 г.).
- ↑ Райнер Леуперс, Питер Марведель: Технология перенацеливания компиляторов для встраиваемых систем: инструменты и приложения. Springer, 2001, с. 126.