ファームウェア更新アプリケーションtri-s.world.coocan.jp/.../Explain_Update_STM32L1xx.pdf ·...

13
1 STM32L-Discovery ファームウェア更新アプリケーション Update_STM32L1xx の説明 2014/02/09 STM32L-Discovery のファームウェアを更新するための Windouws7 PC のアプリケーションです。 USB の VCP(仮想 COM ポート : 非同期シリアル通信) または RS232C を使用してファームウェアを更新します。 書き込むファームウェアは Atollic TrueSTUDIO for ARM Lite で作成される elf ファイルで、 CPU の 0x08004000 番地から書き込まれ、更新が終了すると自動的に実行開始されます。 書き込むファームウェアは プログラムの開始番地が 0x08004000 に設定されている必要があります。 また、ファームウェア更新アプリケーション Update_STM32L1xx はプログラムコードのチェックサムを書き込みます。 チェックサムは、CPU のプログラム STM32L_Update_xxx.bin プログラムにより判定されますので elf ファイルは ファームウェア更新アプリケーション Update_STM32L1xx により書き込まないと正しく実行されません。 (なお、SWD によるデバッグ時は、上記にかかわらず正しく動作します。) STM32 ST-LINK Utility を使用して CPU の 0x08000000 番地に STM32L_Update_xxx.bin を書き込んで使用します。 STM32 ST-LINK Utility については「STM32 ST-LINK Utility のダウンロードとインストール方法」 をご覧ください。 STM32L_Update_xxx.bin は STM32L_Update_UART.bin もしくは STM32L_Update_VCP.bin です。 目次 1. はじめに ................................................................................................................................................................................................................................................................. 2 1.1. STM32L_Update_xxx.bin のダウンロード .................................................................................................................................................................................. 2 2. Windows7 PC と STM32L-Discovery との接続 .............................................................................................................................................................................. 3 2.1. RS232C による UART 接続........................................................................................................................................................................................................... 3 2.2. USB の VCP(仮想 COM ポート)による接続............................................................................................................................................................................ 5 3. STM32 ST-LINK Utility による CPU への STM32L_Update_xxx.bin の書き込み........................................................................................................... 6 4. STM32L ファームウェア更新アプリケーションのダウンロードとインストール..................................................................................................................... 6 4.1. Update_STM32L1xx_Install.zip のダウンロード ...................................................................................................................................................................... 6 4.2. Update_STM32L1xx のインストール ......................................................................................................................................................................................... 6 5. STM3L_Update_xxx の使い方................................................................................................................................................................................................................... 8 5.1. COM ポートの選択 ............................................................................................................................................................................................................................... 8 5.2. ファームウェアの更新 .....................................................................................................................................................................................................................10 6. STM32L-Discovery のプログラムエリアについて .......................................................................................................................................................................13 7. チェックサムについて..................................................................................................................................................................................................................................13

Transcript of ファームウェア更新アプリケーションtri-s.world.coocan.jp/.../Explain_Update_STM32L1xx.pdf ·...

Page 1: ファームウェア更新アプリケーションtri-s.world.coocan.jp/.../Explain_Update_STM32L1xx.pdf · 1) STM32L_Update_xxx.binのダウンロード 2) Windows7 PCとSTM32L-Discoveryとの接続

1

STM32L-Discoveryファームウェア更新アプリケーション Update_STM32L1xxの説明 2014/02/09

STM32L-Discoveryのファームウェアを更新するためのWindouws7 PCのアプリケーションです。

USBのVCP(仮想COMポート : 非同期シリアル通信) または RS232C を使用してファームウェアを更新します。

書き込むファームウェアはAtollic TrueSTUDIO for ARM Lite で作成される elfファイルで、

CPUの 0x08004000番地から書き込まれ、更新が終了すると自動的に実行開始されます。

書き込むファームウェアは プログラムの開始番地が 0x08004000 に設定されている必要があります。

また、ファームウェア更新アプリケーションUpdate_STM32L1xxはプログラムコードのチェックサムを書き込みます。

チェックサムは、CPUのプログラムSTM32L_Update_xxx.binプログラムにより判定されますので elfファイルは

