tinygo 0.6.0

TinyGo on Go-kielikääntäjä, joka on tarkoitettu käytettäväksi sellaisilla aloilla kuin mikro-ohjaimet, WASM ja komentorivityökalujen kehittäminen.

TinyGo käyttää Go-projektissa kirjoitettuja apuohjelmia ja kirjastoja tarjoten samalla vaihtoehtoisen menetelmän LLVM-projektin työhön perustuvien ohjelmien kokoamiseen.

Projektin tavoitteet:

  1. Varmista suoritettavien tiedostojen vähimmäiskoko.
  2. Tukee suurinta määrää mikrokontrollereita.
  3. WebAssembly-tuki.
  4. Hyvä CGo-tuki.
  5. Alkuperäisen Go-koodin tuki ilman muutoksia.

Esimerkki käytöstä LED-valon kytkemiseen mikro-ohjaimessa:

paketin pää

tuonti (
"kone"
"aika"
)

func main() {
led := kone.LED
led.Configure(kone.PinConfig{Tila: kone.PinOutput})
for {
led.Low()
aika.Sleep(aika.millisekuntia * 1000)

led. High()
aika.Sleep(aika.millisekuntia * 1000)
}
}

Versio 0.6.0 sisältää monia muutoksia. Tärkeimmät liittyvät CGon parannettuun tukeen, js.FuncOF (Go 1.12+) sekä kahteen uuteen kehityslevyyn: Adafruit Feather M0 ja Adafruit Trinket M0.

Täydellinen luettelo muutoksista on saatavilla osoitteessa GitHub-projektin sivu.

Lähde: linux.org.ru

Lisää kommentti