組み込み機器でもGo言語を使う「tinygo」
ソフトウェア
Published: 2019-03-03

tinygo-org/tinygoから発見

Go言語が流行っていますが、組み込みの世界では依然C/C++が主流です。(Arduinoも中身はC/C++です)

しかし、このプロジェクトでは組み込み環境でもGo言語を使えるようにするものです。

この手の高級な言語を組み込み環境で使うというのは、そこそこのメモリやCPU性能を要求するというものが多い中で、このtinygoは「Arduino Uno」や「Digispark」までサポートしているというのが驚きです。

また激安で有名なSTM32F103を使ったボード(通称 Bluepill)でも動作するのもうれしいところです。

まぁ、まだまだ開発中のプロダクトということで、かなりの制限があります。 reflectionやmapは部分的にしかサポートされていませんし、並列実行も制限が多いようです。また利用できる標準ライブラリもほとんどありません。

そしてGC(Garbage Collection)は今のところArm系でしか動かないようなので、われらがAVRではデモ程度しか動かないでしょう。

しかしC/C++以外でも組み込みの開発ができるというのは面白いので、今後が期待できるプロジェクトです。

記事を準備していたら、日本語のもっと素晴らしいエントリができてました!こっちを見れば実際の開発の様子を知ることができます。→ TinyGoで始める組み込みプログラミング

2019/02/19 追記

TinyGoはGoogleがスポンサーすることになったようです。

またAVRでもGCが動くようになり、Arduino用としてもそこそこ使えるようになってきたようです。

ただ、ちょっと使ってみたところArduinoで言うところのPROGMEM(データROMに変数を配置する)機能はまたtinygoから利用する術がないようです。主にこれは液晶用のビットマップフォントなどを使う際に重宝する機能なのですが、そういう使い方をしないのであれば、普通にGo言語を使ってArduinoのプログラミングができそうでした。

← 前の記事 - 8ドルのRISC-Vチップ
次の記事 - ESP32にSPIRAMを足す方法 →
このエントリーをはてなブックマークに追加