TinyGo â Ă«shtĂ« njĂ« kompilator pĂ«r gjuhĂ«n Go, i zhvilluar pĂ«r pĂ«rdorim nĂ« fusha si mikro-kontrollerat, WASM, si dhe zhvillimin e mjeteve tĂ« linjĂ«s sĂ« komandĂ«s.
TinyGo përdor mjete dhe biblioteka të shkruara brenda projektit Go, duke ofruar një metodë alternative për kompilimin e programeve bazuar në zhvillimet e projektit LLVM.
Detyrat e projektit:
- Të sigurojë madhësinë minimale të skedarëve ekzekutivë.
- Mbështetje për sa më shumë mikro-kontrollerë.
- Mbështetje për WebAssembly.
- Mbështetje e mirë për CGo.
- Mbështetje për kodin origjinal në Go pa ndryshime.
Një shembull përdorimi për ndërrimin e LED në mikro-kontroller:
package main
import (
"machine"
"time"
)
func main() {
led := machine.LED
led.Configure(machine.PinConfig{Mode: machine.PinOutput})
for {
led.Low()
time.Sleep(time.Millisecond * 1000)
led.High()
time.Sleep(time.Millisecond * 1000)
}
}
Versioni 0.6.0 përmban shumë ndryshime. Kryesoret lidhen me përmirësimin e mbështetjes për CGo, js.FuncOF (Go 1.12+), si dhe dy pllaka të reja të debagimit: Adafruit Feather M0 dhe Adafruit Trinket M0.
Lista e plotë e ndryshimeve është e disponueshme në faqen GitHub të projektit.
Burimi: linux.org.ru
