Ajouter un commentaire

TinyGo 0.42 : mise à jour du langage et de LLVM

Par:
francoistonic

mer, 02/09/2026 - 09:05

TinyGo est un sous-ensemble du langage Go dédié aux microcontrôleurs. La version 0.42 est disponible depuis le 1er septembre. Cette version introduit le support de Go 1.27 (langage et les binaires générés), LLVM 22. TinyGo a volontairement fait l'impasse sur LLVM 19 et 20.

Cette version autorise une récupération après un "panic". Explication : avant cette version, quand on déférençait un pointeur nil ou quand on rencontrait une dvision par 0 dans un programme, le code s'arrêtait net. "TinyGo 0.42 permet désormais de récupérer les "panics" d'exécution. Les déréférencements de pointeurs nuls, les divisions par zéro, les opérations de découpage et de mappage hors limites, ainsi que les paniques de canal sont toutes gérées par `defer` et `recover` comme prévu. Sous Windows, un gestionnaire d'exceptions vectorisé a été ajouté pour remplir la même fonction, et `recover` fonctionne désormais également sur RISC-V64." Le runtime sait quelle panique peut être gérée et celle qui provoque réellement un arrêt. "Les erreurs de mémoire insuffisante et autres erreurs fatales restent irrécupérables, car il n'y a rien à faire."

Boot sur son ordinateur !

Autre belle nouveauté : TinyGo peut booter sur son ordianteur. Comment ? Le langage introduit une nouvelle cible : UEFI, bref un niveau de firmware / bootloader. Le support est minimal dans cette version. La disponibilité de TinyGo sur ESP32 va s'améliorer : Espressif travaille dessus depuis quelques mois. 

De nouveaux hardwares sont supportés : 

  • Puya PY32F 
  • Pimoroni Blinky 2350 &Badger 2350
  • Seeed Studio XIAO nRF52840
  • mGBA debugging supporte Game Boy Advance

Note de version complète : https://github.com/tinygo-org/tinygo/releases/tag/v0.42.0

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
 III  K  K  N   N   QQQ     SSS  
I K K NN N Q Q S
I KK N N N Q Q SSS
I K K N NN Q QQ S
III K K N N QQQQ SSSS
Q