stMicro提供のライブラリにstm32CubeMXというのがある。
GUIでピン割り当てやインターフェースを設定出来て自動的にコードを生成してくれるというもので少し前から興味を持ってstm32CubeMXをインストールして
生成するプロジェクトをJDEのプロジェクトにインポートできるようにしてみたりしていたのだけれど本格的に使う気にはならなかった。
使うのを躊躇していたのは次のような理由からだった
1.ライブラリの構造が全く変わるので今までの開発資産が使えなくなる。
2.HALという名前のライブラリで高度な抽象化がされているので細かい操作が出来なくなったりリソースの無駄遣いになる(かもという懸念)。
3.stm32F4シリーズ用のライブラリしか提供されていなかった。
最近ローコスト版のCPUがありタッチセンシングが使えるstm32F0シリーズを使い始めてstm32F0シリーズのライブラリが必要になったのでSTマイクロのサイトを検索してみると殆どすべてのシリーズにstm32CubeMXのライブラリが対応していたのでstm32F051(Flash64K,RAM8K)でチャレンジしてみた。
とりあえずはデバッグ用にUSARTの送受信関数をHALを使って書き換えて動作するところまでこぎつけた、その結果stm32CubeMXはかなり使えそうな気がしてきた。
GUIで色々な設定が出来るのは便利だし、ドキュメント作成もたいへん効率的になりそうだ。
端子設定画面、FPGAツールのように端子の使い方をGUI画面で設定すると自動的に初期化のコードを生成してくれる。
stm32Fシリーズはクロック設定が柔軟に行える反面設定が判りにくいという難点があったがstm32FCubeMXを使うと次の通り簡単に設定できるし、stm32CubeMXのプロジェクトを保存しておけばクロック設定も一目瞭然となる。
UARTの設定なども慣れるまでは難しいものだが次の画面で設定すると自動的に初期化コードを生成してくれる。