STM32CubeProgrammerクイックスタートガイド

STM32CubeProgrammerは、STM32デバイスのプログラミングとデバッグに役立つ多くの機能を備えた強力なツールです。しかし、その洗練された機能のために、簡単なプログラミング作業を行いたい初心者のユーザーを挫折させるかもしれない、習熟のための努力が必要となります。つまり、このツールを使って、指定された実行ファイルやバイナリイメージファイル(.elfファイル、.hexファイル、.binファイルなど)の内容をSTM32デバイスの内部フラッシュメモリにプログラムする方法は、すぐにはわかりません。実際、この作業の方法は複数存在します。次に、すぐに始めたい方のために、最も簡単な方法を実例で説明します。

手順

このチュートリアルでは、STM32CubeProgrammerの最新バージョン(執筆時点ではバージョン 2.12.0)を使用しています。ここでは、アプリケーションのデフォルト設定を変更する必要がない、非常に一般的で基本的な操作について説明します。これらの設定やツールの高い機能について詳しく知りたい、より高度な使用事例がある方は、STM32CubeProgrammerユーザーマニュアル(UM2237)を参照してください。

  1. ST-LINKプローブを適切なUSBケーブルでPCに接続します。STM32 Nucleo、Discovery、またはEvalキットを使用している場合、ST-LINKはボードに組み込まれており、「ST-LINK」、「STLK」または同様のラベルの付いたUSBポートがあるはずです(図1参照)。どのように接続すればよいかわからない場合は、お使いのボードのユーザーマニュアルを参照してください。


    図1: STM32 Nucleo、Discovery、Evalボード上のST-LINK USBポートの位置例です。
            ポートには、「ST-LINK」、「STLK」などのラベルが貼られているはずです。

  2. STM32CubeProgrammerアプリケーションを開きます。右側のターゲット設定パネル(図2)で、ターゲットインターフェースとして「ST-LINK」がデフォルトで選択されているはずです。接続設定をデフォルトのままにして、緑色のConnectボタンをクリックします。ボードが正常に接続されるはずです。

    1_connect

    図2: デフォルトのST-LINKインターフェースを使用してSTM32開発ボードに接続します。

  3. 図3に示すように、+タブをクリックし、「Open File」を選択します。ファイルブラウザを使用して、ボードにプログラムするファイルを選択します。STM32CubeProgrammerがサポートするファイル形式は、バイナリファイル(.bin)、ELF ファイル(.elf、.axf、.out)、Intel hexファイル(.hex)および Motorola S-record ファイル(.Srec)です。

    図3: ファイルを開くとその内容はSTM32デバイスにプログラムされます。

    注:ソースファイルとしてバイナリ(.bin)ファイルを選択した場合、Downloadボタンの隣にあるドロップダウンの矢印をクリックし、Address欄に開始アドレスを入力して、ダウンロードアドレスを指定する必要があります(図4aを参照)。他のファイルタイプ(例:.elfや.hex)を選択した場合、このドロップダウンメニューのAddress欄はグレーアウトし、変更することはできません(図4bを参照)。

    bin_addressField
    a) The opened file is a binary file

    notBin_addressField
    b) The opened file is not a binary file

    図4: 開いたファイルがバイナリ(.bin)ファイルの場合、Address欄は変更可能です。


  4. Downloadボタンをクリックすると、以下の図5のようにプログラミングが開始されます。

    図5: STM32デバイスにプログラムするために、Downloadボタン
              (その隣のドロップダウン矢印ではなく)をクリックします。

  5. STM32 MCUのプログラミングが完了したら、図6に示すように、OKをクリックしてメッセージボックスを閉じ、緑のDisconnectボタンをクリックします。アプリケーションを開始するために、開発ボードのリセットボタンを押す必要があるかもしれません。

    図6: プログラミング操作に成功した結果です。





bidrohini

ありがとうございます。STM32Cubeは数年前に使ったことがあります。それに関するチュートリアルも書きました。しかし、なぜかわかりませんが、STM32CubeとKeilを統合する際にトラブルに直面しました。




オリジナル・ソース(English)