【丁寧解説】GNU MCU Eclipseのプロジェクト作成手順【画像多め】

GNU MCU Eclipseのプロジェクト作成手順を画像を多めに使ってわかりやすく解説します。

0.ゴールの確認

まずはゴールを確認しておきましょう。

 

今回は、LEDを点滅させるプログラムのプロジェクトを作成し、パソコン上でマイコンボードSTM32F4DISCOVERYをエミュレートして、そのボード上で動かすところまでやります。

 

GNU MCU EclipseのLED点滅プロジェクト

 

必要なものはGNU MCU Eclipseだけです。インストールがまだの方は、下記の記事を参照してください。

 

GNU MCU Eclipseのインストール方法を丁寧に解説

 

1.CMSIS Packのインストール

使用するマイコンのCMSIS Packをインストールしておくと、3つのメリットがあります。ぜひやっておきましょう。

 

  • デバッグのコンフィグレーション時に、各種設定が自動挿入され、作業が簡単になる
    • プロジェクトにCMSIS Packを適用する必要あり(後述)
  • デバッグ時に周辺装置のレジスタの内容を見ることができる
  • マイコンの各種ドキュメントを参照できるようになる

 

STM32F4DISCOVERYに乗っているマイコンはSTM32F407VGです。このマイコンのCMSIS Packを入手しましょう。

 

1-1.CMSIS Packs managerの初期化

CMSIS Packを入手するには一度CMSIS Packs managerの初期化をしておく必要があります。

 

Eclipseを立ち上げたら、下記の手順で初期化を行ってください。

 

  1. CMSIS Packsパースペクティブを開く
  2. 初期化を実行

 

Packsパースペクティブの初期状態

 

初期化は非常に時間がかかるのでコーヒーでも飲みながらゆっくり待ちましょう。

私の場合は10分以上かかりました。

 

たまに下記のようなダイアログが表示されます。特に影響はないのでIgnoreボタンを押して無視しましょう。

Packの初期化時のエラーダイアログ

 

初期化が終わると、空っぽだった画面に色々と追加されています。

 

Packsパースペクティブの初期化後の画面

 

1-2.STM32F407VGのCMSIS Packをインストール

STM32F497VGのCMSIS Packをインストールしましょう。

 

画面中央から『STM32F4xx_DFP』を探して、右クリックのメニューから『Install』をクリックしてください。

 

STM32F3XX_DFPのインストール

 

 

左メニューの『Devices』や『Boards』タブを使うと、マイコンやボードで画面中央の表示をフィルターすることができて便利です。

上記画像でも、『Devicesタブ』を使って、STMicroelectronics → STM32F4 Seriesを選択して、画面中央をフィルター表示しています。

 

 

『STM32F4xx_DFP』から『STM32F4xx_DFP(installed)』に表記が変われば入手成功です。

 

STM32F4xx_DFPのインストール完了

 

2.Eclipseのプロジェクトを作成

 

2-1.新しいプロジェクトの作成

Eclipseの画面上部メニューの『File』→『New』→『Project…』をクリックしてください。

プロジェクト作成用のダイアログが表示されるので『C Project』を選択して『Next >』ボタンをクリックしてください。

 

Cプロジェクトの作成

 

次のダイアログでは、プロジェクト名の入力と、プロジェクトのタイプ、ツールチェインの選択を要求されます。

今回は下記の設定とします。入力・選択が終わったら『Next >』ボタンをクリックしてください。

 

画面の表示 入力・選択
Project name stm32f4discover-demo
Project type STM32f4xx C/C++ Project
Toolchains ARM Cross GCC

 

STM32F4のプロジェクト作成

 

次の画面ではマイコンの各種設定の入力を要求されます。

下記の設定を入力して『Next >』ボタンをクリックしてください。

 

設定 入力/選択
Chip family STM32F4xx
Flash size (kB) 1024
External clock (Hz) 8000000
Content Blinky (blink a led)
Use system calls Semihosting (POSIX sysmte calls via host)
Trace output Semihosting STDOUT stream
Check some warnings チェックを入れる
Check most warnings チェックなし
Enable-Werror チェックなし
Use -0g on debug チェックを入れる
Use newlib nano チェックを入れる
Exclude unused チェックを入れる
use link optimizations チェックなし

 

