前回、STM32F446の開発環境構築を行いました。
今回は、Nucleoボードに書込&デバッグを行います。
Nucleoボードとパソコンを、USB miniBケーブルで接続します。
Runアイコンボタンをクリックします。
初回だけ、デバッグに関する設定画面が表示されます。
デバッガタブをクリックして、デバッグプローブがST-Linkになっていることを確認します。
Startupタブをクリックして、「Set breakpoint at:」のチェックを外しておきます。
毎回main関数の最初でbreakpointが発生して動作が一時停止してしまいます。
これでOKボタンを押します。
ここで、大抵の人はエラーが起きます。Detailsボタンを押すと以下の画像のように説明がでます。
ST-Linkのファームウェアの更新が必要のようです。OKボタンを押してください。
ST-Linkのアップデートを求められるので、アップデートを行っていきます。
指示通り、一旦からNucleoからUSBを挿し直して、Yesボタンを押します。
Open in update modeをクリックします。
NucleoのST-Linkデバッガと通信して、アップグレードの準備ができたので、Upgradeボタンを押します。
アップグレードの進捗が見えます。
下にUpgrade successfulと表示されたら成功です。Windowを☓を押して閉じます。
書込が成功すると、以下の画面になります。
下のConsole画面に、Download verified successfullyと書かれています。
Nucleoボードを見ると、LD2の緑LEDの点滅周期が変わっていることがわかります。
これで、一連のST-Linkを経由した書込み確認は以上となります。
次は、デバッグモードの説明を行います。
デバッグモードの方法ですが、前回紹介した動画がわかりやすいので、youtube動画をもう一度貼り付けておきます。
STM32CubeIDEデバッグモードを使う理由ですが、以下の理由でデバッグしやすい機能があります。
- ブレークポイントが設定できるので、順次実行しながら動作を確認できる。
- 変数の中身が見える
- 変数の中身を直接変更できる
- 変数のグラフ表示が可能
ただし、ロボットの場合は、開発後半はケーブルレスで行うことがほとんどなので、初期段階やデバッグでプログラム確認時に使用します。
デバッグモードを実行するには、虫のアイコンをクリックします。
デバックモード画面に切り替えるか聞かれます。
詳細に見たい場合は、Switch、簡単に確認する場合は、Noをクリックします。
デバッグモードをストップするには、❏アイコンをクリックします。
デバッグモードの具体的な説明は、進捗具合によって順次更新します。
次回は、シリアル通信とUSB通信を行っていきます。