Small Device C Compiler (SDCC) — вільний крос-компілятор мови програмування C. Підтримує низку 8-бітних мікроконтролерів і передбачає адаптацію (англ. retargeting) на інші аріхтектури. До складу пакету входять також асемблер, компонувальник, симулятор та зневаджувач. Більша частина компонентів пакету поширюється на умовах ліцензії GPL, [en] — на умовах [en].
Тип | Крос-компілятор з мови C |
---|---|
Автор | Sandeep Dutta |
Розробник | Sandeep Dutta та інші |
Стабільний випуск | 3.6.0 (12 червня 2016 ) |
Версії | 4.2.0 (8 березня 2022)[2] |
Платформа | Мікроконтролери |
Операційна система | Linux, Windows, Mac OS X |
Мова програмування | C, |
Ліцензія | GPL, |
Стандарт(и) | ANSI C89, ISO C99, ISO C11 |
Репозиторій | sourceforge.net/p/sdcc/code/HEAD/tree/ |
Вебсайт | sdcc.sourceforge.net |
Особливості
Пакет SDCC має структуру, орієнтовану на «малі» 8-бітні системи з можливістю адаптації кодогенератора (back end) до нових типів мікроконтролерів. Компілятор відповідає стандартам ANSI C89, ISO C99, ISO C11 з деякими обмеженнями.C99
Компілятор підтримує стандартні типи даних мови С — 8, 16, 32-бітові цілі числа та 32-бітові числа числа з рухомою комою. Для деяких архітектур підтримуються 64-бітові (8-байтові) цілі числа. Виконуються такі стандартні методи оптимізації, як усунення загальних підвиразів, [en], видалення мертвого коду використання [en] для реалізації інструкції switch.
SDCC підтримує такі можливості [en], як іменовані простори адрес та арифметику з фіксованою комою.
З метою ефективного використання апаратних можливостей мікроконтролерів додано розширення мови програмування. Серед них — можливість опису С-функції як обробника апаратних переривань, 1-бітовий тип даних bit
для логічних змінних, специфічні методи оптимізації на зразок глобального розподілення регістрів процесора (англ. global register allocation). Також є можливість гнучкого використання [en].
Цільові платформи
Компілятор SDCC підтримує розробку вбудованого програмного забезпечення для систем, побудованих на таких мікроконтролерах:
- Intel MCS-51 та сумісні з ним;
- [en] (раніше Dallas Semiconductor) DS80C390;
- Freescale (раніше Motorola) 68HC08, 68HCS08;
- Zilog Z80 та його варіації (Z80, [en], [en]/3000, Toshiba );
- STMicroelectronics STM8.
Підтримка мікроконтролерів Microchip PIC16 та PIC18 знаходиться у стадії розробки.
Середовища розробки
Робота з пакетом SDCC вбудована у інтегроване середовище Code::Blocks. Для середовища Eclipse/CDT існує плагін для роботи з SDCC. Деякі виробники мікроконтролерів забезпечують підтримку SDCC у своїх пропрієтарних середовищах розробки.
Див. також
Примітки
- . SDCC team. Архів оригіналу за 25 лютого 2021. Процитовано 24.07.2016.
- https://sourceforge.net/p/sdcc/mailman/message/37622375/
- . SDCC team. Архів оригіналу за 30.04.2019. Процитовано 24.07.2016.
- . SDCC wiki. Архів оригіналу за 05.10.2016. Процитовано 30.07.2016.
- . Code::Blocks wiki. Архів оригіналу за 11 серпня 2016. Процитовано 30 липня 2016.
- . SourceForge.net. Архів оригіналу за 4 жовтня 2016. Процитовано 24.07.2016.
Посилання
- Small Device C Compiler на SourceForge.net
- (англ.)
- [Інтегрування програм пакету SDCC у середовище Silicon Labs] (PDF) (англ.) . Silicon Labs. 2005. Архів оригіналу (PDF) за 21 червня 2013. Процитовано 30 липня 2016.
- [Використання вільного C-компліятора SDCC для розробки програмного забезпечення мікроконтролерів DS89C430/450] (PDF) (англ.) . Maxim Integrated. 2005. Архів оригіналу (PDF) за 8 лютого 2019. Процитовано 30 липня 2016.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Small Device C Compiler SDCC vilnij kros kompilyator movi programuvannya C Pidtrimuye nizku 8 bitnih mikrokontroleriv i peredbachaye adaptaciyu angl retargeting na inshi arihtekturi Do skladu paketu vhodyat takozh asembler komponuvalnik simulyator ta znevadzhuvach Bilsha chastina komponentiv paketu poshiryuyetsya na umovah licenziyi GPL en na umovah en Small Device C CompilerTipKros kompilyator z movi CAvtorSandeep DuttaRozrobnikSandeep Dutta ta inshiStabilnij vipusk3 6 0 12 chervnya 2016 8 rokiv tomu 2016 06 12 Versiyi4 2 0 8 bereznya 2022 2 PlatformaMikrokontroleriOperacijna sistemaLinux Windows Mac OS XMova programuvannyaC C LicenziyaGPL Standart i ANSI C89 ISO C99 ISO C11Repozitorijsourceforge net p sdcc code HEAD tree Vebsajtsdcc sourceforge netOsoblivostiPaket SDCC maye strukturu oriyentovanu na mali 8 bitni sistemi z mozhlivistyu adaptaciyi kodogeneratora back end do novih tipiv mikrokontroleriv Kompilyator vidpovidaye standartam ANSI C89 ISO C99 ISO C11 z deyakimi obmezhennyami C99 Kompilyator pidtrimuye standartni tipi danih movi S 8 16 32 bitovi cili chisla ta 32 bitovi chisla chisla z ruhomoyu komoyu Dlya deyakih arhitektur pidtrimuyutsya 64 bitovi 8 bajtovi cili chisla Vikonuyutsya taki standartni metodi optimizaciyi yak usunennya zagalnih pidviraziv en vidalennya mertvogo kodu vikoristannya en dlya realizaciyi instrukciyi switch SDCC pidtrimuye taki mozhlivosti en yak imenovani prostori adres ta arifmetiku z fiksovanoyu komoyu Z metoyu efektivnogo vikoristannya aparatnih mozhlivostej mikrokontroleriv dodano rozshirennya movi programuvannya Sered nih mozhlivist opisu S funkciyi yak obrobnika aparatnih pererivan 1 bitovij tip danih bit dlya logichnih zminnih specifichni metodi optimizaciyi na zrazok globalnogo rozpodilennya registriv procesora angl global register allocation Takozh ye mozhlivist gnuchkogo vikoristannya en Cilovi platformiKompilyator SDCC pidtrimuye rozrobku vbudovanogo programnogo zabezpechennya dlya sistem pobudovanih na takih mikrokontrolerah Intel MCS 51 ta sumisni z nim en ranishe Dallas Semiconductor DS80C390 Freescale ranishe Motorola 68HC08 68HCS08 Zilog Z80 ta jogo variaciyi Z80 en en 3000 Toshiba STMicroelectronics STM8 Pidtrimka mikrokontroleriv Microchip PIC16 ta PIC18 znahoditsya u stadiyi rozrobki Seredovisha rozrobkiRobota z paketom SDCC vbudovana u integrovane seredovishe Code Blocks Dlya seredovisha Eclipse CDT isnuye plagin dlya roboti z SDCC Deyaki virobniki mikrokontroleriv zabezpechuyut pidtrimku SDCC u svoyih propriyetarnih seredovishah rozrobki Div takozhGNU Compiler CollectionPrimitki SDCC team Arhiv originalu za 25 lyutogo 2021 Procitovano 24 07 2016 https sourceforge net p sdcc mailman message 37622375 SDCC team Arhiv originalu za 30 04 2019 Procitovano 24 07 2016 SDCC wiki Arhiv originalu za 05 10 2016 Procitovano 30 07 2016 Code Blocks wiki Arhiv originalu za 11 serpnya 2016 Procitovano 30 lipnya 2016 SourceForge net Arhiv originalu za 4 zhovtnya 2016 Procitovano 24 07 2016 PosilannyaSmall Device C Compiler na SourceForge net angl Integruvannya program paketu SDCC u seredovishe Silicon Labs PDF angl Silicon Labs 2005 Arhiv originalu PDF za 21 chervnya 2013 Procitovano 30 lipnya 2016 Vikoristannya vilnogo C kompliyatora SDCC dlya rozrobki programnogo zabezpechennya mikrokontroleriv DS89C430 450 PDF angl Maxim Integrated 2005 Arhiv originalu PDF za 8 lyutogo 2019 Procitovano 30 lipnya 2016