tinygo 0.6.0

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:

  1. Das minimale Ausführungsdateigröße sicherzustellen.
  2. Unterstützung für die größtmögliche Anzahl von Mikrocontrollern.
  3. Unterstützung von WebAssembly.
  4. Gute Unterstützung für CGo.
  5. 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

60GB SSD 8Gb DDR4