マイコンの各種設定画面

 

これ以降の画面は設定を変えず、ひたすら『Next >』ボタンをクリックしてください。

 

プロジェクトのフォルダ設定

 

プロジェクトのコンフィグレーション設定画面

 

最後のツールチェインの設定画面で『Finish』ボタンを押せばプロジェクトが生成されます。

 

ツールチェインの設定画面

 

プロジェクトが正しく作られているか、ビルドして確かめてみましょう。

 

画面上部の『トンカチ』ボタンをクリックして、画面下部の『Console』に『Build Finished.』の表示がされればOKです。

 

プロジェクトのビルド

 

プロジェクトの中身にはすでにLEDを点滅させるコードが入っています。興味があれば確認してみてください。

 

2-2.プロジェクトにCMSIS Packを設定

先ほどインストールしたSTM32F407VGのCMSIS Packをプロジェクトに適用しておきましょう。

 

画面左の『Project Explorer』内の『stm32f4descovery-demo』を右クリックして、『Properties』を選択して、プロジェクトのプロパティウィンドウを開きましょう。

 

次に、開いたプロパティウィンドウの左側の『C/C++ Build』→『Settings』をクリックして、Settings画面を開きます。

 

Settings画面の『Devices』タブの中で、『STMicroelectronics』→『STM32F4-Discovery』→『STM32F407VG』を選択し、『Apply and Close』ボタンをクリックしてください。

 

STM32F407VGのCMSISを選択

 

これでプロジェクトにSTM32F407VGのCMSIS Packが適用されます。

 

3.QEMUでエミュレート

プロジェクトが出来上がったので、QEMUでボードをエミュレートし、そのボード上で実際にプログラムを動かしてみましょう。

 

3-1.QEMUのデバッグを設定

QEMUでデバッグする設定を作ります。

 

Eclipseの画面上部のメニューから『Run』→『Debug Configurations…』をクリックして、デバッグ設定の画面を開いてください。

 

デバッグ設定画面を開いたら、左側にある『GDB QEMU Debugging』をダブルクリックしてください。

QEMUでデバッグするための設定画面が右側に作られます。

 

QEMUデバッグ設定画面

 

2か所だけ設定変更してください。

1か所目は、『Debugger』タブを開き、下記の設定に変更してください。

 

設定 入力
Board name STM32F4-Discovery
Device name STM32F407VG
Extra verbose チェックを入れる

 

QEMUのデバッグ設定のDebuggerタブ

 

2か所目は、『Common』タブを開き、『Display in favorite menu』の中の『Debug』にチェックを入れてください。

 

QEMUデバッグ設定画面のCommonタブ

 

2か所の変更が終わったら、画面下部の『Close』ボタンを押して閉じてください。

 

3-2.デバッグの実行

ついにプログラムを動かす時が来ましたね。

 

Eclipseの画面上部にある『虫の絵の』ボタン→『stm32f4sidsovery-demo Debug』をクリックしてください。デバッグが開始されます。

 

QEMUのデバッグ開始

 

一瞬、下記のウィンドウが開いてすぐにEclipseの画面に戻ります。

 

QEMUでエミュレート中のSTM32F4DISCOVERY

 

開いたウィンドウはQEMUでエミュレートしているSTM32F4DISCOVERYです。もうエミュレートは開始されているわけですね。

ただ、デバッグの実行はmain関数の頭で停止するようになっているので、停止したタイミングでEclipseの画面が全面に出てきたわけです。

 

なので、停止しているデバッグを再開させてあげましょう。

Eclipseの画面上部にある再開ボタンをクリックしてください。

 

QEMUデバッグの再開

 

そうすると、STM32F4DISCOVERYの緑色のLEDが点滅します!

 

QEMUデバッグの実行中

 

以上です。お疲れ様でした!