ここ数年開発を続けていたSTM32マイコン用のクラス・ライブラリ『紫』が、v3.0.0のリリースを迎えました。
開発が一段落したこのライブラリについて、来る5月2日にリモート・ワークショップを開きます。CubeIDEでNucleoを動かしたことのある人が対象です。せっかくのゴールデンウィークを家で過ごす皆さん、どうぞ気軽に参加してください。
紫について
紫は、STM32の機能のうち、UARTやSPI、I2C、GPIOなどといった機能を簡単に使うことを目的としています。
- 簡単なAPI
- マルチタスク
- IDEによる入力補完
- 必要なRAMは16kB程度
- GitHubによるホスティング
- 十分なドキュメント
開催方法
ワークショップはオンライン配信です。
- 日時:5月2日14:00時より2時間程度。最大3時間(準備のため10分前くらいから接続)。
- Youtube Liveを使用予定。会議形式はとりません。
- 事前に紫とそのデモのリポジトリをブラウザで開いておくことをお勧めします。
配信中は、Youtubeのチャットを見ています。質問を書いていただければ答えるかもしれません。なお、遅延が10秒近くあるため、対話性は望めません。
一応、Twitterのハッシュタグ #murasaki_workshop もみておきますが、Youtubeのチャットを推奨します。
スライドはWikiにアップロードしています。
事前準備
ワークショップは途中で手を動かし、紫を使ってもらうことを想定しています。ぜひ、手元のNucleoで試してみてください。以下にそのための事前準備を記しておきます。
Nucleo
Nucleoはサンプル・プログラムのレジストリに列挙されているものであれば利用できます(STM32L1シリーズはCubeIDEの不具合のため、EXTI関連Classが使えません)。ここにないものでも、RAMが16kBあれば試すことができます。
これからNucleoをいじってみたいという方であれば、入手性と性能からNucleo F446REをお勧めします。
CubeIDE
CubeIDEは最新のv1.3.0を使います。事前にインストールしておいてください。CubeIDEには、Eclipseマーケットを利用して以下のプラグインをインストールしておいてください
- egit : Gitのプラグイン。必須。
- eclox : Doxygenのプラグイン。あったほうがいい。
- easyshell : ファイルが存在するディレクトリを開くプラグイン。あったほうがいい。
開発環境
開発環境のOSは、以下をお勧めします。
- Ubuntu 16.04LTS
- Ubuntu 18.04LTS
- Windows 10 + WSL (多分問題ない)
紫はシェルスクリプトを使うため、Windows 10の場合はWSLが必要になります。このシェルスクリプトは自分で1からプロジェクトを構築するときに使います。当日、サンプル・プログラムをダウンロードするだけなら不要です。MacOSについては試したことがありません。MacOSでCubeIDE が動作するなら、サンプルのダウンロードと動作確認はできると思います。
開発環境にはgitをインストールしておいてください。これは必須です。
開発環境には端末エミュレータをインストールしておいてください。私はkermitを使っています。115200bps, 8bit, 1 stop bitでUSBシリアルポートに接続できるよう設定しておいてください。難しければ、これ無しでもプログラムを動かすことはできますが、少々さみしいかもしれません。
動作試験
ワークショップの前に、CubeIDEによるSTM32プロジェクト作成とNucleoでの実行を行っておくことをお勧めします。空のプログラムでも構いません。これはCube HALのアップデートを事前に済ませておくためです。アップデートが始まると、ターゲットによっては1GB以上のダウンロードが必要になります。