簡単版:DFU(旧版)

ダウンロードコーナーで最新版の開発環境を公開していますが、以下の方法は、旧版の開発環境を前提にしたものです。特段の事情がない限りは新版を使用してインストールすることをお勧めします。書籍「STM32マイコン徹底入門」の「第2章Appendix 開発環境の構築とマイコン・ボードの選定,プログラミングの仕方」で紹介している方法は、以下の方法と同じです。

「マイコン徹底入門」の導入編では、開発環境の構築方法を詳細に紹介しています。導入編をお読みいただければ設定の順序や各設定の意味もご理解いただけるはずです。ただ、なにぶん作業量が多く、途中で設定を失敗してしまう可能性がありますし、何より手間です。そこで開発環境を簡単に構築していただける設定済みのファイルを用意しました。以下の手順を実行すれば、それだけで開発環境の構築が完了します。

 この設定済みファイルでは、書込方法にDFUを使用することを前提にしています。他のボードや書込方法を使用する場合には、一旦このパッケージで環境を構築してから該当部分の設定を変更するか、導入編の手順に従って環境を構築してください。
1 ソフトウェア・ドライバをインストールする

Java/ツールチェイン(Codesourcery G++ Lite)/DfuSe(DFUドライバを同梱したDFU書込ツール)/DFUツール/VCPドライバ/Eclipseの設定済みファイルのインストールを行います。Java、ツールチェイン(Codesourcery G++ Lite)、DFU ドライバ、DFUツールは、インストーラーの指示通りインストールしてください。設定内容を変更する必要はありません。詳細や手順や作業の意味については詳細手順を記載したリンク先を参照して下さい。

