ĂshtĂ« publikuar versioni i projektit Tinygo 0.34, i cili zhvillon kompiluesin e gjuhĂ«s Go pĂ«r sisteme me kapacitet tĂ« ulĂ«t, si mikrokontrollerĂ«t dhe pajisjet e integruara, tĂ« cilĂ«ve u nevojitet gjenerimi i skedave ekzekutivĂ« shumĂ« tĂ« kompaktĂ« dhe konsum i ulĂ«t burimesh. Kompilimi pĂ«r platformat e mbĂ«shtetur realizohet nĂ« tinygo duke pĂ«rdorur LLVM, ndĂ«rsa bibliotekat e funksioneve janĂ« huazuar nga mjetet kryesore tĂ« projektit Go. Kodi shpĂ«rndahet nĂ«n licencĂ«n BSD.
Programi i kompozuar mund të ekzekutohet drejtpërdrejt në mikrokontrollerë, çka lejon përdorimin e një nëngrupi të gjuhës Go për shkruarjen e skenarëve të automatizimit. Tani për tani mbështeten më shumë se njëqind modele mikrokontrollerësh, duke përfshirë bordet e ndryshme Adafruit, Arduino, BBC micro, ESP32, M5Stack, ST Micro, Digispark, Raspberry Pi Pico, Nordic Semiconductor, SiFive HiFive1, STM32, Makerdiary dhe Phytec. Për ndërveprimin me sensorët dhe pajisjet e jashtme të lidhura, si dhe për mbështetje të ndërfaqeve si I2C, GPIO dhe SPI, ofrohen shoferë të veçantë.
Në krahasim me kompiluesin e ngjashëm emgo, i cili nuk është përditësuar për tre vitet e fundit, tinygo mban modelin origjinal të menaxhimit të memories së Go me përdorimin e mbledhësit të mbetjeve dhe në vend të kompilimit në përfaqësimin e gjuhës C, përdor LLVM për të gjeneruar kodin efektiv të makinerisë. Në programet mund të përdoret pa ndryshime kodi standard i ekzistueshëm në gjuhën Go, si dhe pjesa më e madhe e pakot standarde. Përveç gjenerimit të kodit të makinës, në tinygo është e disponueshme mbështetje për gjenerimin e WebAssembly me mundësinë e krijimit të aplikacioneve të veçanta WebAssembly, duke përdorur ndërfaqen WASI (WebAssembly System Interface).
NĂ« versionin e ri Ă«shtĂ« implementuar mbĂ«shtetje pĂ«r arkitekturĂ«n MIPS me renditjen e byte-ve big-endian, si dhe Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r bordet RAKwireless RAK4631 dhe WaveShare ESP-C3-32S-Kit. PĂ«r eksportimin e funksioneve WebAssembly Ă«shtĂ« shtuar direktiva "//go:wasmexport". ĂshtĂ« optimizuar performanca e mbledhĂ«sit tĂ« mbetjeve. JanĂ« shtuar opsione tĂ« reja tĂ« komandĂ«s "-C DIR" dhe "-ldflags='-extldflags=âŠ'".
Burimi: opennet.ru
