昨日少し触れましたが、実験用のアプリケーションを速く作るためには、やはり何らかのフレームワークが欲しい。サッと作れないと他の仕事の合間にちょっと実験をしたいというときに腰が重くなります。

STM32CubeMXで生成したプロジェクトはC言語用のプロジェクトですが、自分としてはC++の方が見通しの良いプログラムを書きやすいのでC++のフレームワークが欲しい。所有しているボードはF4 DiscoveryとF7 Discoveryだけなので、この2種類のボードに限定した簡単なもので良い。

ということで簡単なフレームワークを作り始めました。

作るプログラムによってペリフェラルが設定が様々なので、ペリフェラルの初期化部分に自由度を持たせるのが課題。これまで作ってきた簡単なプログラムと等価な機能のものを全部動かせるところまで、ある程度決め打ち的なクラス設計で乗り切ってから、汎用性を持てるように拡張する。

Screenshot from 2017-09-07 07-37-47.png

CubeMXが生成したソースはそのままでは使えないので、CubeMXを使わないやり方で実装していくのが良さそうです。

ボタン、LED、USART、タイマー、ADC、DAC、I2C、I2S、SPIが動いて、LCDとかSDファイルシステムとか実験にすぐに使いそうなものに対応したものにするのが当面の目標。手探りでやっていきます。ソースの公開はだいぶ先になります。