CubeIDE環境でJ-Link関連のものを更新する方法

標準で入っているJ-Link関連の物のバージョンが古いため、
STM32H7でのデバッグでは少し調子が悪そうに動きます。

そのため、今回は無理やりバージョンアップする方法を紹介します。

以下環境です。

IDE
STM32CubeIDE
Version: 1.0.0
Build: 2872_20190423-2022 (UTC)

①J-Linkをインストールする
https://www.segger.com/downloads/jlink/
からJ-link Software and Documentation Pack
のClick for downloadsから、自分の環境にあったものをダウンロード。

インストーラの形式で配布されているので、指示に従ってインストール。

以下、私はWindows環境で
「C:\Program Files (x86)\SEGGER\JLink_V652」にインストールしましたので、
ご自身の環境に合わせて読んでください。

②インストールしたものをCubeIDE環境にコピーする
標準のインストールだと、CubeIDE環境で使われるJLink.exeなどは、
「C:\ST\STM32CubeIDE_1.0.0\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.externaltools.jlink.win32_1.0.0.201904160814\tools\bin」
にあります。クソ長いですね。

先程インストールした、
「C:\Program Files (x86)\SEGGER\JLink_V652」の中身を、
「C:\ST\STM32CubeIDE_1.0.0\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.externaltools.jlink.win32_1.0.0.201904160814\tools\bin」内にコピーします。

推測ですが、このディレクトリはバージョンによって異なるため、
「C:\ST\STM32CubeIDE_1.0.0\STM32CubeIDE\plugins」内部を「JLink」などで検索すると目的のディレクトリが見つかります。

(念の為バックアップ取っておいたほうがいいと思います。)

以上で、最新のJ-Link SoftwareがCubeIDE内で利用できるようになります。

STM32 Nucleo-64 boards(NUCLEO-F446RE) にJTAGで接続する

NUCLEO-F446RE
など、Nucleo-64 boardsには、ボード上にSTLink-V2/1というプログラマ/デバッガが載っていますが、
・デバッグの速度が足りない
とか、
・J-Linkを繋げたい
とか、諸々の都合でJTAGで接続することがあるかと思います。

毎回接続ピンが行方不明になって調べているので、メモとして残しておきます。

結論
先に結論を書きます。みんな細かいことよりさっさと接続関係が欲しいのは理解していますから。

このとき、基板上のST-LinkV2/1にあるCN2のジャンパはすべてオープンにしてあります。

①JTAGのピンについて
J-Linkのデータシート・UM08001によると
以下のようになっています。

細かいことは省略しますが、このJTAG 20-pinのピン配置は、(デバッガのオプション的なピンを除いて)どのデバッガでもほとんど変わりはなく、STLinkV2/V3等でも僅かな違いがあるものの、利用できます。

②JTAGのピンの機能
次のようにつなぎます。

デバッガ側 マイコン側 機能
VTref Vdd target reference voltage
GND Vss GND
nTRST PB4
(NJTRST)
JTAG Reset
TDI PA15
(JTDI)
JTAG data input of target CPU
TMS PA13
(JTMS-SWDIO)
JTAG mode set input of target CPU
TCK PA14
(JTCK/SWCLK)
JTAG clock signal to target CPU
RTCK Return test clock signal from the target
TDO PB3
(JTDO/
TRACESWO)
JTAG data output from target CPU
RESET NRST Target CPU reset signal


参考にしたデータシートは
J-Linkのデータシートのほか、
F405データシートであるDocID022152が参考になります。

②Nucleoボードとのピンの関係
これらより、
3V3,GND,PB4,PA15,PA13,PA14,PB3,NRST
を接続すれば動作することがわかりました。
しかし、Nucleoボードの場合、ピンアサインがめちゃくちゃなので、自分でマイコンピンとの対応を考える必要があります。
以下を使いましょう。
UM1724
P.35には以下のような図があります。これを見て比較するのが楽かと思います。

以上の作業を得て、一番最初の接続関係が導けます。