インストールの確認
全てのツールが正しくインストールされているか、確認しましょう。
Linuxのみ実行
パーミッションの確認
USBケーブルを使って、ノートPCをF3に接続して下さい。 ボード端の中央にある「USB ST-LINK」とラベルが付いたものにケーブルを接続して下さい。
これで、F3が/dev/bus/usb
にUSBデバイス(ファイル)として現れるはずです。
どのように番号付けされるか調べてみましょう。
$ lsusb | grep -i stm
Bus 003 Device 004: ID 0483:374b STMicroelectronics ST-LINK/V2.1
$ # ^^^ ^^^
私の場合、F3は、3番目のバスに接続されて、4番目のデバイスとして番号付けされています。
これは、/dev/bus/usb/003/004
がF3であることを意味します。パーミッションを確認しましょう。
$ ls -l /dev/bus/usb/003/004
crw-rw-rw- 1 root root 189, 20 Sep 13 00:00 /dev/bus/usb/003/004
パーミッションは、crw-rw-rw-
でなければなりません。もし違う場合、udevルールを確認し、次のコマンドでリロードしてみて下さい。
$ sudo udevadm control --reload-rules
上記の手順をシリアルモジュールについても繰り返します。
F3を抜いて、シリアルモジュールを接続します。すると、関連するファイルが見つかります。
$ lsusb | grep -i ft232
Bus 003 Device 005: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC
私の場合、/dev/bus/usb/003/005
です。パーミッションを確認します。
$ ls -l /dev/bus/usb/003/005
crw-rw-r-- 1 root root 189, 21 Sep 13 00:00 /dev/bus/usb/003/005
前回同様、パーミッションは、crw-rw-r--
でなければなりません。
全てのOS
初めてのOpenOCD接続
USBケーブルを使って、ノートPCをF3に接続して下さい。 ボード端の中央にある「USB ST-LINK」とラベルが付いたものにケーブルを接続して下さい。
ボードにUSBケーブルを接続した直後、2つの赤いLEDが点灯するはずです。
次に、このコマンドを実行して下さい。
$ # *nix
$ openocd -f interface/stlink-v2-1.cfg -f target/stm32f3x.cfg
$ # Windows
$ # 注記 cygwinユーザーは、-sフラグで問題があったと報告しています。もし、問題に遭遇した場合、
$ # `C:\OpenOCD\share\scripts`ディレクトリからopenocdを呼ぶことができます。
$ openocd -s C:\OpenOCD\share\scripts -f interface/stlink-v2-1.cfg -f target/stm32f3x.cfg
注記 Windowsユーザーへ。
C:\OpenOCD
は、OpenOCDをインストールしたディレクトリです。
重要 STM32F3DISCOVERYボードには、2つ以上のハードウェアリビジョンが存在します。古いリビジョンのハードウェアについては、 「interface」引数を
-f interface/stlink-v2.cfg
に変更する必要が有ります(-1
が最後についていないことに留意して下さい) 代わりに、古いリビジョンでは、-f interface/stlink-v2-1.cfg -f target/stm32f3x.cfg
の代わりに-f board/stm32f3discovery.cfg
を使用できます。
次のような出力が確認できるはずです。
Open On-Chip Debugger 0.10.0
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : auto-selecting first available session transport "hla_swd". To override use 'transport select <transport>'.
adapter speed: 1000 kHz
adapter_nsrst_delay: 100
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
none separate
Info : Unable to match requested speed 1000 kHz, using 950 kHz
Info : Unable to match requested speed 1000 kHz, using 950 kHz
Info : clock speed 950 kHz
Info : STLINK v2 JTAG v27 API v2 SWIM v15 VID 0x0483 PID 0x374B
Info : using stlink api v2
Info : Target voltage: 2.915608
Info : stm32f3x.cpu: hardware has 6 breakpoints, 4 watchpoints
(確認できない場合、トラブルシューティングの手順を確認して下さい。)
openocd
は端末をブロックします。それで問題ありません。
また、赤いLEDの1つ(USBポートに一番近いもの)が、周期的に赤と緑に点灯し始めるはずです。
これでおしまいです!ボードは動いています。それでは、openocd
を終了できます。