4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

CLion + OpenOCD + Nucleo F401REで書き込みとデバッグ [Mac]

Posted at

CLionからOpenOCD経由でNucleo F401REにファームウェア書き込みとデバッグが出来るようにした。

前提

STM32CubeIDEのプロジェクトをCLionで読み込んで使用しています。

使ったもの / 必要なもの

  • MacBook Pro 15 (late 2016)
  • CLion
  • OpenOCD
  • gcc-arm-embedded
  • Nucleo F401RE
    • オフィスのおもちゃ箱から拾ってきた

インストール

CLion, OpenOCD, gcc-arm-embeddedはHomebrewから入れる

brew install open-ocd
brew cask install clion
brew cask install gcc-arm-embedded

toolchainの設定

Defaultgcc-arm-embedded という名前にコピーする。

image.png

C Compilerと C++ Compilerをgcc-arm-embeddedのものに変更する。ファイルは /usr/local/bin 以下の arm-none-eabi-gccarm-none-eabi-g++ とする。デバッガはBundled GDBに設定。

image.png

CMakeの設定

CMakeで使用するtoolchainを gcc-arm-embedded に切り替える。

image.png

Run / Debug Configurationの設定

CMake ApplicationとOpenOCD Download & Runを追加する。

image.png

OpenOCDの設定を行う場合、Board config fileは st_nucleo_f4.cfg を指定する。
image.png

トラブルシュート

デバッガが動かない

デバッガにGDBを指定しているにも関わらず、次のようにLLDBでは接続できないというエラーが出る。

Error running 'OCD led_blink': GDB Remote Debug using LLDB is not supported in CLion yet

image.png

次の画面のように、toolchain内でデバッガをGDBにセットしたコンフィグを一番上にする。

image.png

ST-Link/V2に接続できない

F401REには ST-Link/V2-1 が内包されている。 STM32 Debug+VCPSTM32 Debug + Mass storage + VCP という2つのバージョンがあり、この2つのFWは、USBデバイスとしてのPIDが異なる(前者が 0x374b で後者が 0x3752)。前述のBoard config fileの指定では後者のFW用のもの。

image.png

参考

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?