Si usa microcontroladores y es un entusiasta de Go, Tinygo se desarrolló como un compilador de Go para áreas que requieren una representación compacta del código resultante y un bajo consumo de recursos, como microcontroladores de sistemas integrados y WebAssembly.
TinyGo es un compilador destinado a lograr la compilación de Go en varias plataformas de destino, implementado en LLVM y las bibliotecas utilizadas por el conjunto de herramientas principal del proyecto Go para admitir el lenguaje.
El sitio web de
Tinygo lo describe como:
TinyGo puede compilar y ejecutar programas en más de 94 placas de microcontroladores diferentes, incluyendo BBC micro:bit y Arduino Uno.
TinyGo también puede generar código WebAssembly (WASM) de tamaño muy compacto. Puede escribir programas para navegadores web, servidores y entornos informáticos perimetrales que admitan la familia de interfaces WebAssembly System Interface (WASI).
La razón para crear el proyecto TinyGO fue el deseo de utilizar el lenguaje Go normal en dispositivos compactos. El desarrollador pensó que si había una versión de Python para microcontroladores, ¿por qué no crear una versión similar para el lenguaje Go?
TinyGo le permite ejecutar programas compilados directamente en su microcontrolador, permitiéndole usar Go como su lenguaje para escribir scripts de automatización. TinyGo actualmente admite 94 modelos de microcontroladores, incluidas varias placas como Raspberry Pi Pico, Nordic y SiFive.
TinyGo proporciona controladores especiales para conectarse a sensores y dispositivos externos conectados y admite interfaces como I2C, GPIO y SPI. Los programas también se pueden compilar en formato WebAssembly (wasm/wasi) y ejecutarse como navegador y binarios de Linux.
Objetivo principal del proyecto:
Capacidad para usar un subconjunto conocido del lenguaje Go en dispositivos compactos. Go fue elegido sobre Rust porque es fácil de aprender, tiene soporte independiente de subprocesos para la paralelización basada en rutinas y ofrece una biblioteca estándar extensa para producir ejecutables muy compactos. El
es compatible con los modelos más populares de placas de microcontroladores. Capacidad para utilizar la Web
y crear aplicaciones WebAssembly independientes mediante la interfaz del sistema WebAssembly
(WASI) para manipular archivos, sockets y otras funciones proporcionadas por el sistema operativo.
Compatibilidad con CGo con una sobrecarga mínima al llamar a funciones del lenguaje C.
Compatibilidad con la mayoría de los paquetes estándar y la capacidad de compilar generalmente el código existente sin cambios.
A diferencia de los compiladores tradicionales de Emgo, Tinygo conserva el modelo de administración de memoria original de Go a través de un recolector de elementos no utilizados y, en lugar de compilar en una representación C, utiliza LLVM para generar código nativo eficiente. Vale la pena mencionar que
Tinygo recibió recientemente una nueva versión, concretamente la 0.28. Lo que hace que esta nueva versión se destaque es que ha mejorado significativamente el soporte de reflexión y proporciona su propia implementación de la biblioteca de reflexión. Esto permite la compatibilidad con muchos paquetes de biblioteca estándar que anteriormente tenían problemas.
Además, la nueva versión agrega soporte para la directiva //go:wasmimport para importar funciones de WebAssembly y soporte para nuevas tarjetas como Gopher Badge.
Por último, si quieres saber más, puedes encontrar más información en el siguiente enlace.
Como instalo Tinygo en Linux
Para los interesados en poder instalar Tinygo en Debian, Raspbian, Ubuntu y sus derivados. Abra una terminal y ejecute el siguiente comando allí:
wget https://github.com/tinygo-org/tinygo/releases/download/v0.28.1/tinygo_0.28.1_amd64.deb
sudo dpkg -i tinygo_0 .28.1_amd64. deb Para el caso especial de sistemas para dispositivos
ARM (versiones Raspbian y Ubuntu), escriba:
wget https://github.com/tinygo-org/tinygo/releases/download/v0 .28.1/ tinygo_0.28.1_arm64.deb sudo dpkg -i tinygo_0.28.1_arm64.deb
Para usuarios de Arch Linux y derivados, debe ejecutar:
sudo pacman -S tinygo
Para usuarios de Fedora: :
sudo dnf install tinygo
Una vez completada la instalación, debe asegurarse de que la ruta de Tinygo esté en su RUTA.
Comentarios
Publicar un comentario