目次 - 電子工作のための「飛石伝ひ」

STM32F4 ファームウェア更新アプリケーション(USB 接続)の説明
2014/02/07
「飛石伝ひ CPU 基板」 または STM32F4 Discovery 基板 のファームウェアを更新するための Windouws7 PC の
アプリケーションです。USB の VCP(仮想 COM ポート : 非同期シリアル通信)を使用してファームウェアを更新します。
書き込むファームウェアは Atollic TrueSTUDIO for ARM Lite で作成される elf ファイルで、
CPU の 0x08010000 番地から書き込まれ、更新が終了すると自動的に実行開始されます。
書き込むファームウェアは プログラムの開始番地が 0x08010000 に設定されている必要があります。
また、STM32F4 ファームウェア更新アプリケーションはプログラムコードのチェックサムを書き込みます。
チェックサムは、Update_STM32F4.bin プログラムにより判定されますので elf ファイルは
STM32F4 ファームウェア更新アプリケーションにより書き込まないと正しく実行されません。
(なお、SWD によるデバッグ時は、上記にかかわらず正しく動作します。)
「飛石伝ひ CPU 基板」の場合
STM32 ST-LINK Utility を使用して CPU の 0x08000000 番地に Update_STM32F405.bin を書き込んで使用します。
「飛石伝ひ CPU 基板」には、工場出荷時に Update_STM32F405.bin を書き込み済みです。
STM32F4 Discovery の場合
STM32 ST-LINK Utility を使用して CPU の 0x08000000 番地に Update_STM32F4.bin を書き込んで使用します。
電子工作のための「飛石伝ひ」 のホームページに STM32F4シリーズのプロジェクトサンプルを多数掲載しております。
ぜひ、ご覧ください。
目次
1. はじめに .................................................................................................................................................................................................................................................................2
1.1. Update_STM32F4xx.bin のダウンロード....................................................................................................................................................................................2
1.2. Update_STM32F4xx.bin の解凍...................................................................................................................................................................................................5
2. Windows7 PC と CPU 基板との接続......................................................................................................................................................................................................7
2.1. 「飛石伝ひ CPU 基板」の場合.......................................................................................................................................................................................................7
2.1.1. 「飛石伝ひ CPU 基板」のファームウェアを更新する場合 .................................................................................................................................7
2.1.2. 「飛石伝ひ CPU 基板」に Update_STM32F405.bin を書き込む場合...........................................................................................................8
2.1. STM32F4 Discovery の場合.........................................................................................................................................................................................................9
3. STM32 ST-LINK Utility による CPU への Update_STM32F4xx.bin の書き込み.........................................................................................................10
3.1. STM32 ST-LINK Utitity について............................................................................................................................................................................................10
3.2. STM32 ST-LINK Utility の起動.................................................................................................................................................................................................10
3.3. CPU 基板との接続............................................................................................................................................................................................................................12
3.4. プログラムコードファイルの読み込み.....................................................................................................................................................................................13
3.5. プログラムコードの書き込み........................................................................................................................................................................................................15
4. STM32F4 ファームウェア更新アプリケーション USB のダウンロードと起動...................................................................................................................17
4.1. Application_UpdateSTM32F4_USB.zip のダウンロード ....................................................................................................................................................17
4.2. Application_UpdateSTM32F4_USB.zip の解凍...................................................................................................................................................................19
4.3. Application_UpdateSTM32F4_USB をインストールして使用する場合...................................................................................................................21
4.4. Microsoft Visual C# 2010 Express プロジェクトを起動して実行したい場合...................................................................................................22
5. Application_UpdateSTM32F4_USB の使い方 .................................................................................................................................................................................25
5.1. COM ポートの選択............................................................................................................................................................................................................................25
5.2. ファームウェアの更新.....................................................................................................................................................................................................................27
6. 「飛石伝ひ CPU 基板」のプログラムエリアについて ....................................................................................................................................................................29
7. チェックサムについて..................................................................................................................................................................................................................................29
1
1. はじめに
STM32F4 ファームウェアの更新アプリケーション(USB 接続)Application_UpdateSTM32F4_USB の使用方法を説明します。
1)
2)
3)
4)
Update_STM32F4xx.bin のダウンロード
Windows7 PC と「飛石伝ひ CPU 基板」 または STM32F4 Discovery との接続
STM32 ST-LINK Utility による CPU への Update_STM32F4xx.bin の書き込み方法
STM32F4 ファームウェア更新アプリケーション(USB 接続)Application_UpdateSTM32F4_USB
について説明します。
1.1. Update_STM32F4xx.bin のダウンロード
「飛石伝ひ CPU 基板」には、工場出荷時に Update_STM32F405.bin を書き込み済みです。
実験などで Update_STM32F4xx.bin を消したり、上書きしてしまった場合に、復活させたい場合は再書き込みをして
ください。
「STM32F4 ファームウェアの更新」のページから Update_STM32F4xx.zip をダウンロードして解凍します。
このプログラム Update_STM32F4xx は USB(VCP : 仮想 COM ポート)によるファームウェアの書き込みと、
WiFi モジュール BP3591 を使用した TCP 通信によるファームウェアの書き込みに対応しています。
WiFi モジュール BP3591 を使用する場合は、ブロードバンドルータを使用することによりネット越しにファームウェアの
更新を行うことができます。
この説明書では USB(VCP : 仮想 COM ポート)による接続についてのみ説明します。
まず、「STM32F4 ファームウェア更新プログラムの Binary ファイルのダウンロード」のリンクをクリックしてください。
次ページに続く
2
[保存] の ▼ の部分をクリックしてください。
{ 名前を付けて保存(A) } をクリックしてください。
次ページの保存フォルダ選択のダイアログが開きます。
3
保存したいフォルダを選択して、[保存(S)] ボタンをクリックしてください。
Update_STM32F4xx.zip がダウンロードされて完了メッセージが表示されます。
これで、ダウンロードは完了です。 xボタンをクリックして、ファイル処理のメッセージを閉じてください。
4
1.2. Update_STM32F4xx.bin の解凍
指定したフォルダに Update_STM32F4xx.zip がダウンロードされています。
ダウンロードしたファイル Update_STM32F4xx.zip を右クリックして表示されるポップアップメニューの一番上の
{開く} をクリックすると同一のフォルダに解凍されます。
5
Update_STM32F4xx というフォルダが作成されてその中に Update_STM32Fxx4.bin が解凍されています。
6
2. Windows7 PC と CPU 基板との接続
2.1. 「飛石伝ひ CPU 基板」の場合
2.1.1. 「飛石伝ひ CPU 基板」のファームウェアを更新する場合
USB ケーブルは USB ケーブル : A – Mini B(A オス – ミニ B オス) を使用します。
USB ケーブル : 電源供給 および ファームウェア更新 のため
Mini B
PC
A
USB ポート
図2.1.1.
次ページに続く
7
2.1.2. 「飛石伝ひ CPU 基板」に Update_STM32F405.bin を書き込む場合
1) デバッグ用 SWD 信号の接続
STM32F4 Discovery 基板を使用して、「飛石伝ひ CPU 基板」に Update_STM32F405.bin を書き込むため
または デバッグを行うために、次のように ピン 2 ~ ピン 5 の 4 本の SWD 信号を接続します。
デバッグ信号接続表
Discovery
線色
信号名
飛石伝ひ CPU 基板 備考
SWD コネクタ CN2
SWD コネクタ P4
ピン番号
ピン番号
1
丸印
VDD_TARGET
1
NC : 接続なし
2
黄
SWCLK
2
3
黒
GND
3
4
黄
SWDIO
4
5
青
NRST
5
6
SWO(Reserved)
----NC : 接続なし
線色は「飛石伝ひ CPU 基板」に付属するデバッグ用ハーネスのリード線の色です。(線長 : 200mm ~ 210mm)
接続の様子は以下の写真のようになります。
写真では、「飛石伝ひ I/F 基板」に AC アダプタを接続して、「飛石伝ひ I/F 基板」を介して電源を供給していますが、
「飛石伝ひ CPU 基板」単体の場合は、Mini USB コネクタ P3 と PC を USB ケーブルで接続して「飛石伝ひ CPU 基板」に
電源を供給します。
2) STM32F4 Discovery 基板のジャンパーピンをはずす。
SWD コネクタ CN2 を使用して、他の CPU にプログラムコードを書き込む場合、または デバッグする場合は、
STM32F4 Discovery 基板の CN3 のジャンパーを2個ともはずします。
3) STM32 ST-LINK Utility を使用して Update_STM32F4.bin を「飛石伝ひ CPU 基板」に書き込みます。
8
2.1. STM32F4 Discovery の場合
以下のように PC と STM32F4 Discovery とを USB ケーブルで接続します。
USB ケーブル : ST-LINK として使用 : 電源供給 および プログラムコード書き込み または デバッグ のため
Mini B
CN1
PC
A
USB ポート
A
STM32F4 Discovery
CN5
Micro B
図2.2.
USB ケーブル : Firmware 更新 のため
それぞれの USB ケーブルは
Mini B に接続する USB ケーブル : A – Mini B(A オス – ミニ B オス)
Micro B に接続する USB ケーブル : A – Micro B(A オス – マイクロ B オス)
と呼ばれるタイプのものです。
9
3. STM32 ST-LINK Utility による CPU への Update_STM32F4xx.bin の書き込み
3.1. STM32 ST-LINK Utitity について
STM32 ST-LINK Utitity は STM32 マイクロコントローラシリーズの CPU にファームウェア(プログラムコード)を書き込む
ための Windows アプリケーションです。
「STM32 ST-LINK Utility のダウンロードとインストール方法」 をご覧ください。
1) 「飛石伝ひ CPU 基板」
PC と STM32F4 Discovery の CN1 とを USB ケーブル(A – Mini B)で接続し、ST-LINK として使用して、SWD 信号を
「飛石伝ひ CPU 基板」に接続してプログラムコードを書き込みます。
接続については「2.1.2. 「飛石伝ひ CPU 基板」に Update_STM32F405.bin を書き込む場合」 を参照してください。
2) STM32F4 Discovery
PC と STM32F4 Discovery の CN1 とを USB ケーブル(A – Mini B)で接続し、ST-LINK として使用してプログラムコードを
書き込みます。
3.2. STM32 ST-LINK Utility の起動
スタートメニューから {STM32 ST-LINK Utility} を選択してクリックすると次ページの画面が表示されます。
10
次ページに続く
11
3.3. CPU 基板との接続
メニューの {Target} -> {Connect} をクリックすると PC と CPU 基板が接続されて以下の画面が表示されます。
12
3.4. プログラムコードファイルの読み込み
プログラムコードファイルは開発ツールでビルドされた Binary のファイルです。
ここでは、Update_STM32F4 のプログラムコードファイル Update_STM32F4.bin を読み込みます。
以下、「飛石伝ひ CPU 基板」の場合は、Update_STM32F405.bin に読み替えてください。
メニューの {View} -> {Binary File} をクリックするか タブの {Binary File} をクリックすると次ページのファイル選択の
ダイアログが開きます。
13
希望のフォルダのファイルを選択して [開く(O)] ボタンをクリックすると以下のようにファイルの内容が表示されます。
14
3.5. プログラムコードの書き込み
メニューの {Target} -> {Program & Verify…} をクリックすると以下のダイアログが開きます。
Start address は 今回は 0x08000000 でよいので そのまま [Start] ボタンをクリックします。
15
プログラムコードの書き込みと確認が OK だったので Verification OK のメッセージが一番下に表示されています。
書き込んだ後、実行されて LED が 200mSec 間隔で点滅すると思います。
Reset ボタンを押さないと動かない場合もたまにあるようです。
以上で、プログラムコード Update_STM32F4.bin の書き込みは終了です。
メニューの {Target} -> {Disconnect} をクリックして接続断にした後、右上の [X] をクリックして
STM32F4 ST-LINK Utility を閉じてください。
なお、ファームウェア更新により 0x0801000 番地に書き込んだプログラムが実行されている場合は、
User スイッチを押しながら Reset スイッチを押して離すと 0x08000000 番地から Update_STM32F4 が実行して、
ファームウェア書き込み待ちになります。
16
4. STM32F4 ファームウェア更新アプリケーション USB のダウンロードと起動
アプリケーション Application_UpdateSTM32F4_USB をダウンロードして起動するまでを説明します。
4.1. Application_UpdateSTM32F4_USB.zip のダウンロード
「STM32F4 ファームウェアの更新」のページから Application_UpdateSTM32F4_USB.zip をダウンロードします。
「STM32F4 ファームウェア更新アプリケーションのダウンロード」のリンクをクリックしてください。
[保存] の ▼ の部分をクリックしてください。
{ 名前を付けて保存(A) } をクリックしてください。
次ページの保存するフォルダを選択するダイアログが開きます。
17
保存したいフォルダを選択して [保存(S)] ボタンをクリックしてください。
Application_UpdateSTM32F4_USB.zip がダウンロードされて完了メッセージが表示されます。
これで、ダウンロードは完了です。 xボタンをクリックして、ファイル処理のメッセージを閉じてください。
18
4.2. Application_UpdateSTM32F4_USB.zip の解凍
指定したフォルダに Applicatjion_UpdateSTM32F4_USB.zip がダウンロードされています。
ダウンロードしたファイル Application_UpdateSTM32F4_USB.zip を右クリックして表示されるポップアップメニューの一番上の
{開く} をクリックすると同一のフォルダに解凍されます。
19
Application_UpdateSTM32F4_USB というフォルダが作成されてその中に Application_UpdateSTM32F4_USPB プロジェクトが
解凍されています。
20
4.3. Application_UpdateSTM32F4_USB をインストールして使用する場合
Application_UpdateSTM32F4_USB のフォルダの下の publish 内にインストールのためのファイルが格納されて
います。
setup.exe をダブルクリックすると次ページの警告のダイアログが開きます。
[インストール(I)] ボタンをクリックしてインストールしてください。
プログラムがインストールされて自動的に Application_UpdateSTM32F4_USB プログラムが実行されて次ページの
ダイアログが表示されます。
21
4.4. Microsoft Visual C# 2010 Express プロジェクトを起動して実行したい場合
Microsoft Visual C# 2010 Express がインストールされている必要があります。
フォルダ Application_UpdateSTM32F4_USB の下のファイル Application_UpdateSTM32F4_USB.sln を
ダブルクリックしてプロジェクトを起動してください。
次ページの画面が開きます。
22
メニューの {デバッグ(D)} -> {デバッグ開始(S)} をクリックするとプログラムが実行されて次ページのダイアログが開きます。
23
24
5. Application_UpdateSTM32F4_USB の使い方
Atollic TrueSTUDIO for ARM Lite で作成されるプログラムコードである elf ファイルを CPU の 0x08010000 番地から
書き込みます。更新が終了すると自動的にプログラムの実行が開始されます。
書き込むプログラムコードは プログラムの開始番地が 0x08010000 に設定されている必要があります。
5.1. COM ポートの選択
1) COM ポートの検索
a) 「飛石伝ひ CPU 基板」
PC と「飛石伝ひ CPU 基板」の P3 とを USB ケーブル(A – Mini B)で接続して [COM 検索] ボタンをクリックしてください。
b) STM32F4 Discovery
PC と STM32F4 Discovery の CN5 とを USB ケーブル(A – Micro B)で接続して [COM 検索] ボタンをクリックしてください。
検索できた場合、”COM(シリアルポート)を検索しました。” とメッセージが表示されます。
25
2) COM ポートの指定
COM 選択の ComboBox で COM を選択してください。ここでは COM3 を選択しています。
選択した COM を使用するか聞いてきますので、OK ならば [はい] ボタンをクリックしてください。
“COM3 に設定しました。” とメッセージが表示されています。
26
5.2. ファームウェアの更新
[Firmware 更新] ボタンをクリックしてください。
ファームウェアを選択するダイアログが開くので、書き込みたいファームウェアを選択して [開く(O)] ボタンをクリック
します。
ここでは BlinkLED_Discovery.elf を選択しています。0x8010000 番地から実行するように設定した LED 点滅の
プログラムです。
次ページに続く
27
OK なら [はい(Y)] ボタンをクリックします。
書き込みが終了すると、このメッセージが表示されます。 [OK] ボタンをクリックして閉じてください。
書き込みの処理に従って上記のようにメッセージが表示されています。
BlinkLED_Discovery.elf が 0x08010000 番地に書き込まれて、動作していると思います。
以上で、更新ファームウェアの書き込みは終了です。
28
6. 「飛石伝ひ CPU 基板」のプログラムエリアについて
「飛石伝ひ CPU 基板」に使用している CPU STM32F405VGT6 のプログラムエリアは 0x08000000 ~ 0x080FFFFF の
1Mbyte です。
1) 「飛石伝ひ CPU 基板」では、0x08000000 ~ 0x0800FFFF の 64Kbyte を Firmware 書き換え用のプログラムと、
パラメータの格納エリアに使用しています。
2) 0x08010000 ~ 0x0807FFFF を「飛石伝ひ CPU 基板」の Firmware のエリアとして使用しています。
3) 0x08080000 ~ 0x080BFFFF のエリア 256KByte はグラフィック LCD に日本語表示を表示するための日本語フォントを
格納するために使用しています。
4) 0x080C0000 ~ 0x080FFFFF のエリア 256KByte は「飛石伝ひ」の「振舞い」を格納するために使用しています。
7. チェックサムについて
また、STM32F4 ファームウェア更新アプリケーションはプログラムコードのチェックサムを書き込みます。
チェックサムは、Update_STM32F4.bin プログラムにより判定されますので elf ファイルは
STM32F4 ファームウェア更新アプリケーションにより書き込まないと正しく実行されません。
なお、SWD によるデバッグ時は、上記にかかわらず正しく動作します。
電子工作のための「飛石伝ひ」 のホームページに STM32F4シリーズのプロジェクトサンプルを多数掲載しております。
ぜひ、ご覧ください。
29