Çeşitli hedef platformlar için derleme, LLVM kullanılarak uygulanır ve Go projesinin ana araç setinde kullanılan kütüphaneler, dili desteklemek için kullanılır. Derlenen program doğrudan mikro denetleyiciler üzerinde çalıştırılabilir ve bu da Go'nun otomasyon komut dosyaları yazmak için bir dil olarak kullanılmasına olanak tanır.
Yeni bir proje yaratmanın motivasyonu, tanıdık Go dilini kompakt cihazlarda kullanma arzusuydu - geliştiriciler, mikrodenetleyiciler için bir Python sürümü varsa, o zaman neden Go dili için benzer bir dil yaratmayalım diye düşündüler. Gitmek
Mevcut haliyle Adafruit, Arduino, BBC micro:bit, ST Micro, Digispark, Nordic Semiconductor, Makerdiary ve Phytec'in çeşitli kartları dahil olmak üzere 15 mikrodenetleyici modeli desteklenmektedir. Programlar ayrıca bir tarayıcıda WebAssembly formatında ve Linux için yürütülebilir dosyalar olarak çalışacak şekilde derlenebilir. ESP8266/ESP32 kontrol cihazlarını destekler
Projenin temel hedefleri:
Çok çekirdekli sistemlerin desteklenmesi ana hedefler arasında yer almıyor,
çok sayıda eşyordamın verimli bir şekilde başlatılması (eşyordamların başlatılması tamamen desteklenir), referans derleyici gc'nin performans seviyesine ulaşılması (optimizasyon LLVM'ye bırakılır ve bazı uygulamalarda Tinygo, gc'den daha hızlı olabilir) ve tamamlanır
Benzer bir derleyiciden temel fark
Sürüm 0.7'deki değişiklikler arasında "tinygo test" komutunun uygulanması, çoğu hedef kart için çöp toplama desteğinin sağlanması (ARM Cortex-M'ye dayalı) ve WebAssembly, RISC-'ye dayalı HiFive1 rev B kartı desteği yer alıyor. V mimarisi ve Arduino nano33 kartı,
geliştirilmiş dil desteği (alıcıları ve ayarlayıcıları kullanan bit alanları desteği, anonim yapılar için destek).
Kaynak: opennet.ru