TinyGo 0.36 Released: GO Language Compilation

published the project tinygo 0.36 , and the developing compiler for the language compiler for the language Go. The compiler is suitable for generating compact executable files for low -power systems, such as microcontrollers and built -in devices, programs for which should minimally consume memory and computing resources. Compilation for supported target platforms is implemented using LLVM, and the libraries of functions are borrowed from the main tools of the GO project. Code is distributed under the license BSD.

The compiled program can directly be launched on microcontrollers, which allows you to use subset GO language to write automation scenarios. is maintained more than a hundred models of microcontrollers, including various ADAFRUIT, Arduino, BBC Micro, ESP32, M5Stack, ST Micro, ST Micro, ST Micro, ST Micro, ST Micro, ST Micro, ST Micro, ST Micro, ST Micro, ST Micro, ST Micro, ST Micro, ST Micro, ST Micro, ST Micro, ST Micro, ST Micro, ST Micro, ST Micro, ST Micro, ST Micro, ST Micro, ST Micro, ST Micro, ST Micro, ST Micro, ST Micro, ST Micro, ST Micro, ST Micro, ST Micro, ST Micro, Digispark, Raspberry Pi Pico, Nordic Semiconductor, Sifive Hifive1, STM32, MAKERDIARY and PHYTEC. For interaction with sensors and connected external devices, as well as to support interfaces, such as I2C, GPIO and SPI, special drivers .

..

Unlike a similar compiler emgo , not updated for the last four years, the original Memory control model GO using the garbage collector, and instead of compilation in SI, involved in LLVM for direct generation for direct generation for direct generation machine code. The programs may use the already existing standard code in the GO language, as well as most of the standard packages. In addition to generating machine code, TinyGo is available support forms of webassembly bytcode with the possibility of creating separate webasembly applications, using the WASI interface (Webassembly System Interface).

In the new version:

  • Support for the LLVM 19.
  • The initial support of the GO 1.24 language has been added.
  • The possibilities for assembly in Webassembly format are expanded and a new assembly mode “Buildmode = Wasi-Legacy” for compatibility with old WASI modules that do not transmit the return code is added.
  • File.chmod and File.chdir functions are added to the standard library.
  • Compatibility with the new Ubuntu branches.
  • Added Support for: Pimoroni Pico Plus2, Elecrow Pico RP2350 W5, ELECROW PICO RP2040 W5, NRF51 HW-651, ESP32C3-SUPERMINI and WAVESHARE-RP2040 -TINY.

/Reports, release notes, official announcements.