ファームウェア更新アプリケーションUpdate_STM32L1xxにより書き込まないと正しく実行されません。

(なお、SWDによるデバッグ時は、上記にかかわらず正しく動作します。)

STM32 ST-LINK Utilityを使用してCPUの 0x08000000番地に STM32L_Update_xxx.bin を書き込んで使用します。

STM32 ST-LINK Utilityについては「STM32 ST-LINK Utilityのダウンロードとインストール方法」 をご覧ください。

STM32L_Update_xxx.binはSTM32L_Update_UART.binもしくはSTM32L_Update_VCP.binです。

目次

1. はじめに ................................................................................................................................................................................................................................................................. 2

1.1. STM32L_Update_xxx.binのダウンロード .................................................................................................................................................................................. 2

2. Windows7 PCと STM32L-Discoveryとの接続 .............................................................................................................................................................................. 3

2.1. RS232Cによる UART接続 ........................................................................................................................................................................................................... 3

2.2. USBのVCP(仮想COMポート)による接続 ............................................................................................................................................................................ 5

3. STM32 ST-LINK UtilityによるCPUへの STM32L_Update_xxx.binの書き込み ........................................................................................................... 6

4. STM32Lファームウェア更新アプリケーションのダウンロードとインストール ..................................................................................................................... 6

4.1. Update_STM32L1xx_Install.zipのダウンロード ...................................................................................................................................................................... 6

4.2. Update_STM32L1xxのインストール ......................................................................................................................................................................................... 6

5. STM3L_Update_xxxの使い方 ................................................................................................................................................................................................................... 8

5.1. COMポートの選択 ............................................................................................................................................................................................................................... 8

5.2. ファームウェアの更新..................................................................................................................................................................................................................... 10

6. STM32L-Discoveryのプログラムエリアについて ....................................................................................................................................................................... 13

7. チェックサムについて .................................................................................................................................................................................................................................. 13

Page 2: ファームウェア更新アプリケーションtri-s.world.coocan.jp/.../Explain_Update_STM32L1xx.pdf · 1) STM32L_Update_xxx.binのダウンロード 2) Windows7 PCとSTM32L-Discoveryとの接続

2

1. はじめに

STM32L-Discoveryのファームウェアの更新アプリケーションUpdate_STM3L1xxの使用方法を説明します。

1) STM32L_Update_xxx.binのダウンロード

2) Windows7 PCと STM32L-Discoveryとの接続

3) STM32 ST-LINK UtilityによるCPUへの STM32L_Update_xxx.binの書き込み方法

4) STM32L-Discoveryのファームウェア更新アプリケーション Update_STM32L1xxのインストールと使い方

について説明します。

1.1. STM32L_Update_xxx.binのダウンロード

STM32L_Update_xxx.binは次の2種類です。

1) STM32L_Update_UART.bin

RS232C接続による UART(非同期シリアル通信)によりファームウェアを更新します。

ダウンロードファイルはSTM32L_Update_UART_Binary.zipです。解凍すると STM32L_Update_UART.binになります。

2) STM32L_Update_VCP.bin

USBのVCP(仮想COMポート)接続による UART(非同期シリアル通信)によりファームウェアを更新します。

ダウンロードファイルはSTM32L_Update_VCP_Binary.zipです。解凍すると STM32L_Update_VCP.binになります。

「STM32L-Discoveryプロジェクトサンプルのダウンロードと解凍」を参考にして、希望する zipファイルをダウンロードして

解凍してください。

Page 3: ファームウェア更新アプリケーションtri-s.world.coocan.jp/.../Explain_Update_STM32L1xx.pdf · 1) STM32L_Update_xxx.binのダウンロード 2) Windows7 PCとSTM32L-Discoveryとの接続

3

2. Windows7 PCとSTM32L-Discoveryとの接続

2.1. RS232CによるUART接続

STM32L-Discoveryの UART(非同期シリアル通信)に使用する信号と接続相手との接続は以下の通りです。

1) UART1 接続信号表

STM32L-Discoveryの UART信号

番号 CPU機能名 CPU信号名 基板コネクタピン番号 方向 接続相手の

信号名

D-SUB 9S

