HEWを使ったプロジェクトの構築
C言語入門編においても作成したプロジェクトですが、マイコン入門編では統合開発環境HEWを利用します。では、順にプロジェクトの作成手順を説明します。
ワークスペースとプロジェクトの作成
HEWではワークスペースというものを作成し、プロジェクトをその中に作成します。ワークスペースには複数のプロジェクトを内包することも可能です。Visual Studioと比較すると次のような関係性となります。
スタートメニューの「Renesas」-「High-performance Embedded Workshop」を選択しHEWを起動しましょう。
次のダイアログが表示されます。最初は新規のプロジェクトワークスペースを作成します。
「ワークスペース」と「プロジェクト名」を決定します。別名でもよいですが、この後の解説に合わせるために次のものを指定してください。ワークスペースを配置するディレクトリはHEWのデフォルトである「C:\WorkSpace」を指定しておきましょう。
ビュートローバーH8に搭載されているマイコンの36064(300Hシリーズ)を選択します。[完了]を押して作成を終了させます。
作成が完了するとHEWにワークスペースとプロジェクトが読み込まれます。
HEWを使った動作確認用プログラムの作成
組み込み開発でまず実施すべきことは、最低限のプログラムを対象機器上で動作させることです。
初めて扱う機器の場合は様々な要因でうまく動かせないこともあり、これが最初の関門となります。ただ、最近の開発機器はサンプルプログラムが付属されていることも多く、手順に従い行えば動作させることができます。
組み込み機器での動作確認方法
C言語の学習で最初に作るプログラムといえば「Hello World」ですね。しかし、組み込み機器はディスプレイが存在しない機器も多く、Hello Worldで動作確認することはほとんどありません。
では何をもって動作確認するかというと、よく利用されるのがLEDです。LEDを点灯/消灯することができれば動かせたと判断します。これを通称「Lチカ(LEDをチカチカさせる)」と呼びます。
プログラムの作成
動作確認するためのプログラムを動かしてみましょう。
プロジェクトに登録されているmain.cを次のプログラムに全て差し替えてみましょう。プログラムの内容は現時点で理解する必要はありません。処理としてはオレンジ色のLEDを点滅するプログラムになっています。
main.c
#include "iodefine.h"
void main(void)
{
long i;
WDT.TCSRWD.BYTE = 0x92;
WDT.TCSRWD.BYTE = 0x92;
IO.PCR6 = 0x01;
IO.PDR6.BYTE = 0x01;
while(1)
{
IO.PDR6.BIT.B0 = 1;
for (i=0 ; i < 1000000; i++);
IO.PDR6.BIT.B0 = 0;
for (i=0 ; i < 1000000; i++);
}
}
ビルドの実施
Visual Studioと同様にプログラムを作成したらビルドを行います。メニューの[ビルド]-[ビルド]を行います。ショートカットキーとしてF7キーを利用することも可能です。
ビルドを行うとプロジェクトに登録されたソースファイルがコンパイル・リンクされます。現時点では警告が1つ出力されますが動作させることが可能です。
実行ファイルの出力
ビルドを行うと実行ファイルが生成されますが、今回の環境ではexeファイルが作られるのではなく、motファイル(モトローラ形式ファイル)というものが生成されます。皆さんの環境でも下記のフォルダに生成されていることを確認しましょう。
実行ファイル: C:\WorkSpace\BeautoRover\main\Debug\main.mot
HEWで作成したプログラムの実行方法
パソコン上で作成された実行ファイルであるmotファイルをビュートローバーに転送することで動かすことが可能になります。
USBケーブルの接続
パソコンからビュートローバーに実行ファイルを転送するためには、USBケーブルが必要となります。ビュートローバーH8に付属しているUSBケーブルを接続しましょう。
USBケーブルを接続しておけば電源が供給されるため、単三電池は付けていなくても構いません。
実行ファイルの転送方法
前章でインストールしておいた Vstone H8 Writer を利用して転送を行います。スタートメニューから「Vstone H8 Writer」を起動しましょう。
作成したmotファイルを選択し書き込みを実施すれば転送完了です。
無事に動けばプログラム転送が終わると共にオレンジ色のLEDが点滅します。
Q&A:HEWに関わるよくある質問
プログラム内に定数定義が存在しないために出力されている警告です。定数定義を行うことで警告は消えますので、プログラムを構築していくと共に自然と消えますので今は気にする必要はありません。