マイクロマウス研修(のり) マウス自作研修

マイクロマウス研修(のり)[17]ライタ&デバッガST-LINKの話

Debugger接続システム図 マイクロマウス研修(のり)

記事一覧 のり マイクロマウス研修

前回、STM32F446書込&デバッグを行いました。
そこで、ST-LINKについて疑問を持ったので、メモ代わりにまとめておこうと思います。

ST-LINKは、STマイクロエレクトロニクス社がSTM8&STM32マイコン向けに提供しているライタ&デバッガの呼称です。

ST-LINKのバージョン

以下の種類の違いがあります。

  • ST-LINK
  • ST-LINK/V2   OpenOCDが使用可能
  • ST-LINK/V2-1  V2の機能に、仮想シリアルポート機能とUSBマスストレージ機能が追加
  • ST-LINK/V3   USB速度が最大480Mbps、SPI/I2C/CAN/GPIOのブリッジ機能が追加

商品ラインナップ

STマイクロエレクトロニクス社製

各社

デバッガ接続とソフトウェアシステム図

パソコンの内部でのソフトウェア間でのデータやり取りです。
マニュアルに図がないので、おそらくこんな感じではないかという図になります。

デバッガ接続とソフトウェアシステム図

デバッガとターゲットマイコンの接続

JTAGの場合

以下のようにターゲットマイコンと接続します。

  • TDI (Test Data In)
  • TDO (Test Data Out)  デイジーチェーン接続時に次のデバイスに接続
  • TCK (Test Clock)
  • TMS (Test Mode Select)
  • TRST (Test Reset) オプション
  • GND

SWDの場合

SWDはSerial Wire Debuggingの略です。以下のように接続します。

  • SWCLK (Serial Wire Clock)
  • SWDIO (Serial Wire Data I/O)
  • RESET:ソフトリセットがあるので不要。Standbyモードなど低消費電力にするとハードリセットが必要
  • GND

JTAGと配線を共有できると書かれており、以下のように書かれた資料を見つけました。

SWDは、ARM社が定めたJTAGと共存可能な2線式のデバッグインタフェースです。JTAGとの互換性はなく、端子を共有しているだけにすぎません。特別なパターンをTMSに送ることでJTAGからSWDに切り替わります。

SWDのプロトコルは、ADI(ARM Debug Interface)v5とCoreSight用に特化されていて、ICの中に作られたデバッグポートやアクセスポートを通じて、レジスタに32bitの値を書き込んだり読み出したりする目的に特化されています。

デバッグ用のレジスタの機能はCoreSightの規格で定められていて、SWDはその物理層を担っているにすぎません。

SWDのプロトコルにはバージョン1とバージョン2があります。バージョン1では、デバッグアダプタとターゲットは1対1で接続しなければなりませんが、バージョン2では複数のターゲットをスター配線できるようになりました。このような接続をマルチドロップといいます。

引用:https://happytech.jp/wordpress/tag/st-link-v2-1/

SWIMの場合

SWIMは、Single-Wire Interface Moduleの略で、以下のように接続します。

  • SWIM
  • RESET:ソフトリセットがあるので不要。Standbyモードなど低消費電力にするとハードリセットが必要
  • GND

 

デバッグで使用するソフトウェア

こういったソフトウェアを介して、デバッグをアプリケーションで行えるようです。

 

参考URL:

https://www.st.com/ja/development-tools/st-link-v2.html
http://blog.livedoor.jp/prittyparakeet/archives/1070961147.html
https://happytech.jp/wordpress/tag/st-link-v2-1/
http://akizukidenshi.com/catalog/g/gM-14361/
https://denshikousakusenka.jimdofree.com/%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83%E6%A7%8B%E7%AF%89/stm32/st-link/
https://blog.st.com/stlink-v3set-in-circuit-debugger-programmer/
http://www.besttechnology.co.jp/modules/knowledge/?OpenOCD
https://ja.wikipedia.org/wiki/JTAG
http://www.tokudenkairo.co.jp/jtag/adv2018/08.php
http://www.gnu.org/software/gdb/
https://www.segger.com/downloads/jlink/
http://openocd.org/
http://idken.net/posts/2017-08-31-jlink/

タイトルとURLをコピーしました