Kompilasi pikeun sagala rupa platform target dilaksanakeun nganggo LLVM, sareng perpustakaan anu dianggo dina toolkit utama tina proyék Go dianggo pikeun ngadukung basa. Program anu disusun tiasa langsung dijalankeun dina mikrokontroler, ngamungkinkeun Go dianggo salaku basa pikeun nyerat skrip otomatis.
Motivasi pikeun nyiptakeun proyék énggal nyaéta kahayang ngagunakeun basa Go anu akrab dina alat anu kompak - pamekar naroskeun yén upami aya versi Python pikeun mikrokontroler, maka naha henteu ngadamel anu sami pikeun basa Go. indit
Dina bentuk ayeuna, 15 modél mikrokontroler dirojong, kalebet rupa-rupa papan tina Adafruit, Arduino, BBC micro:bit, ST Micro, Digispark, Nordic Semiconductor, Makerdiary sareng Phytec. Program ogé tiasa disusun pikeun dijalankeun dina browser dina format WebAssembly sareng file anu tiasa dieksekusi pikeun Linux. Ngarojong ESP8266 / ESP32 Controllers
Tujuan utama proyék:
Rojongan pikeun sistem multi-inti sanes diantara tujuan utama,
peluncuran éfisién sajumlah ageung coroutines (peluncuran coroutines sorangan dirojong pinuh), prestasi tingkat kinerja kompiler rujukan gc (optimasi ditinggalkeun ka LLVM sareng dina sababaraha aplikasi Tinygo tiasa langkung gancang tibatan gc) sareng lengkep.
Beda utama ti compiler sarupa
Diantara parobahan dina release 0.7 nyaéta palaksanaan paréntah "test tinygo", penyediaan rojongan kempelan sampah pikeun paling papan target (dumasar kana ARM Cortex-M) sarta WebAssembly, rojongan pikeun dewan HiFive1 rev B dumasar kana RISC- Arsitéktur V sareng papan Arduino nano33,
rojongan basa ningkat (rojongan pikeun widang bit maké getters na setters, rojongan pikeun struktur anonim).
sumber: opennet.ru