ストレート接続

1 USART1_TX PA9 P2-22 --- > RxD 2

2 USART1_RX PA10 P2-21 < --- TxD 3

3 GND GND P1-2, P1-9, P1-28

P2-2, P2-5, P2-28

< --- > GND 5

2) RS232C ドライバ接続例

この例ではDSUB-9SにはTxD, RxD, GNDの3本の信号以外は接続されません。

Page 4: ファームウェア更新アプリケーションtri-s.world.coocan.jp/.../Explain_Update_STM32L1xx.pdf · 1) STM32L_Update_xxx.binのダウンロード 2) Windows7 PCとSTM32L-Discoveryとの接続

4

3) PCとの接続例

PCとの接続は以下のようになります。

RS232C

ドライバ DSUB-9S

PC

RS232C変換ケーブル

STM32L-Discovery

図2.1. 3)

Page 5: ファームウェア更新アプリケーションtri-s.world.coocan.jp/.../Explain_Update_STM32L1xx.pdf · 1) STM32L_Update_xxx.binのダウンロード 2) Windows7 PCとSTM32L-Discoveryとの接続

5

2.2. USBのVCP(仮想COMポート)による接続

USBのVCP(仮想COMポート)による、PC と STM32L-Discoveryとの接続は以下のようになります。

PC

A

USBポート

USBケーブル : A - MiniB : 電源供給 および デバッグのため

図2.2.

STM32L-Discovery Mini B

MiniB

S

HEL

L

GND

ID

DP

DM

1 2 3 4 5 6 MiniBコネクタ

10Ω

10Ω

100kΩ

GND

PA11

PA12

VCP用MiniBコネクタの配線 USBケーブル : A – MiniB : VCP用

A

Page 6: ファームウェア更新アプリケーションtri-s.world.coocan.jp/.../Explain_Update_STM32L1xx.pdf · 1) STM32L_Update_xxx.binのダウンロード 2) Windows7 PCとSTM32L-Discoveryとの接続

6

3. STM32 ST-LINK UtilityによるCPUへのSTM32L_Update_xxx.binの書き込み

STM32 ST-LINK UtitityはSTM32マイクロコントローラシリーズのCPUにファームウェア(プログラムコード)を書き込む

ためのWindowsアプリケーションです。

PCと STM32L-DiscoveryのCN1とを USBケーブル(A – Mini B)で接続して希望するBinaryファイルを

CPUの Flash Memoryの 0x08000000番地に書き込んでください。

書き込み方法については 「STM32 ST-LINK Utilityのダウンロードとインストール方法」 をご覧ください。

4. STM32Lファームウェア更新アプリケーションのダウンロードとインストール

4.1. Update_STM32L1xx_Install.zipのダウンロード

ファームウェア更新アプリケーションのインストールファイル Update_STM32L1xx_Install.zipをダウンロードして解凍して

ください。

4.2. Update_STM32L1xxのインストール

Update_STM32L1xx_Install.zipを解凍するとフォルダ Update_STM32L1xx_Install.が作成されてその中にインストール

ファイルが作成されます。

setup.exeをダブルクリックすると次ページの警告のダイアログが開きます。

Page 7: ファームウェア更新アプリケーションtri-s.world.coocan.jp/.../Explain_Update_STM32L1xx.pdf · 1) STM32L_Update_xxx.binのダウンロード 2) Windows7 PCとSTM32L-Discoveryとの接続

7

[インストール(I)] ボタンをクリックしてインストールしてください。

プログラムがインストールされて自動的にUpdate_STM32L1xxアプリケーションが実行されて次のダイアログが表示されます。

通常は、スタートメニューから { Update_STM32L1xx } をクリックして起動してください。

Page 8: ファームウェア更新アプリケーションtri-s.world.coocan.jp/.../Explain_Update_STM32L1xx.pdf · 1) STM32L_Update_xxx.binのダウンロード 2) Windows7 PCとSTM32L-Discoveryとの接続

8

5. STM3L_Update_xxxの使い方

Atollic TrueSTUDIO for ARM Lite で作成されるプログラムコードである elfファイルをCPUの 0x08004000番地から

