マイコンプログラム実装【ST-LINKを使ったプログラム転送】
プログラム転送ツール
新規のプログラムを作成して、ビルドを行うと、大概は文法エラー、コンパイラエラーやリンクエラーが発生するもので、これらをなんとか解決しなければ先にはすすめないのですが、この段階でのエラーはプログラミング言語とその開発環境に由来するものです。
地味な作業ですがエラーをすべて解決してはじめてビルド成功となりマイコンに書き込むバイナリファイルが作成されます。バイナリファイルが生成されるとあとは専用ツールでPCの開発環境からマイコンへ転送して書き込みます。
転送書き込みツールはARMマイコン規格のSWD通信を使うST-LINKを使用します。「マイコンの開発環境」で解説しましたが開発環境STM32CubeIDEでの転送ツールとしてのST-LINKはバージョンが2以上のST-LINK/V2を使用します。
SWDは2本の信号線とGNDを接続すれば通信できます。マイコンのSWD用ピンPA13/PA14をST-LINKデバッグに直結しても機能します。趣味の用途ではこれでもよいのですが、製品の場合は保護抵抗を挿入したり、プルアップ抵抗で信号を安定させたりしておきます。
プログラム転送方法
マイコンおよび転送書き込みツール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」の順にクリックします。
転送するバイナリファイルの場所を指定①してから、「Start」②を押すとプログラム転送を開始します。
転送が完了するとプログラムがアドレス0x08000000から書き込まれているのが確認できます。
補足:
STM32CubeIDEで初めてST-LINKデバイスを使用して転送を行うと下図のようなエラーが表示される場合があります。
これはSTM32CubeIDEに対してST-LINKデバイスのファームウェアが古いためで、更新する必要があります。
手順にしたがって更新をおこなってください。
①STM32CubeIDEからでも②ST-LINK Utilityのどちらでもよいので使いやすい方法で書き込み転送を行ってください。