Die Tinygo 0.34-projek is vrygestel, wat 'n Go-taalsamesteller ontwikkel vir laekragstelsels soos mikrobeheerders en ingebedde toestelle wat die generering van baie kompakte uitvoerbare lêers en lae hulpbronverbruik vereis. Samestelling vir ondersteunde teikens word in tinygo geïmplementeer met behulp van LLVM, en funksiebiblioteke word geleen uit die hoof Go-projek-nutsgoedstel. Die kode word onder die BSD-lisensie versprei.
Die saamgestelde program kan direk op mikrobeheerders uitgevoer word, sodat 'n subset van die Go-taal gebruik kan word vir die skryf van outomatiseringsskrifte. In sy huidige vorm word meer as honderd modelle mikrobeheerders ondersteun, insluitend verskeie Adafruit, Arduino, BBC mikro, ESP32, M5Stack, ST Micro, Digispark, Raspberry Pi Pico, Nordic Semiconductor, SiFive HiFive1, STM32, Makerdiary en Phytec-borde. Spesiale drywers word verskaf om met sensors en gekoppelde eksterne toestelle te kommunikeer, asook om koppelvlakke soos I2C, GPIO en SPI te ondersteun.
In teenstelling met die soortgelyke emgo-samesteller, wat nie die afgelope drie jaar opgedateer is nie, behou tinygo Go se oorspronklike vullisverwyder-geheuebestuursmodel en, in plaas daarvan om na 'n C-voorstelling saam te stel, gebruik LLVM om doeltreffende masjienkode te genereer. Programme kan bestaande standaard Go-kode sonder verandering gebruik, sowel as die meeste standaardpakkette. Benewens masjienkode-generering, ondersteun tinygo WebAssembly-generering met die vermoë om selfstandige WebAssembly-toepassings te skep deur die WASI (WebAssembly System Interface)-koppelvlak te gebruik.
Die nuwe weergawe implementeer ondersteuning vir MIPS-argitektuur met groot-endian byte-orde, en voeg ook ondersteuning by vir RAKwireless RAK4631 en WaveShare ESP-C3-32S-Kit-borde. Die "//go:wasmexport"-aanwysing is bygevoeg om WebAssembly-funksies uit te voer. Die werkverrigting van die vullisverwyderaar is geoptimaliseer. Bygevoeg nuwe opdragreëlopsies "-C DIR" en "-ldflags='-extldflags=...'".
Bron: opennet.ru
