(2014.5.21 作成)
(2014.12.16 更新)
(2019.7.15 更新)
STM StudioはSTマイクロエレクトロニクス社より提供されているツールでマイコンの内部変数をリアルタイムにPCで表示してくれる便利なツールです。System Workbenchのステップ実行でもデバッグは可能ですが、実際の動作中の情報を取得できるのでパラメータの最適化などに有効に使えるツールです。
ソフトウエアと取説はSTマイクロエレクトロニクス社のサイトより直接ダウンロードしてください。ST-Linkが使える環境であれば使用できるので、STM32Discovery基板だけでなくNucleo基板や一般の基板でも使用可能です。
インストールについては特に悩むものではないと思います。Javaで動いているのでJRE7以上のランタイムがインストールされている必要があります。
使用方法は簡単なのでカンで動かすことが出来るとは思いますが、ここでは加速度センサー(MPU-6050)のサンプルプログラムを動かして内部変数をプロットする方法を説明します。
まず下の画面は起動直後の画面です。
最初にオレンジ色で示したプロトコルを"ST-Link SWD"に設定します。次に黄緑色の"Import variables from executable"をクリックしてマイコンに書き込んだソフトウエアを読み込んで表示させたい変数を設定します。
まず①をボタンで追加するプロジェクトの*.elfファイルを設定します。
SW4STM32を使用している場合"プロジェクト名"/debug/binに入っています。
次に②の"Expand table elements"にチェックを入れてください。これを入れていないと配列の2番目以降を選択できません。③に出ているリストから表示させたい変数を選択し 、④のImportでSTM Studioに変数を登録することが出来ます。登録できる変数はグローバル変数のみです。
変数の登録が出来れば後は左下のView settings(緑丸)でグラフの設定を行い、表示したい変数をプロットエリアにドラッグ&ドロップしてグラフを描画する準備を行います。
サンプリング間隔やログファイルを作る/作らないの設定はオレンジ印の"Change the acquisition parameters"で設定できます。この中から指定変数の立ち上がりエッジをトリガーに計測開始などの設定も可能です。
ここまで設定を行えば後はStartボタンを押すだけです。
このようにMPU-6050の加速度センサ、ジャイロセンサ、チップ温度のリアルタイムデータを表示することが出来ます。
無事に動きましたでしょうか?管理人は一度ST-Link Utilityを使用してST-Linkのファームをアップデートしなければうまく動かなかったことがあります。
ところで設定のなかにあるAcquision rateについて、Maximunに設定するとうまくデータが取得できなかったことがあります。ステップ実行を行うと期待通りの値が得られているのにSTM Studioでの値がおかしければチェックしてみてください。