Javaはこのリンク先(http://www.java.com/ja/download/index.jsp)のページの「無料Javaのダウンロード」から「Version 6 Update 20」又はそれ以降のバージョンをダウンロードします。→詳細手順

ツールチェインはこのリンク先(http://www.codesourcery.com/sgpp/lite/arm/portal/release1294)のページで「IA32 Windows Installer」を選択してダウンロードします。なおダウンロードにある程度時間がかかるようです。→詳細手順

DfuSeはこのリンク先(http://www.st.com/stonline/products/support/micro/files/um0412.zip 又は http://miqn.net/files/um0412.zip)からダウンロードします。→詳細手順

DFUツールこのリンク先(http://miqn.net/files/dfu_command_line_tools_from_ksk.zip)からダウンロードします。ダウンロードできる開発環境にも同梱しています。インストールできたら、
C:¥Program Files¥KSK¥DFU_Command_Line_Tools_from_KSK
にパスを通しておきます。→詳細手順
Eclipseの設定済みファイルはこのリンク先(http://miqn.net/files/with_eclipse.zip)からダウンロードして、お使いのPCのルートディレクトリ直下(C:\miqnnet)に解凍してください。この圧縮ファイルにはEclipseと使用するプラグインが設定済みで収録されています。解凍して配置するだけで、導入編の「4.1.2. Eclipse」「5. ワークスペースの構築」の作業を行ったのと同様の状態になります。 ダウンロードにあたっては、GPL/Eclipse等のライセンスを確認してください。
STBee以外のマイコンボードを使用する場合には、STM32プロジェクトのルートにあるMakefile.in冒頭のコメントアウト部分を変更して下さい。→詳細手順
2 動作イメージの確認
 まず導入編:demo_flash_dfuを見て、書込から動作までのイメージをつかんで下さい。
 注:この動画にはバグがあります。プログラムのコピー元がtest_obled_toggleなのに、実行結果はtest_obled_dimmingのものになっています。導入編:test_obled_toggleを見て、test_obled_toggleの動作を把握して下さい。
3 マイコンボードを接続する
 USBケーブルを使用して、PCとマイコンボードを接続します。買ったばかりのマイコンボードであればそのままつなげば構いません。一度でもプログラムを書き込んだことがあるボードの場合には、ユーザースイッチを押しながら接続するか、接続してからユーザースイッチを押しながらリセットボタンを押してください。
 接続すると、「新しいハードウェアが見つかりました」というポップアップメニューが現れ、「STM32 DFU」「STM Devide in DFU」が検出されます。DfuSeをインストールした際に、
C:¥Program Files¥STMicroelectronics¥Software¥DfuSe¥Driver
にドライバ(STtube.inf)がコピーされていますので、これを指定してインストールします。→詳細手順
4 ビルドして書き込む
 C:¥miqnnet¥eclipseフォルダにあるeclipse.exeを実行すると、Eclipseが起動するので、開発を始めることができます。
①画面左側のProject ExplorerビューにあるSample-Projectプロジェクト内のtest_obled_toggleフォルダを展開(+マークをクリックしてコードを表示される)し、3つのコード(main.c/stm32f10x_it.c/stm32f10x_it.h)をコピーします。コピー後、STM32プロジェクトに上書きします。初期状態でSTM32プロジェクトに入っているコードは動作するものかどうかわかりませんので、上書きして消して下さい。→詳細手順
②画面右側のMake TargetsビューのSTM32を展開し、libを展開したところにあるdebugターゲットをダブルクリックします。これでファームウェアをコンパイルされます。完了するまで少し時間がかかります。→詳細手順
③Make TargetsビューのSTM32の直下にあるdebugターゲットをダブルクリックします。これによりユーザプログラムがコンパイルされます。→詳細手順
④マイコンボードのユーザースイッチを押しながらリセットスイッチを押してDFUモードにします。→詳細手順
⑤Make Targetsビューのflashターゲットをダブルクリックします。これによりマイコンへの書き込みが始まります。左下のConsoleビューに「Verify successful !」と表示されたら書込完了ですのでリセットスイッチを押してリセットします。→詳細手順
⑦動画通り動作していれば書込成功です。→詳細手順
5 シリアルポートを使う
VCP(仮想COMポート)を使ってマイコンボードと通信します。
まず導入編:demo_flash_dfuを見て、test_toggle_led_by_serialの動作を把握してください。
①VCPはドライバが必要です。ドライバは、このリンク先(http://www.st.com/stonline/products/support/micro/files/vcpdriver_v1.1_setup.zip又はhttp://miqn.net/files/vcpdriver_v1.1_setup.zip)からダウンロードします。解凍してインストールしてください。→詳細手順
②先ほどのtest_obled_toggleと同じ要領で、今度は、Sample-Projectプロジェクト内のtest_toggle_led_by_serialフォルダのコードをコピーして、STM32プロジェクトに貼り付け(上書き)、ビルドして書き込みます。ファームウェアをコンパイルする必要はありません。
③test_obled_toggleが書き込んだ後にリセットすると、「新しいハードウェアの検出」ウィザードが始まりますので、「ソフトウェアを自動的にインストールする」を選択してインストールして下さい。→詳細手順
④Eclipseの画面下のTerminalビューを選択し、Settingボタンをクリックして、以下の情報を入力します。→詳細手順
Connection Type:Serial
Baud Rate:115200
Data Bits:8
Stop Bits:1
Parity:None
Flow Control:None
Timeout:5
PortはCOMポート番号をデバイスマネージャで確認して入力してください。→詳細手順
⑤OKをクリックすると、VCP経由で接続されます。ターミナル上で文字を入力して、エコーバックされてくるのを確認してください。→詳細手順
VCPを使っている場合には、プログラムを開始した後に接続することになるので、プログラム開始時にマイコンボードがPCに送信している起動時メッセージ(動画でターミナルに表示されている「Hellow Cortex-M3/STM32 World!」の部分)は表示されません。
6 その他のサンプルプログラム
以上の要領で、その他のサンプルプログラムも動作させることができます。試しにtest_obled_dimmingをコンパイルしてマイコンボードに書き込み、実行してみてください。動作は予め導入編:demo_flash_dfuを見て把握しておいてください。ターミナルを接続しておくと、明滅のタイミングでメッセージを表示させられます。なおVCPを使用している場合には、USBを接続するまではプログラムがスタートしません。
makefile.inの「#STOP_AT_START_UP = -DSTOP_AT_STARTUP」のコメント(行頭の#)を削除すると(要再コンパイル)、リセット後も、ターミナルに何かを入力するまでは、プログラムの実行が最初の部分で一時停止します。ターミナルからの接続後、ターミナル上でキーを押すと、プログラムの実行が再開するので、プログラム起動時のメッセージも表示させることができます。→詳細手順
環境の構築(+動作実験)はこれで完了です。
ステップで簡単環境構築
 「マイコン徹底入門」の導入編では、開発環境の構築方法を詳細に紹介しています。導入編をお読みいただければ設定の順序や各設定の意味もご理解いただけるはずです。ただ、なにぶん作業量が多く、途中で設定を失敗してしまう可能性がありますし、何より手間です。そこで開発環境を簡単に構築していただける設定済みファイルを用意しました。以下の手順を実行すれば、それだけで開発環境の構築が完了します。
 この設定済みファイルでは、マイコンボードとしてSTBee、書込方法としてDFUを使用することを前提にしています。他のボードや書込方法を使用する場合には、一旦このパッケージで環境を構築してから該当部分の設定を変更するか、導入編の手順に従って環境を構築してください。
2と3の手順については、この動画を参考にしてください。
1 ソフトウェアをインストールする
 Java/ツールチェイン(Codesourcery G++ Lite)/DfuSe(DFUドライバを同梱したDFU書込ツール)/DFUツール/Eclipseのインストールを行います。Java、ツールチェイン(Codesourcery G++ Lite)、DFU ドライバ、DFUツールは、インストーラーの指示通りインストールしてください。設定内容を変更する必要はありません。
・Javaはこのリンク先(http://www.java.com/ja/download/index.jsp)のページの「無料Javaのダウンロード」から「Version 6 Update 20」又はそれ以降のバージョンをダウンロードします。
・ツールチェインはこのリンク先(http://www.codesourcery.com/sgpp/lite/arm/portal/release1294)のページで「IA32 Windows Installer」を選択してダウンロードします。
・DfuSeはこのリンク先(http://www.st.com/stonline/products/support/micro/files/um0412.zip又はhttp://miqn.net/files/um0412.zip)からダウンロードします。
・DFUツールこのリンク先(http://miqn.net/files/dfutools.zip)からダウンロードします。
・Eclipseはここからダウンロードして、お使いのPCのルートディレクトリ直下(C:\miqnnet)に解凍してください。この圧縮ファイルにはEclipseと使用するプラグインが設定済みで収録されています。ダウンロードにあたっては、こちらの使用許諾条件を確認してください。
2 マイコンボードを接続する
 USBケーブルを使用して、PCとマイコンボードを接続します。買ったばかりのマイコンボードであればそのままつなげば構いません。一度でもプログラムを書き込んだことがあるボードの場合には、ユーザースイッチを押しながら接続するか、接続してからユーザースイッチを押しながらリセットボタンを押してください。
 接続すると、「新しいハードウェアが見つかりました」というポップアップメニューが現れ、「STM32 DFU」「STM Devide in DFU」が検出されます。DfuSeをインストールした際に、
にドライバがコピーされていますので、これを指定してインストールします。詳しい手順はこのページを参照してください。
3 ビルドして書き込む
 c:\miqnnet\eclipse\eclipse.exeを実行すると、Eclipseが起動するので、開発を始めることができます。
 この動画を参考にして、ビルドして書き込んでください。①使用するサンプルプログラムをSTM32プロジェクトに上書きコピー、②DEBUGターゲットをダブルクリックしてコンパイル、③ユーザースイッチを押しながらリセットスイッチを押してDFUモードにする、④FLASHターゲットをダブルクリックして書き込む、⑤マイコンボードをリセットするという順番です。
環境の構築(+動作実験)はこれで完了です。