マイコンプログラム実装【ST-LINKを使ったプログラム転送】

プログラム転送ツール

めかのとろ

新規のプログラムを作成して、ビルドを行うと、大概は文法エラー、コンパイラエラーやリンクエラーが発生するもので、これらをなんとか解決しなければ先にはすすめないのですが、この段階でのエラーはプログラミング言語とその開発環境に由来するものです。

めかのとろ

地味な作業ですがエラーをすべて解決してはじめてビルド成功となりマイコンに書き込むバイナリファイルが作成されます。バイナリファイルが生成されるとあとは専用ツールでPCの開発環境からマイコンへ転送して書き込みます。

総合開発環境デバッガ
めかのとろ

転送書き込みツールはARMマイコン規格のSWD通信を使うST-LINKを使用します。「マイコンの開発環境」で解説しましたが開発環境STM32CubeIDEでの転送ツールとしてのST-LINKはバージョンが2以上のST-LINK/V2を使用します。

めかのとろ

SWDは2本の信号線とGNDを接続すれば通信できます。マイコンのSWD用ピンPA13/PA14をST-LINKデバッグに直結しても機能します。趣味の用途ではこれでもよいのですが、製品の場合は保護抵抗を挿入したり、プルアップ抵抗で信号を安定させたりしておきます。

インターフェースを含んだSWD

プログラム転送方法

めかのとろ

マイコンおよび転送書き込みツールST-LINK/V2を接続し、USBケーブルをPCにつなぐと準備完了です。
転送書き込みには2通りの方法があります。

 ① STM32CubeIDEのメニューからの転送  

めかのとろ

1つ目は開発環境STM32CubeIDEメニューから転送を行う方法で、「Run」-「Run」の順にクリックするとプログラム転送が始まります。転送中はST-LINKデバイスのLEDが点滅します。この方法はビルドと同じ環境内で書き込みまで実行できるので便利です。

 ② アプリST-LINK Utilityからの転送  

めかのとろ

2つ目はST-LINK UtilityというSTマイクロ社が提供するアプリを使用して転送書き込みを実行する方法です。この場合は拡張子binのバイナリファイルかhexのファイルを指定する必要があるためにあらかじめSTM32CubeIDEで生成するように設定しておく必要があります。

めかのとろ

生成されたファイルはプロジェクトフォルダ下の「Debug」フォルダ内にありますので対象ファイルを指定します。ST-LINK Utilityをつかう方法ではプログラムの転送書き込みのみならずプログラムプロテクトなども指定できます。

バイナリファイル生成設定
バイナリファイル保存場所
めかのとろ

ST-LINK Utirityを起動してメニューの「Target」-「Program & Verify」の順にクリックします。

STLinkUtility1
めかのとろ

転送するバイナリファイルの場所を指定①してから、「Start」②を押すとプログラム転送を開始します。

STLinkUtility2
STLinkUtility3
めかのとろ

転送が完了するとプログラムがアドレス0x08000000から書き込まれているのが確認できます。

STLinkUtility4

 補足:  

めかのとろ

STM32CubeIDEで初めてST-LINKデバイスを使用して転送を行うと下図のようなエラーが表示される場合があります。

STLink_1
めかのとろ

これはSTM32CubeIDEに対してST-LINKデバイスのファームウェアが古いためで、更新する必要があります。

STLink_2
めかのとろ

手順にしたがって更新をおこなってください。

STLink_3
ポイント

STM32CubeIDEからでも②ST-LINK Utilityのどちらでもよいので使いやすい方法で書き込み転送を行ってください。