EclipseによるSTM32統合開発環境構築~トラブルシューティング

トラブルシューティング(既知の問題)

使っている中で、いくつかの問題も発生していますのでこの場を借りてシェアしたいと思います。

・起動時にエラーが出ることがある。


上記のように、main()の先頭でデバッグ停止すれば問題無くデバッグが可能。
 ただし、デバッグ停止せずプログラム停止する場合は別の問題

・OpenOCDが接続できない、デバッグ起動できない
 ・OpenOCDが起動したままになっている可能性がある。
  一度、Eclipseを終了
  tasklistコマンドでOpenOcd.exeのプロセスを見つける
  taskkillコマンドで/F指定で強制終了させる

 ・それでも接続できない
  ドライバとOpenOCDの状態に不整合が生じている可能性
  一度、Eclipseを終了
  ST-LinkのUSBを抜き差ししてみる

 ・それでも接続できない
  PCを再起動する

問題が発生しやすい作業
・プロジェクトを切り替える
 STM32CubeMXでプロジェクト作成は簡単にできます。
 しかし、プロジェクト・パースペクティブで切り替えると、
 やはりデバッグ接続できなくなったりします。
 そんなときは一度、Eclipseを再起動してみてください。

・ボードの種類を変更する
 STM32は多くの評価ボードがあります。
 DiscoveryやNucleo、MPUもF0~F7など多くの種類があり、
 OpenOCDのボード設定で変更できますが、
 同じワークスペースで切り替えると上手くいかないことがあります。
 ボードの種類を変更する時は、ワークスペースごと切り替えたほうが安全です。


アップデート対応
Eclipseは自動的にアップデートを検出して、インストールを求めてきます。


このときは、OpenOCD関連のアップデートでしたが、外部ツールとして起動するOpenOCDをアップデート後のOpenOCDを起動するように設定を自分で変更しなければなりません。
具体的にはストリング置き換えで指定しているディレクトリを変更します。

これまで、
fr.ac6.mcu.externaltools.openocd.win32_1.21.0.201811131241
のディレクトリを指定している部分を
fr.ac6.mcu.externaltools.openocd.win32_1.22.0.201902141520
のディレクトリに変更します。

インストールの実態を確認したいときは、
dir /S OpenOCD.exe
などとして実行ファイルを検索することで確認できます。



Let's Happy Hacking!!


Lightning Brains 

コメント

このブログの人気の投稿

Linuxシステムコール、共有メモリの使い方

Linuxシステムコール、メッセージキューの使い方

Linuxシステムコール、セマフォの使い方