PCアプリケーション STM32CubeProgrammer の説明
PCアプリケーション STM32CubeProgrammer は、
.binファイルを STM32 CPU の Flash Memory に
書き込むためのアプリケーションです。
STMicroelectronics社が提供しています。
PCアプリケーション STM32CubeProgrammer を使用して、
USB経由で .binファイルを STM32 CPU の Flash Memory に書き込むためには
STM32 CPU に DFU(Download Firmware Update)のファームウェアが
書き込まれている必要があります。
この説明では、STM32F405VG 用の DFU を使用することを前提に説明しています。
DFU のサンプルプログラム F405VG_DFU_10K を紹介しています。
STM32F446RE 用のサンプルプログラム F446RE_DFU_10K を使用する場合には
F405VG の部分を F446RE に読み替えて、利用してください。
サンプルプログラムは A+-2C(ええ加減にC) のページに掲載しています。
STM32CubeProgrammerの動作を確認するために
えがおのでんし製の評価用基板 Base-F405VG を使用しています。
えがおのでんし製の評価用基板 Base-F405VG には、STM32F405VGを実装した
えがおのでんし製の評価用CPU基板 tri-S が搭載されています。
基板については、
Base-F405VG基板 の説明 をご覧ください。
目次
PC と 基板 との接続
起動画面
ST-LINK接続でDFUを書き込む
USB接続でFirmwareを書き込む
1) F405VG_MSP2807_TP_ASCII_10K_Release.binのダウンロード
2) PCとUSBの接続
3) USB接続の選択
4) USB接続
バージョンによる動作の違い
5) Erasing & programmingボタンのクリック
6) binファイルの選択
ST-LINK接続でバイナリFontを書き込む
PC と 基板 との接続
まず、ST-LINK/V2 と Base-F405VG とを接続して、
tri-S基板の P3 と PC 間も USBケープル(A - Mini B)で接続します。
PC と 基板 とを接続しておかないと、STM32CubeProgrammer を起動しても
ST-LINK接続 または USB接続 とも認識されません。
起動画面
STM32CubeProgrammerの起動画面を以下に示します。
ここで、最大化ボタンをクリックすると、以下のように全体が表示されます。
ST-LINK接続でDFUを書き込む
ST-LINK接続を選択して、STM32F405VGのFlash Memory 0x08000000番地に
F405VG_DFU_10K_Release.binを書き込みます。
F405VG_DFU_10K_Release.binは、USBを介して .binファイルを、
STM32F405VGのFlash Memoryに書き込むためのFirmwareです。
F405VG_DFU_10K_Release.binは、サンプルプログラム F405VG_DFU_10K を
Rleaseモードでビルドして作成した F405VG_DFU_10K.bin ファイルを
リネームしたものです。
サンプルプログラムを見たい方は
サンプルプログラム F405VG_DFU_10K の説明 をご覧ください。
F405VG_DFU_10K_Release.binをSTM32F405VGのFlash Memoryに書き込む方法を
以下に説明します。
1) F405VG_DFU_10K_Release.binのダウンロード
ここから F405VG_DFU_10K_Release_bin.zip をダウンロードしてください。
F405VG_DFU_10K_Release_bin.zipを解凍すると、F405VG_DFU_10K_Release.binになります。
F446RE_DFU_10K_Release.bin も、おいておきます。
F446RE_DFU_10K_Release_bin.zip
F446RE_DFU_10K_Release_bin.zipを解凍すると、F446RE_DFU_10K_Release.binになります。
2) PCとST-LINKの接続
PCとBase-F405VG基板とを ST-LINK/V2 で接続する方法については
以下をご覧ください。
Base-F405VG のデバッグ
3) ST-LINK接続の選択
以下のように、接続選択部でST-LINKを選択します。
4) ST-LINK接続
[Connect]ボタンをクリックすると以下のように接続画面になります。
4) Erasing & programmingボタンのクリック
左側の[Erasing & programming]のアイコンをクリックすると以下のような画面になります。
5) .binファイルの選択
[Browse]ボタンをクリックして、ダウンロードしたF405VG_DFU_10K_Release.binを選択します。
Start addr... の設定は 0x08000000 にします。
[Start Programm...]ボタンをクリックして、Firmwareを書き込みます。
Firmwareが書き込まれて、"Start operation achieved successfully" と
メッセージが表示されます。
[OK]ボタンをクリックすると、次のメッセージ
"Download verified successfully" が表示され
ここで、また [OK]ボタンをクリックすると、次のメッセージ
"File download complete" が表示されます。
もう一度、[OK]ボタンをクリックして終了です。
[Disconnect]ボタンをクリックすると、
ST-LINKの接続が切断されて、この画面になります。
右上の [ X ] ボタンをクリックして、STM32CubeProgrammer を閉じてください。
USB接続でFirmwareを書き込む
USB接続を選択して、STM32F405VGのFlash Memory 0x08010000番地に
ファームウェア の binファイル F405VG_MSP2807_TP_ASCII_10K_Release.binを書き込む例を紹介します。
ファームウェア F405VG_MSP2807_TP_ASCII_10K_Release.binは、タッチパネル付きLCD MSP2807の
サンプルプログラムです。
サンプルプログラム F405VG_MSP2807_TP_ASCII_10K については
サンプルプログラム F405VG_MSP2807_TP_ASCII_10K の説明 をご覧ください。
F405VG_MSP2807_TP_ASCII_10K_Release.binをSTM32F405VGのFlash Memoryに書き込む方法を
以下に説明します。
1) F405VG_MSP2807_TP_ASCII_10K_Release.binのダウンロード
ここから F405VG_MSP2807_TP_ASCII_10K_Release_bin.zip をダウンロードしてください。
F405VG_MSP2807_TP_ASCII_10K_Release_bin.zipを解凍すると、F405VG_MSP2807_TP_ASCII_10K_Release.binになります。
2) PCとUSBの接続
PCとtri-S基板のP3とを、USBケーブル(A - Mini B)で接続してください。
動作確認に、えがおのでんし製の試験用基板 Base-F405VG基板 を使用しています。
USBコネクタ部の回路を以下に示します。
3) USB接続の選択
まず、tri-S基板のUserスイッチを押しながら、Resetスイッチを押して離します。
Flash Memoeyの 0x08000000 番地に書き込まれている、DFUプログラムが実行されて、
USBがイネーブルになります。
デバイスマネージャーを見てみると、以下のように STM32 Download Firmware Update が
検出されています。
この状態で、STM32CubeProgrammerを起動しないと、DFUを検出できないようです。
STM32CubeProgrammerを起動してください。
準備が整ったら、以下のように、接続選択部でUSBを選択します。
4) USB接続
以下の説明は、バージョン V2.15.0 までの動作です。
[Connect]ボタンをクリックすると以下のように接続画面になります。
バージョンによる動作の違い
バージョン V2.15.0 までは正常に動作します。
(en.stm32cubeprg-win64-v2-15-0.zip)
バージョン V2.16.0 は USB接続ができないようです。
(en.stm32cubeprg-win64-v2-16-0.zip)
バージョン V2.17.0 は 以下のように操作すると USB接続が行えます。
(en.stm32cubeprg-win64-v2-17-0.zip)
a) STM32CubeProgrammer V2.17.0 の起動画面
アプリケーションを起動すると以下の画面が開きます。
b) USB選択
右上のインターフェース選択が UART になっているので、USBを選択します。
c) Address選択
左上の Address の部分をクリックして、0x08000000 を選択します。
d) USB接続
左上の Address を 0x08000000 にすると、以下のように
USB が接続されて Connected になります。
通常通り DFU の操作が行えます。
5) Erasing & programmingボタンのクリック
左側の[Erasing & programming]のアイコンをクリックすると以下のような画面になります。
6) .binファイルの選択
[Browse]ボタンをクリックして、ダウンロードした F405VG_MSP2807_TP_ASCII_10K_Release.bin を選択します。
Start addr... の設定は 0x08010000 にします。
このアドレスを間違うと、異なる番地にFirmwareが書き込まれるので、よく注意してください。
[Start Programm...]ボタンをクリックして、Firmwareを書き込みます。
あとは、上記 「ST-LINK接続での書き込み」と同様です。
Start addr... の設定を 0x08000000 にして [Start Programm...]ボタンをクリックしまった場合
DFUのファームウェア側で、0x08008000未満のアドレスには書き込まないようにプロテクトしていますが
STM32CubeProgrammerがエラーメッセージを出力するまで、だいぶ時間がかかります。
また、エラーメッセージが表示された後、うまく動作しなくなる場合が多いので、
いったん、STM32CubeProgrammerを終了し、USBケーブル接続をはずして、
USB接続からやり直してください。
上記の操作で、Firmware の binファイル が正常に書き込まれると、
LCD MSP2807 には、以下の画面が表示されます。
このとき、USB接続が切れてしまうので、STM32CubeProgrammer では、
以下のメッセージが表示されます。
以上で、0x08010000 番地へのFirmwareの .bin ファイルの書き込みは終了です。
メッセージを閉じて、STM32CubeProgrammer を終了してください。
ST-LINK接続でバイナリFontを書き込む
Base-F446RE基板のプログラムの書き込みについて説明します。
バイナリFontファイルを使用して、日本語表示を行う、
サンプルプログラム F446RE_MSP2807_JIS_X_0208_B を実行する場合、
STM32F405VGのFlash Memory に、バイナリFontファイルの Font_16x16_JIS_X_0208_B.bin を
書き込む必要があります。
ファームウェア F446RE_MSP2807_JIS_X_0208_Bは、タッチパネル付きLCD MSP2807の
サンプルプログラムです。
動作確認のために Firmwareのbinファイル、F446RE_MSP2807_JIS_X_0208_B_Release.bin を、
置いておきます。
ここから F446RE_MSP2807_JIS_X_0208_B_Release_bin.zip をダウンロードしてください。
F446RE_MSP2807_JIS_X_0208_B は 0x08000000 に書き込みます。
書き込み方法については前述の 「ST-LINK接続でDFUを書き込む」をご覧ください。
サンプルプログラム F446RE_MSP2807_JIS_X_0208_B については
サンプルプログラム F446RE_MSP2807_JIS_X_0208_B の紹介 をご覧ください。
sector 0 : 0x08000000 - 0x08003FFF : 16Kbytes : F446RE_MSP2807_JIS_X_0208_B を配置
sector 1 : 0x08004000 - 0x08007FFF : 16Kbytes : F446RE_MSP2807_JIS_X_0208_B を配置
sector 2 : 0x08008000 - 0x0800BFFF : 16Kbytes : 空き
sector 3 : 0x0800C000 - 0x0800FFFF : 16Kbytes : 空き
sector 4 : 0x08010000 - 0x0801FFFF : 64Kbytes : 空き
sector 5 : 0x08020000 - 0x0803FFFF : 128Kbytes : 空き
sector 6 : 0x08040000 - 0x0805FFFF : 128Kbytes : JIS X 0208バイナリFont を配置
sector 7 : 0x08060000 - 0x0807FFFF : 128Kbytes : JIS X 0208バイナリFont を配置
以下に、ST-LINKを使用してバイナリFontを書き込む方法を説明します。
1) Font_16x16_JIS_X_0208_B.binのダウンロード
ここから Font_16x16_JIS_X_0208_B_bin.zip をダウンロードしてください。
Font_16x16_JIS_X_0208_B_bin.zipを解凍すると、Font_16x16_JIS_X_0208_B.binになります。
2) PCとST-LINKの接続
PCとNUCLEO-F446REのCN1とを、USBケーブル(A - Mini B)で接続してください。
3) ST-LINK接続の選択
以下のように、接続選択部でST-LINKを選択します。
4) ST-LINK接続
[Connect]ボタンをクリックすると以下のように接続画面になります。
4) Erasing & programmingボタンのクリック
左側の[Erasing & programming]のアイコンをクリックすると以下のような画面になります。
5) Erase selected sectors
Font_16x16_JIS_X_0208_B.binを書き込むFlash MemoryのsectorをEraseします。
画面左側の選択項目、Skip flash erase before programming にチェックをいれないと、
Frash Memory全体がEraseされてしまいます。
そうならないように、Skip flash erase before programming にチェックをいれます。
チェックをいれた場合、書き込むsectorを自分でEraseしておく必要があります。
下記のように、Indexの 6 と 7 にチェックを入れて、[Erase_selected_sectors]ボタンを
クリックして、選択したSectorをEraseします。
正常にEraseされると以下のメッセージが表示されます。
6) .binファイルの選択
[Browse]ボタンをクリックして、ダウンロードしたFont_16x16_JIS_X_0208_B.binを選択します。
Start address の設定は 0x08040000 にします。
[Start Programming]ボタンをクリックして、Font_16x16_JIS_X_0208_B.binを書き込みます。
Font_16x16_JIS_X_0208_B.binが書き込まれて、"Start operation achieved successfully" と
メッセージが表示されます。
[OK]ボタンをクリックすると、次のメッセージ
"Download verified successfully" が表示され
ここで、また [OK]ボタンをクリックすると、次のメッセージ
"File download complete" が表示されます。
もう一度、[OK]ボタンをクリックして終了です。
書き込み終了後、Nucleo-64基板上の、RESETスイッチを押して、
Firmwareを再起動してください。
A+-2C (ええ加減にC) のページに戻る
メールアドレス: apm2c.sumi@gmail.com
なんでも、気軽に ご相談ください。
担当:おの
えがおのでんし 案内