TinyGo es un compilador de lenguaje Go destinado a su uso en áreas como microcontroladores, WASM y desarrollo de utilidades de línea de comandos.
TinyGo utiliza utilidades y bibliotecas escritas en el proyecto Go, al tiempo que proporciona un método alternativo para compilar programas basados en el trabajo del proyecto LLVM.
Objetivos del proyecto:
- Asegúrese del tamaño mínimo de los archivos ejecutables.
- Soporta la mayor cantidad de microcontroladores.
- Soporte de ensamblaje web.
- Buen soporte de CGo.
- Soporte de código Go original sin cambios.
Uso de ejemplo para cambiar el LED en un microcontrolador:
paquete principal
importar
"máquina"
"hora"
)
func main () {
led := máquina.LED
led.Configure(machine.PinConfig{Modo: machine.PinOutput})
por {
LED.Bajo()
tiempo.Sueño(tiempo.Milisegundo * 1000)
LED.Alto()
tiempo.Sueño(tiempo.Milisegundo * 1000)
}
}
La versión 0.6.0 contiene muchos cambios. Los principales se relacionan con el soporte mejorado para CGo, js.FuncOF (Go 1.12+), así como con dos nuevas placas de desarrollo: Adafruit Feather M0 y Adafruit Trinket M0.
La lista completa de cambios está disponible en Página del proyecto GitHub.
Fuente: linux.org.ru