TinyGo ist ein Go-Compiler, der fĂŒr den Einsatz in Bereichen wie Mikrocontrollern, WASM und der Entwicklung von Kommandozeilen-Utilities konzipiert ist.
TinyGo verwendet Tools und Bibliotheken, die im Go-Projekt geschrieben wurden, und bietet gleichzeitig eine alternative Methode zur Kompilierung von Programmen auf Basis der LLVM-Technologie.
Projektziele:
- Das minimale AusfĂŒhrungsdateigröĂe sicherzustellen.
- UnterstĂŒtzung fĂŒr die gröĂtmögliche Anzahl von Mikrocontrollern.
- UnterstĂŒtzung von WebAssembly.
- Gute UnterstĂŒtzung fĂŒr CGo.
- UnterstĂŒtzung fĂŒr Original-Go-Code ohne Ănderungen.
Beispiel zur Verwendung zum Schalten einer LED auf einem Mikrocontroller:
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)
}
}
Version 0.6.0 enthĂ€lt zahlreiche Ănderungen. Die wichtigsten betreffen die Verbesserung der CGo-UnterstĂŒtzung, js.FuncOF (Go 1.12+) sowie zwei neue Debugger-Boards: Adafruit Feather M0 und Adafruit Trinket M0.
Die vollstĂ€ndige Liste der Ănderungen ist auf der GitHub-Seite des Projekts.
Quelle: linux.org.ru
