#あらすじ
以前に秋月で購入したSTLINK-V3SETが使わずじまいで部屋に転がっていたので,一念発起して使用することにしました.
また,STLINK-V3SETに関する日本語の記事がほとんど見つからなかったため,今後使用したい方の為にもCubeIDEを使ってのLチカ手順を記事としてまとめておくことにしました.
STLINK-V3SET
秋月 購入ページ
開発環境
OS | MCU |
---|---|
Ubuntu 18.04 | STM32F303K8 |
STLink-V3SETについて
図1. STLINK-V3SET
(画像はSTMicroelectronics社のHPより抜粋)
STM8及びSTM32マイコン向けのデバッガ/プログラマであり,プログラムを書き込む際に使用します.
普段使用しているNucleoシリーズにはプログラムを書き込むためのSTLINKがボードに付随しているため
USB接続しバイナリファイルをD&Dすることでプログラムを書き込むことが出来ますが,
MCU(図2)単体の場合,別途プログラムを書き込む装置(STLINK)が必要となります.
MCUとの接続
今回はSWDでマイコンと通信を行います.(JTAGは使用しません)
(SWD? JTAG? なにそれ美味しいの?って方は以下のサイトを参照すると良いかも)
http://rx.tokudenkairo.co.jp/cmsisdap/jtagswd.html
SWDはSWDIO, SWCLKの2本の通信線を使用しますので,MCUとSTLINK-V3SETのそれぞれのデータシートから対応するピンをまず探します.
STM32F303K8のピン
下記リンクからSTM32F303K8のデータシートを入手し,ピン割当を調査します.
STM32F303K8 データシート
35ページ〜40ページにかけて「pin definitions」が記載してあります.今回使用するのは「LQF32」タイプのMCUなので,SWDで使用するピンは何処か探してみると...
ありました.
SWDAT(SWDIOと同じ意味)がPin24,SWCLKがPin25のようですね.
また,VCCはPin1/Pin17,VSSはPin16/Pin32にあることも確認できました.
STLINK-V3SETのピン
先程と同様に下記リンクからデータシートをDLして,SWDに必要なピンを探し出します.
[STLINK-V3SET データシート]
(https://www.st.com/ja/development-tools/stlink-v3set.html)
STLINK-V3SETには本体の他にもう一つ基板が付属し,この基板を装着することで様々な機能が拡張されるようになっています.
今回は,本体に付いている1.27mmピッチのピンヘッダに適合するジャンパピンを持っていなかったので基板を装着しCN6のピンヘッダとMCUをジャンパ線で接続させました.
(基板の接続方法はデータシートを参照のこと.)
前述したMCUとSTLINK-V3SETの対応するピン同士を結合させ,CUbeIDEからLチカのプログラムをSWDで書き込みます.
このときの注意点として,3.3Vは別途用意する必要があります.
どうやらUSBから電源を取ってきてくれないようです.
(データシートの7ページ目の下に「The STLINK-V3SET product does not provide the power supply to the target application.」と記載があります.
また,VCCピンの注意書きにも「Input for STLINK-V3SET.」とあるので,全てのピンは別途電源が必要なようです...どうせならUSBから電源を取れるようにして欲しかった)
プログラムの作成・書き込み
CubeIDEの操作方法については下記の記事がとても丁寧に解説してくださっているのでここでは割愛します.
[@yoshihisa様 STM32入門 環境構築「CubeIDEのインストールとSTM32F446でLチカ」]
(https://qiita.com/yosihisa/items/136bcc09c466227303a2)
SWDで書き込んだ結果,無事にLチカを行うことが出来ました.
今回3.3Vは別のマイコン(F767ZI)から供給させています.