IoT技術情報サイト

2020.05.26 EnOcean

ファームウェア開発の例

DOLPHIN V4 開発ツールと開発フロー

  • Facebook
  • Twitter

前回は、モジュールコンフィグレーション情報の設定変更の例を示しました。今回は、ファームウェア開発の例を示します。

ファームウェアの開発例

Dolphin V4 APIに含まれているサンプルプロジェクトを使用して、ファームウェアの作成から書き込み、評価の一連の開発例を紹介します。使用するサンプルプロジェクトは「_Template」です。このプロジェクトを基に、EnOceanスイッチによりLEDを点滅させます。簡単な例ですが、カスタムのファームウェアを作成する手順を理解できると思います。

  • <使用するソフトウェア>
  • ・DolophinV4 API Configurator
  • ・Dolphin V4 Programmer ※使用しない方法もあり
  • ・µVision®4

EnOceanスイッチによるLED点滅

この開発では、開発キット「EDK 400J」に同梱されている「送受信用モジュールTCM 400J」と「電池レスEnOcean送信用スイッチモジュールPTM 210J」を用いて、EnOceanスイッチによりLEDを点滅させます。開発は以下の①~⑥の順で行います。

  • ① システム構成
  • ② 事前準備
  • ③ 周辺機能の初期設定
  • ④ ソースコードの変更
  • ⑤ ビルド
  • ⑥ 書き込み

① システム構成

この例でのシステム構成は、送信用スイッチモジュールPTM 210Jから送られたテレグラムを受送信用モジュールTCM 410Jによって受信し、受信したデータに従ってLEDを点灯または消灯させるものです(下図参照)。

EnOcean EnOceanスイッチによるLED点滅システム構成例

今回は、開発キットEDK 400Jに同梱されている部品でシステムを構成するため、TCM 410Jの代わりに送信モジュールSTM 400Jを使用します。

② 事前準備

Dolphin V4 API内のExampleに含まれている「_Template」のプロジェクトをコピーします。これには、Exampleフォルダ内にある「copy_template.cmd」を実行します。

左:EnOcean Dolphin V4 APIのExampleフォルダ。右:EnOcean Dolphin V4 APIのExampleフォルダ内“copy_template.cmd”

「copy_template.cmd」を実行すると、以下のようなコマンドプロンプト画面が現れます。

EnOcean Dolphin V4 APIのExampleフォルダ内“copy_template.cmd”の実行画面

新たに作成するプロジェクト名を打ち込み、Enterすると、その名前で新しいプロジェクトが自動的に作成されます。作成したプロジェクトファイルと同じ名前のフォルダがExampleフォルダ内に自動生成され、その中に基本的なスケルトンファイル一式が作成されます。

③ 周辺機能の初期設定

受信モジュールの端子をHレベルまたはLレベルにしてLEDを点灯または消灯させるため、Dolphin V4 API Configurationを使って、LEDとつながっている端子(ADIO7, RSDADIO3)の「Direction」を「Output」に設定します。

Dolphin V4 API Configuration画面

このDolphin V4 API Configuration画面の通りにADIO7およびRSDADIO3端子の設定を行った後に、画面右下の「Export Configuration」ボタンを押してAP コンフィグレーションファイルを出力します。このとき、先ほど作成したフォルダを出力先ディレクトリとして指定して下さい。自動生成されるファイルは、EO3100I_CFG.c、EO3100I_CFG.h、STARTUP.A51の3つになります。これらのファイルの内容は、Dolphin V4 API Configuratorの画面の上部にファイルごとのタブがあり、選択するとビューア画面で確認することができます。

④ ソースコードの変更

µVision®4またはエディタを用いて、ファームウェアを変更します。フォルダ内にあるソースファイル「main.c」を開き、以下のようにソースコードを変更します。

EnOcean Dolphin V4 APIのソースコード“main.c”の変更

ソースコード内の各部分の意味は上記に示した通り、ファイル「EO3100I_CFG.c」と「EO3100I_CFG.h」をインクルードする部分、APIで与えられる構造体をアプリケーション用に変換する部分、受信許可処理を行う部分、受信待ちを行う部分、受信データの確認とデータ内容によってポートのH / L切り替えを行う部分となっています。

⑤ ビルド

ソースコードの変更の次にビルドを行います。ビルドは、Dolphin V4 ICに格納するバイナリファイル(hexファイル)を生成します。下図に示しているように、タスクバー上にあるビルドをあらわすアイコンをクリックするか、またはメニューの「Project」から「Build Target」を選択してビルドを実行します。生成されるファイルは「xxx.hex」と「xxx_cfg.hex」の2つになります。このとき、画面下部にある「Build Output」の部分にErrorやWarningが発生していないか確認する必要があります。また、「Build Output」の画面では、ビルドによって具体的にどのようなプロセスが逐次実行されているかが、表示されるメッセージで確認できます。

µVision®4によるビルドの方法

⑥ 書き込み

ビルドが成功したら、生成されたバイナリファイル(hexファイル)を受信モジュールに書き込んで、実際にプログラムを動作させてみます。生成されたバイナリファイル(hexファイル)を受信モジュールに書き込む方法は、以下の2通りがあります。

● Dolphin V4 Programmerを使用する方法

下図のように適切なポートを選択し、プログラムファイル(xxx.hex)とコンフィグレーションファイル(xxx_cfg.hex)を選択して、画面左上にある「Write to Flash」ボタンを押します。図の通り、結果がすべて「OK」になることを確認します。

Dolphin V4 Programmerを使用した書き込み

●Keil µVision®4を使用する方法

下図の通り、タスクバー上にあるダウンロードをあらわすアイコンをクリックするか、またはメニュー「Flash」から「Download」を選択して書き込みを行います。結果がすべて「OK」にとなることを確認します。

µVision®4を使用した書き込み

書き込みが完了したら、最後に動作確認を行います。受信モジュールをEOP 350に接続した状態で、DolphinViewでテレグラムが受信できているかを確認してみます。また、実際にPTM 210Jを操作して、LEDが点灯または消灯するかどうかを確認します。

DolphinViewを用いたテレグラムの確認はPCにUSB 400Jを接続し、以下の手順で行います(下図の番号参照)。

  • 1.受信モジュールのポートを選択
  • 2.Connect [F5] を選択
  • 3.受信したテレグラムのLogデータを表示

DolphinViewを用いた受信テレグラムの確認

LogデータはCSVファイルとして保存可能です。メニューの「File」から「Export to CSV」を選択し、指示に従って保存先やファイル名の指定などを行います。

DolphinView、CSVファイルへのエクスポート

以上、カスタムのファームウェアを作成する手順となります。

キーポイント:

・ファームウェアのカスタマイズの例として、開発キット「EDK 400J」を用いた。

・開発は以下の手順で行う。
 ① システム構成
 ② 事前準備
 ③ 周辺機能の初期設定
 ④ ソースコードの変更
 ⑤ ビルド
 ⑥ 書き込み

EnOcean