LoginSignup
13
12

More than 3 years have passed since last update.

STM32 > Nucleo基板搭載のST-LINK/V2-1を使用して、別の基板をデバッグする > デバッガーの一つとして使う

Last updated at Posted at 2019-07-22
動作環境
Ubuntu 18.04 LTS
STM32CubeMX v5.2.1
STM32CubeIDE v1.0.1
基板1: Nucleo STM32F446RET6 64 PINS (以下、F446RE)
基板2: Nucleo STM32L476RGT6 64 PINS (以下、L476RG) 

前置き

NucleoやDiscoveryをそのまま商業利用できない場合、自作のSTM32基板を開発することになる。

自作の場合、ST-LINKは搭載できないだろう。
デバッガが必要になる。

デバッガとしてはST-LINK V2STLINK-V3SETがある。
これらの入手性は高くはなく、通販での受取になる(著者の行動範囲では)。

一方で、Nucleo基板は容易に手に入る。Nucleo基板上にはST-LINK/V2-1が搭載されている。

Nucleo基板上のST-LINK/V2-1を使用してデバッグができれば、自作STM32基板もデバッグできるのではないか、と考えてその方法を探した。

基板搭載のST-LINK/V2-1を使用して、別の基板をデバッグする

情報

上記の例ではNucleo基板のST-LINK/V2-1とSTM32メインMCU基板を分離して、配線をした上でデバッグをしている。
同じことを二枚のNucleo基板で試してみることにした。

Note:上記のリンクの再現が多くであるため、上記リンクを参考にして、なお、参考になる情報があると考えられたら、以降を読んでみてください。

使用基板

  • Nucleo STM32L476RGT6 64 PINS (以下、L476RG)
    • こちらのST-LINK/V2-1を使う
  • Nucleo STM32F446RET6 64 PINS (以下、F446RE)
    • こちらをデバッグする
    • そのため、ST32CubeIDEのプロジェクトはF446RE用に作る

ジャンパ設定

  • L476RG
    • CN2のジャンパ二つをはずす
      • => デバッグにSWDを使用するようになる
    • B2近傍のJP5ピンをはずす
      • => こちらのSTM32メイン基板の電源を切るため
      • AN4989 Appendix BのFigure 67. ST-LINK cuttable part of NucleoにJP5をはずす記載がある

配線

L476RGのST-LINK/V2-1用基板のSWDコネクタ(CN4)から、F446REのメイン基板のCN7へ接続する。
(CN4:1という記載は、CN4の1番ピンを意味する。)

用途 L476RG F446RE ケーブルの色
VDD_TARGET CN4:1 (3.3V) CN7:16 Red
SWCLK CN4:2 CN7:15(PA14) Yellow
GND CN4:3 CN7:20(GND) Green
SWDIO CN4:4 CN7:13 (PA13) Orange
NRST CN4:5 CN7:14 (Reset) Brown

ケーブルとしてはQIケーブル1S-1S 300mm/赤 3本入の各色を用意した。

USB接続

Ubuntu 18.04 LTSのシステムに二本のケーブルでUSB接続する。

  • L476RG
  • F446RE

それぞれのドライブがマウントされる。

STM32CubeIDE

以下の通り実施する。

  • `1. STM32CubeIDEでF446RE向けのプロジェクトを作る。
    詳細は割愛するが、2019-07-03 STM32L476 > FreeRTOSでLチカ (環境: Ubuntu 18.04 LTS + STM32CubeMX + STM32CubeIDE)記載の内容をF446RE選択で実施する。

    • PA5のLチカ
  • `2. Run > Debug configurationsの「Debbugerタブ」において、L476RG上のST-LINK/V2-1を使用する設定をする。図2-1のように「GDB Server Command Line Options」の「Use specific ST-LINK S/N」にてL476RG側(メイン基板の電源を切った方)のシリアル番号を選択する

    • どちらのシリアル番号がどちらの基板かは、片方ずつ接続して確認すればいい

図2-1. Debug configurations > ST-LINK/V2-1の指定
Screenshot from 2019-07-22 21-08-21.png

  • `3. F446RE向けのプログラムをビルドし実行する。F446RE側のデバッグが開始される。ブレークポイントで停止すると、該当の処理(例:LEDの点灯)を停止できる

実行例

右がST-LINK/V2-1を使っている基板(L476RG)で、左がデバッグされている方(F446RE)。
F446REのLED(緑色)が1秒ごとに点滅する。
IMG_0936.JPG

13
12
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
13
12