書き込みます。更新が終了すると自動的にプログラムの実行が開始されます。

書き込むプログラムコードは プログラムの開始番地が 0x08004000 に設定されている必要があります。

この例ではRS232Cの UARTを使用して、ファームウェアを更新する場合について説明します。

USBのVCP(仮想COMポート)を使用してファームウェアを更新する場合も操作は同様です。

5.1. COMポートの選択

STM32L-DiscoveryにはSTM32L_Update_UART.binが書き込まれていて実行しているものとします。

1) COMポートの検索

PCと STM32L-DiscoveryとをRS232Cケーブルで接続して [COM検索] ボタンをクリックしてください。

検索できた場合、”COM(シリアルポート)を検索しました。” とメッセージが表示されます。

Page 9: ファームウェア更新アプリケーションtri-s.world.coocan.jp/.../Explain_Update_STM32L1xx.pdf · 1) STM32L_Update_xxx.binのダウンロード 2) Windows7 PCとSTM32L-Discoveryとの接続

9

2) COMポートの指定

COM選択のComboBoxでCOMを選択してください。ここでは COM4 を選択しています。

選択した COMを使用するか聞いてきますので、OKならば [はい] ボタンをクリックしてください。

次ページに続く

Page 10: ファームウェア更新アプリケーションtri-s.world.coocan.jp/.../Explain_Update_STM32L1xx.pdf · 1) STM32L_Update_xxx.binのダウンロード 2) Windows7 PCとSTM32L-Discoveryとの接続

10

“COM4に設定しました。” とメッセージが表示されています。

5.2. ファームウェアの更新

[Firmware更新] ボタンをクリックしてください。

次ページのファイル選択のダイアログが表示されます。

Page 11: ファームウェア更新アプリケーションtri-s.world.coocan.jp/.../Explain_Update_STM32L1xx.pdf · 1) STM32L_Update_xxx.binのダウンロード 2) Windows7 PCとSTM32L-Discoveryとの接続

11

書き込みたいファームウェアを選択して [開く(O)] ボタンをクリックします。

ここでは STM32L_BlinkLED_4K.elf を選択しています。0x08004000番地から実行するように設定した LED点滅の

プログラムです。

OKなら [はい(Y)] ボタンをクリックします。

次ページに続く

Page 12: ファームウェア更新アプリケーションtri-s.world.coocan.jp/.../Explain_Update_STM32L1xx.pdf · 1) STM32L_Update_xxx.binのダウンロード 2) Windows7 PCとSTM32L-Discoveryとの接続

12

書き込みが終了すると、このメッセージが表示されます。 [OK] ボタンをクリックして閉じてください。

書き込みの処理に従って上記のようにメッセージが表示されています。

STM32L_BlinkLED_4K.elfが0x08004000番地に書き込まれて、動作していると思います。

以上で、更新ファームウェアの書き込みは終了です。

Page 13: ファームウェア更新アプリケーションtri-s.world.coocan.jp/.../Explain_Update_STM32L1xx.pdf · 1) STM32L_Update_xxx.binのダウンロード 2) Windows7 PCとSTM32L-Discoveryとの接続

13

6. STM32L-Discoveryのプログラムエリアについて

このファームウェア更新プログラムでは次のようにプログラムエリアを規定しています。

1) ファームウェア更新用プログラムSTM32L_Update_xxxの格納エリア

0x08000000 ~ 0x08003FFFにファームウェア更新用プログラムSTM32L_Update_xxxを格納します。

2) 実行させるプログラムのエリア

0x08004000 ~ 0x0801CFFFをユーザープログラムの格納エリアにしています。

3) パラメータエリア

0x0801E000 ~ 0x0801FFFFをパラメータ格納エリアとしてリザーブしています。

7. チェックサムについて

また、ファームウェア更新アプリケーションUpdate_STM32L1xxはプログラムコードのチェックサムを書き込みます。

チェックサムは、STM32L_Update_xxx.binプログラムにより判定されますので。elfファイルは

ファームウェア更新アプリケーションUpdate_STM32L1xxにより書き込まないと正しく実行されません。

なお、SWDによるデバッグ時は、上記にかかわらず正しく動作します。