TinyGo ist ein Go-Sprachcompiler, der für den Einsatz in Bereichen wie Mikrocontrollern, WASM und der Entwicklung von Befehlszeilendienstprogrammen vorgesehen ist.
TinyGo verwendet im Go-Projekt geschriebene Dienstprogramme und Bibliotheken und bietet gleichzeitig eine alternative Methode zum Kompilieren von Programmen basierend auf der Arbeit des LLVM-Projekts.
Projektziele:
- Stellen Sie die Mindestgröße ausführbarer Dateien sicher.
- Unterstützt die größte Anzahl an Mikrocontrollern.
- WebAssembly-Unterstützung.
- Gute CGo-Unterstützung.
- Unterstützung des ursprünglichen Go-Codes ohne Änderungen.
Beispielanwendung zum Schalten einer LED an einem Mikrocontroller:
Paket main
importieren (
"Maschine"
"Zeit"
)
func main () {
led := machine.LED
led.Configure(machine.PinConfig{Mode: machine.PinOutput})
zum {
led.Low()
time.Sleep(time.Millisecond * 1000)
led.High()
time.Sleep(time.Millisecond * 1000)
}
}
Version 0.6.0 enthält viele Änderungen. Die wichtigsten beziehen sich auf die verbesserte Unterstützung für CGo, js.FuncOF (Go 1.12+) sowie zwei neue Entwicklungsboards: Adafruit Feather M0 und Adafruit Trinket M0.
Die vollständige Liste der Änderungen finden Sie unter GitHub-Projektseite.
Source: linux.org.ru