今回は OpenOCD(Open On-Chip Debugger) のインストール・設定手順について記述します。
Macユーザーなら Homebrew — The missing package manager for OS X をインストールしている方も多いと思います。このツールを使用すれば、OpenOCDのインストールは簡単です。
Homebrewをインストールしていない方でOpenOCDを使いたいと考えている方は、Homebrewをインストールしましょう。ターミナルから以下のコマンドを入力すれば良いです。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
詳細は、WEBページを検索してみてください。
OpenOCDのインストール
以下のとおりコマンドを入力すれば良いです。
brew install openocd --enable_ft2232_libftdi --enable_stlink
上記のコマンドラインの内容から察することができると思いますが、ST-LINKとFTDI社のFT2232を使用したデバッガ(JTAGKey clone)の使用を想定しています。
OpenOCDをST-LINKで使用する
環境構築
まずはST-LINKを入手しましょう。STM32 Discovery / Nucleoシリーズを購入するのが安上がり。安いものだと1500円くらいからあり、STM32シリーズのCPUとST-LINKがついてきます。商品によっては周辺機器が付属するものもあります。
Nucleoシリーズの場合、ST-LINKと本体を分離することが容易になっています。なかには NucleoとかいうST-LinkをFRISKケースに入れる - STM32 – Tokoro’s Tech-Note のように、分離してFRISKケースに入れる方もいます。
OpenOCDとST-LINK、そしてCPU(簡単なのは、Discovery / Nucleo)の準備ができたら、OpenOCDの設定ファイルを作成しましょう。CPUにより若干異なってきますので、CPUに合わせて設定しましょう。代表的な環境に対する設定ファイルは /usr/local/share/openocd/scripts/ 配下にあるので、一度参照してみると良いと思います。
当方はWEBページなどを参考にしながら、以下のようなものを用意しました。
- stm32f3discovery.cfg
Script for connecting with the STM32F3DISCOVERY board
source [find interface/stlink-v2.cfg]
source [find target/stm32f3x_stlink.cfg]
reset_config srst_only srst_nogate
- stm32f4nucleo.cfg
Script for connecting with the STM32F4NCLEO board
source [find interface/stlink-v2-1.cfg]
SRAM 96KB version chip
set WORKAREASIZE 0x18000
source [find target/stm32f4x_stlink.cfg]
reset_config srst_only srst_nogate
- stm32f0discovery.cfg
This is an STM32F0 discovery board with a single STM32F051R8T6 chip.
http://www.st.com/internet/evalboard/product/253215.jsp
source [find interface/stlink-v2.cfg]
transport select hla_swd
set WORKAREASIZE 0x2000
source [find target/stm32f0x.cfg]
reset_config srst_only
動作確認
ターミナルから実行してみる。うまく動作すれば以下のとおり表示される。
$ openocd -f stm32f0discovery.cfg
:
Info : This adapter doesnt support configurable speed
Info : STLINK v2 JTAG v16 API v2 SWIM v0 VID 0x0483 PID 0x3748
Info : Target voltage: 2.892453
Info : stm32f3x.cpu: hardware has 6 breakpoints, 4 watchpoints
Eclipseから実行できるようにする
Eclipseを起動ししたら、 Run >> External Tools >> External Tools Configuration を選択します。
上記の画像を参考にしながら、それぞれの環境に合わせて記述しましょう。その後、 Run >> External Tools から実行してみましょう。正しく動作すれば、Eclipseの Console タブに先ほどターミナルから起動した場合と同様のログが出力されます。
ここまでできれば、後はサンプルプロジェクトを作り確認するのみ。あと少しです!