アプリケーションノート gy™ pe-hmi1 guix hello …...renesas synergy platform pe-hmi1用...
TRANSCRIPT
アプリケーションノート
R12AN0030JU0114 Rev.1.14 Page 1 of 41
2017.09.13
Renesas Synergy™ Platform
PE-HMI1用 GUIX "Hello World"
本資料は英語版を翻訳した参考資料です。内容に相違がある場合には英語版を優先します。資料によっては
英語版のバージョンが更新され、内容が変わっている場合があります。日本語版は、参考用としてご使用の
うえ、最新および正式な内容については英語版のドキュメントを参照ください。
要旨
このアプリケーションノートは、PE-HMI1用 GUIX™ Studio を使用したシンプルな 2画面 GUI の作成プロセスについて説明します。このアプリケーションは、Renesas Synergy™ ソフトウェアパッケージ(SSP) を使用して、新しいアプリケーションがいかに簡単に作成、設定できるかを示します。
Synergy ソフトウェアパッケージ(SSP)には、Express Logic社 の ThreadX® リアルタイムオペレーティングシステム (RTOS)、X-Ware® スタック群(NetX™、USBX™、GUIX™、FileX®) が含まれており、ハードウェアドライバは単一の堅牢なフレームワークの下で統合されています。この強力なツール群は、複雑な組み込みアプリケーションを迅速に開発するための包括的な統合フレームワークを提供します。
本Hello World アプリケーションは、アプリケーションフレームワークを使用した e2 studio ISDE で開発されまし
た。
対象デバイス
PE-HMI1 ボードバージョン 2.0
PC推奨条件:
Microsoft® Windows® 7以降
2.0 GHz 以上で動作する Intel® Core™ ファミリプロセッサ
8 GB のメモリ
250 GB ハードディスクまたは SSD
USB 2.0
インターネット接続環境
インストールするソフトウェア:
Synergy™ e2 studio ISDE 5.4.0.023 以降
Synergy™ ソフトウェアパッケージ (SSP) v1.3.0
Synergy Standalone Configurator 5.4.0.023
GUIX Studio v5.3.3.7
IAR Embedded Workbench® for Renesas Synergy™ 7.71.3.13746
注:これらのソフトウェアアプリケーションがない場合は、あらかじめインストールしてください。
必要な Renesas ソフトウェアは Renesas Synergy™ Gallery(ギャラリー) (https://synergygallery.renesas.com) からダウンロードできます。
提供されるソフトウェアファイル:
guiapp_event_handlers.c
main_thread_entry.c
目的
このドキュメントは、e2 studio ISDE を使用した GUIX タッチスクリーンインタフェース Hello World アプリ
ケーションの設定方法を説明します。ハードウェア機能 (LCD、タイマー、I2C インタフェース) の設定、ス
レッドとメッセージの受け渡しの設定、割り込みの設定、LCD ドライバの設定、タッチスクリーンの設定な
ど、すべての設定手順について説明します。このドキュメントでは、GUIX Studio エディタを使用して GUI イ
R12AN0030JU0114 Rev.1.14
2017.09.13
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 2 of 41
2017.09.13
ンタフェースを作成するために必要なすべての手順について説明します。さらに、このアプリケーション
ノートでは、e2 studio での基本的なプロジェクト設定と、基本的なデバッグ操作について説明します。実行中
は基本的なグラフィカルユーザインタフェース (GUI) となり、アプリケーションはタッチスクリーン操作に応
答します。
対象ユーザ
対象とするユーザは、GUI アプリケーションを設計する開発者です。
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 3 of 41
2017.09.13
目次
1. 概要 ......................................................................................................................................... 4
2. プロジェクトの e2 studio へのインポート ............................................................................... 4
3. e2 studio ISDE (統合ソリューション開発環境) でプロジェクトを作成する ............................. 4
4. ISDE でプロジェクトを構成する ........................................................................................... 10
5. GUIX Studio を使用して GUIX インタフェースを作成する ................................................... 23
6. カスタムインタフェースコントロールのコードの追加とプロジェクトのビルド ................... 36
7. アプリケーションを実行する ................................................................................................ 37
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 4 of 41
2017.09.13
1. 概要
このドキュメントでは、プロジェクトをセットアップし、GUIX Studio を使用して簡単な GUI ベースのアプ
リケーションを開発する手順について説明します。
2. プロジェクトの e2 studio へのインポート
注: このステップは、ユーザが開発ステップをスキップし、PE-HMI1 上で作業中のプロジェクトを確認する段階にまでジャンプする機能を提供するためのものです。多くの開発者はこのステップをスキップしてステップ 3 に進み、e2 studio でプロジェクトを作成することができます。また、プロジェクトをインポートする場合は、「7. アプリケーションを実行する」セクションにスキップしてください。
このドキュメントの開発の説明をスキップし、完成したプロジェクトをe2 studio で開くには、r11an0023eu0117-synergy-ssp-import-guide.pdf にある「 e2 studio にプロジェクトをインポートしてプロジェクトをビルドする方法」についての指示を参照してください。同梱の GUIX_Hello_World_PE-
HMI1.zip ファイルには、完了済みのプロジェクトが含まれています。
3. e2 studio ISDE (統合ソリューション開発環境) でプロジェクトを作成する
まず、e2 studio で新しいプロジェクトを作成することから開始します。
1. [Windows Start Menu] -> [All Programs] -> [Renesas Electronics e2studio] フォルダの [e2 studio] アイコンを
クリックして、e2 studio を開きます。
2. Worksapce Launcherダイアログボックスが表示されたら、[OK] をクリックして、デフォルトのワークス
ペースを使用します。
図 1 ワークスペースランチャダイアログ
3. 新しいワークスペースを作成します。
A. [File] プルダウンメニューから [Switch Workspace] -> [Other…] を選択します。
4. ワークスペース名を追加します。
A. [Workspace Launcher] ウィンドウで、ワークスペース名の末尾にテキストを追加して一意の名前にし
ます。「GUI_APP」を推奨します。デフォルトの場所にインストールした場合、新しいワークス
ペース名は「C:\Users\[your name]\e2_studio\workspace\GUI_APP」になります。
5. [OK] をクリックして、新しいワークスペースを作成します。
6. ワークベンチ領域をクリックして、「Welcome」画面を終了します。
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 5 of 41
2017.09.13
図 2 ワークベンチ領域をクリックして、「Welcome」画面を閉じる
7. ツールバーの [New] アイコンの隣にある黒い三角 をクリックして、新しいプロジェクトを開始します。
図 3 新しいプロジェクトを開始する
8. メニューから [Synergy Project] を選択します。
図 4 プルダウンメニューで Synergy C Project を選択する
ツール
バー
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 6 of 41
2017.09.13
9. ライセンスファイルが設定されている場合、フォームのライセンス領域は下の図のようになります。
ライセンスファイルが設定されている場合は、ステップ 10 にスキップします。空の場合は、以下のス
テップ (A 〜 G) に進みます。
図 5 構成済みのライセンスファイル
A. 右上の [Change license file] をクリックします。e2 studio で [Preferences] ダイアログボックスが表示さ
れます。
B. 参照 […] ボタンをクリックします。e² studio で [Specify Synergy License] ダイアログボックスが表示
されます。
図 6 Synergy ライセンス構成による Preferences ダイアログボックス
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 7 of 41
2017.09.13
C. 参照 […] ボタンをクリックします。e² studio で [Open Dialog] ダイアログボックスが表示され、ライ
センスのディレクトリが表示されます。
図 7 Synergy ライセンスダイアログボックス
D. 注:e2 studio をデフォルトの場所にインストールしている場合、ライセンスファイルは
C:\Renesas\e2_studio\internal\projectgen\arm\Licenses ディレクトリにあります。
E. そのディレクトリにある SSP_License_Example_EvalLicence_*.xml を選択します。
F. [Open] をクリックして、ライセンスファイルを設定します。
G. [Specify Synergy License] ダイアログボックスで [OK] をクリックします。
図 8 ライセンスファイルの確認
H. [Preferences Dialog] ボックスで、[Apply] をクリックしてから [OK] をクリックします。
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 8 of 41
2017.09.13
図 9 Synergy ライセンスファイル選択の適用と確認
10. [Project name] テキストフィールドに、例として GUIApp.プロジェクトの名前を入力します。
図 10 プロジェクト名の入力
11. このページの右上にある [Toolchain] オプションが [GCC ARM Embedded] に設定されていることを確認
します。
図 11 GCC ARM Embedded Toolchain の確認
12. [Next] ボタンをクリックして続けます。
13. [Device Selection] (左上) で、[SSP version 1.3.0] (以降) を選択します。
14. [Board] で、[S7G2 PE-HMI1] を選択します。[Device] が自動的に更新されます。
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 9 of 41
2017.09.13
図 12 デバイスの選択
15. [Next] ボタンをクリックして続けます。
16. [Project Configuration Dialog] で、オプション [BSP] を選択します。
図 13 BSP の選択
17. [Finish] ボタンをクリックします。
18. e2 studio にパースペクティブを記憶するよう指示していない場合、e2 studio は [Open Associated
Perspective] ダイアログボックスを表示します。表示されたら、[Yes] をクリックして確認し、ダイアロ
グボックスを閉じます。
図 14 Perspective ダイアログボックスを開く
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 10 of 41
2017.09.13
プロジェクトの作成が終了すると、次の画面が表示されます。
図 15 GUIApp プロジェクト
4. ISDE でプロジェクトを構成する
これで、「e2 studio ISDE (統合ソリューション開発環境) のプロジェクト」セクションでプロジェクトが正常
に作成されました。GUI アプリケーションのためのプロジェクトの設定を開始することができます。
1. [Synergy Configuration] が開かれていない場合は、[Project Explorer] ウィンドウで configuration.xml ファ
イルをダブルクリックして開きます。
図 16 Project Explorer で configuration.xml ファイルを選択する
[Synergy Configuration] ウィンドウに戻り、[Threads] タブをクリックします。
図 17 Synergy Configuration Threads タブ
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 11 of 41
2017.09.13
2. HAL/Common スレッド (左上) を選択します。
図 18 スレッド
3. [HAL/Common Stacks] 領域で [New] ボタンをクリックします。
図 19 タイマドライバモジュールを HAL/Common スレッドパート 1 に追加する
4. メニューで、[Driver] -> [Timers] -> [Timer Driver on r_gpt] を選択します。
図 20 タイマドライバモジュールを HAL/Common スレッドパート 2 に追加する
5. [HAL/Common Stacks] 領域で、新しく作成されたモジュール g_timer Timer Driver on r_gpt を選択します。
図 21 新しく作成されたタイマドライバモジュールを選択する
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 12 of 41
2017.09.13
[Properties Window] で、プロパティを以下に一致するように変更します。ヒント:最初にチャネルを 11 に変
更します。
図 22 PWM モジュールの構成
次のステップでは、タッチスクリーンを有効にして、 LCD コントローラを設定するために必要なソフトウェ
アを追加します。
タッチスクリーンでは、いくつかのフレームワークとドライバを使用する必要があります。データをいつ読み込むかを知るためには外部割り込みが必要であり、読み込みを処理する I2C ドライバと、周辺機器からのレジスタデータをソフトウェアが使用できるタッチ座標に変換するフレームワークが必要です。
1. [Threads] 領域で [New] をクリックして、新しいスレッドを作成します。
図 23 新しいスレッドの作成
2. [New Thread] をクリックして、プロパティをプルアップします。
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 13 of 41
2017.09.13
3. [Properties] を以下に一致するようにエディットします。
図 24 メインスレッドプロパティの構成
4. [Synergy Configuration Window] に戻り、[Threads] タブをクリックします。
注:新しいモジュールを追加する前に、[Main Thread] が選択されていることを確認してください。
図 25 メインスレッドスタック
5. [Synergy Configuration Window]、[Threads] タブ、[Main Thread Stacks] 領域で、[New] を選択し、
[Framework] -> [Input] -> [Touch Panel Framework on sf_touch_panel_i2c] を選択して、タッチパネルの
フレームワークを追加します。
図 26 タッチパネルフレームワークの追加
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 14 of 41
2017.09.13
6. 以下のようにプロパティを設定します。
図 27 タッチパネルプロパティの設定
7. Synergy Configurator はメッセージフレームワークと外部 IRQ フレームワークをすでに作成しており、以
下に示すように外部 IRQ と I2C ドライバスタックのプレースホルダを持っていることに注意してくださ
い。
メッセージングフレームワークは、他のフレームワークレイヤやタスクでシステム周辺にメッセージを
送るために使用されます。このシステムは、タッチ入力を処理して、データをタッチスクリーンドライ
バからメインタスクに送るために使用されます。
SF 外部割り込みは、以下に示すようにタッチコントローラドライバによって使用されるフレームワーク
レイヤです。
図 28 タッチパネルフレームワークスタック
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 15 of 41
2017.09.13
8. [External IRQ Framework on sf_external_irq] を選択し、以下のようにプロパティを設定します。
図 29 外部割り込みのプロパティを設定する
9. [External IRQ Driver on r_icu] を選択します。以下のように新しいモジュールのプロパティを設定しま
す。ヒント:最初にチャネルを変更します。
図 30 タッチスクリーン IRQ プロパティ
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 16 of 41
2017.09.13
10. [Synergy Configuration Window]、[Threads] タブ、[Main Thread Stacks] 領域で、[Add I2C Driver] を右
クリックし [New] -> [I2C Master Driver on r_iic] を選択して、I2C bus のドライバを追加します。
図 31 I2C ドライバを追加する
11. 以下のように I2C Master Driver on RIIC のプロパティを設定します。ヒント:最初にオプションを変更し
ます。
図 32 I2C ドライバを設定する
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 17 of 41
2017.09.13
12. 以下のように Touch Driver のプロパティを設定します。
図 33 タッチドライバを設定する
13. [Main Thread Stacks] で、[New]、[X-Ware -> GUIX -> GUIX on gx] を選択します。
図 34 GUIX on gx
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 18 of 41
2017.09.13
Synergy Configurator にはすでに GUIX Port on sf_el_gx フレームワークとディスプレイドライバが作成
されており、以下に示すように JPEG デコードと D/AVE ハードウェアアクセラレータスタックのプレースホ
ルダがあることに注意してください。
図 35 GUIX on gx
14. 以下のように [GUIX on gx] を選択し、[Properties] を設定します。
図 36 gx プロパティの GUIX
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 19 of 41
2017.09.13
15. 以下のように [GUIX Port on sf_el_gx] を選択し、[Properties] を設定します。
図 37 sf_el_gx プロパティの GUIX ポート
16. 以下のように [JPEG Decode Driver on r_jpeg] を選択し、割り込みプロパティを設定します。優先度 3 は
任意の数にすぎないことに注意してください。
図 38 r_jpeg プロパティの JPEG デコードドライバ
17. [Main Thread Stacks] で [D/AVE 2D Port on sf_tes_2d_drw] を選択し、以下のようにプロパティを設定し
ます。
図 39 D/AVE 2D ポートプロパティ
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 20 of 41
2017.09.13
18. [Main Thread Stacks] で [Display Driver on r_glcd] を選択し、以下のように割り込みプロパティを設定し
ます。
図 40 割り込みプロパティ
19. 下にスクロールして、グラフィックススクリーン 1 のプロパティを以下のように表示します。
図 41 グラフィックススクリーン 1 のプロパティ
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 21 of 41
2017.09.13
20. 以下のように [Output properties] を設定します。
図 42 出力スクリーン 2 のプロパティ
21. [TCON settings] を以下に一致するようにエディットします。
図 43 TCON 設定
22. [Synergy Configuration] ウィンドウ で [Messaging] タブを選択します。以下のウィンドウが表示されま
す。
図 44 Messaging タブ
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 22 of 41
2017.09.13
注: このタブは、イベントキューの初期化およびリンク変数とともに、タッチスクリーンイベントのイベントクラス定義を構成します。タッチイベントは、sf_touch_panel_i2c の [Touch Panel
Framework] が [Threads] メニューに追加されたときに自動的に生成されています。
23. [Touch Event] クラスを選択します。
24. [Touch Subscribers] メニューで、[New] ボタンをクリックします。
図 45 Messaging タブ
25. [New Subscriber] ダイアログで、[Main Thread] を選択します。
図 46 新しいサブスクライバダイアログ
26. [OK] ボタンをクリックします。
27. キーボードで Ctrl + s を押してプロジェクトを保存します。
28. [Generate Project Content] ボタンをクリックしてプロジェクトファイルを更新します。
図 47 プロジェクトコンテンツの生成
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 23 of 41
2017.09.13
29. [Windows Explorer] を開き、このアプリケーションノートに添付されているファイルを探します。
Source Files\main_thread_entry.c ファイルを見つけます。[Windows Explorer Window] から e2
studio Project Explorer 内の src フォルダにファイルをドラッグします。
A. 選択したファイルをインポートする方法を尋ねられたら、[OK] をクリックしてファイルをコピーし
ます。
B. 上書きするか尋ねられたら、[Yes] をクリックします。 注: このファイルには、メインスレッド イベント ハンドリング(処理)コードが含まれています。
キューからロウレベルのタッチスクリーンイベントを読み取り、それらをグラフィカルユーザインタフェースアクションに変換します。
5. GUIX Studio を使用して GUIX インタフェースを作成する
基本プロジェクトがセットアップされたので、GUIX コンポーネントを追加することができます。
1. src フォルダを右クリックし、[New] -> [Folder] を選択して、src 内に gui という名前の新しいフォル
ダを作成します。
図 48 新しいフォルダを作成する
2. GUIApp を右クリックし、[New] -> [Folder] を選択して、プロジェクトのルートフォルダに
guix_studio という名前の別のフォルダを作成します。最終的なフォルダのレイアウトは、下の図の
ようになります。
図 49 最終的なフォルダリスト
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 24 of 41
2017.09.13
3. デスクトップアイコンをクリックするか、[Windows Start Menu] [All Programs] -> [Express Logic] ->
[GUIX Studio] フォルダの [GUIX] アイコンをクリックして、GUIX Studio を開きます。
図 50 GUIX Studio の起動
4. [Recent Projects] ダイアログで [Create New Project…] ボタンをクリックします。
図 51 新しいプロジェクトの作成
5. プロジェクトに guiapp と名前を付けます。
警告:
ファイル名は、プロジェクト名に名前を追加することによって生成されます。プロジェクト名を定義するときは、大文字と小文字を区別するように注意してください。後で、この GUIX プロジェクトの
guiapp を呼び出したと仮定するプロジェクトにファイルを追加します。
6. [Project Path] については、前に作成した guix_studio という名のフォルダの場所を参照してくださ
い。
注: ツールをデフォルトのディレクトリにインストールした場合、フォルダは次の場所に配置されます。C:\Users\[User]\e2_studio\workspace\GUI_APP\GUIApp\guix_studio.
図 52 新しい GUIX プロジェクトの作成
7. [Save] をクリックします。
8. ディレクトリの3 種のオプションすべてを ..\src\gui に変更します。
図 53 ファイルの場所を修正する
注意:上記ディレクトリには 2 個のドット「".."」を入れてください。
9. [Target CPU] の設定を [Renesas Synergy] に変更します。
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 25 of 41
2017.09.13
10. [Toolchain] の設定を [GNU] に変更します。
図 54 ターゲットと GUIX のバージョン設定
11. [Advanced Settings] ボタンをクリックします。ダイアログが表示されます。
12. 以下に示すように、グラフィックアクセラレータ (Enable 2D Drawing Engine) と [Hardware JPEG
Decoder] を有効にします。
図 55 Synergy Advanced Settings
13. [Save] をクリックします。
14. [Display Configuration] を以下のように設定します。
図 56 ディスプレイの設定
15. [Save] をクリックしてプロジェクトを生成します。
16. [Project View] で [display_1] を右クリックします。
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 26 of 41
2017.09.13
17. [Insert] -> [Window] -> [Window] を選択します。
図 57 新しいウィンドウ
18. 新しいウィンドウを選択し、[Properties View] をエディットして、[Properties] を変更します。現在の設
定を以下のように更新します。
図 58 Window1 のプロパティの設定
19. [Project View] ウィンドウで、[display_1] を右クリックし、[Insert] -> [Window] -> [Window] を選択して
別のウィンドウを作成します。
20. 以下と一致するようにプロパティを変更します。
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 27 of 41
2017.09.13
図 59 Window2 のプロパティの設定
21. [Project View] で、[window1] を右クリックし、[Insert] -> [Button] -> [Text Button] を選択してボタン(テ
キストボタン)を挿入します。
図 60 新しいテキストボタンを追加する
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 28 of 41
2017.09.13
22. [Project View] で、[window1] を右クリックし、[Insert] -> [Button] -> [Checkbox] を選択して [Button]、
[Checkbox] を挿入します。
図 61 新しいチェックボックスを追加する
23. [Project View] で、[window1] を右クリックし、[Insert] -> [Text] -> [Prompt] を選択して、[Text]、
[Prompt] を挿入します。
図 62 新しいプロンプトを追加する
24. [Project View] で、[window1] を右クリックし、別の[Text] を [Insert] し、[Prompt] を挿入します。
25. [Project View] で、[window2] を右クリックし、別の[Text] を [Insert] し、[Prompt] を挿入します。
26. [Project View] で、[window3] を右クリックし、別の[Text] を [Insert] し、[Prompt] を挿入します。
27. これらの指示に正しく従っていれば、[Project View] は次のようになります。
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 29 of 41
2017.09.13
図 63 GUIX のプロジェクトビュー
28. [</> Strings] の右にある [+] 文字を押して [Strings] メニューを展開します。
図 64 Strings ボタン
29. いずれかの文字列をダブルクリックして String Table Editor を開きます。
30. String Table Editor の [Delete String] ボタンをクリックして、既存の文字列を選択して削除します。
31. [Add String] ボタンを使用して、以下の文字列を追加します。
図 65 新しい文字列
32. 正しい場合は、[Save] ボタンをクリックします。
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 30 of 41
2017.09.13
33. window1 の [Project View] で、ボタンをクリックしてプロパティ ([Properties] [View]) を次のように変更
します。
図 66 Windowchanger のボタンのプロパティの設定
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 31 of 41
2017.09.13
34. window1 の [Project View] で、チェックボックスをクリックしてプロパティ ([Properties View]) を次のよ
うに変更します。
図 67 Buttonenabler のチェックボックスのプロパティの設定
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 32 of 41
2017.09.13
35. window1 の [Project View] で、[prompt] をクリックしてプロパティを次のように変更します。
図 68 Prompt のプロパティの設定
36. window1 の [Project View] で、[prompt_1] をクリックしてプロパティを次のように変更します。
図 69 ウィンドウテキストのプロパティの設定
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 33 of 41
2017.09.13
37. window2 の [Project View] で、[prompt_2] をクリックしてプロパティを次のように変更します。
図 70 Hello テキストプロンプトのプロパティの設定
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 34 of 41
2017.09.13
38. window2 の [Project View] で、[prompt_3] をクリックしてプロパティを次のように変更します。
図 71 ウィンドウテキストのプロパティの設定
これらの設定ステップの後、ふたつのウィンドウは以下の図のようになります。
図 72 設定された Window1
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 35 of 41
2017.09.13
図 73 設定された Window2
39. [+] をクリックして右側の [Pixelmaps] セクションを展開します。
40. [System] をクリックします。
図 74 Pixelmaps の設定
41. [CHECKBOX_OFF] をダブルクリックして Pixelmap をエディットします。
42. [Compress Output] の選択を解除し、[Save] をクリックします。
43. [CHECKBOX_ON] をダブルクリックして Pixelmap をエディットします。
44. [Compress Output] の選択を解除し、[Save] をクリックします。
45. プロジェクトを保存します。
図 75 プロジェクトの保存
46. プルダウンメニューから [Project] -> [Generate All Output Files] を選択します。
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 36 of 41
2017.09.13
図 76 すべての出力ファイルを生成する
47. e2 studio に戻ります。
6. カスタムインタフェースコントロールのコードの追加とプロジェクトのビルド
1. [Windows Explorer] を開き、このアプリケーションノートと一緒に格納されていたファイルの場所まで
行き、 Source Files\guiapp_event_handlers.c ファイルを見つけてください。 [Windows
Explorer] 画面からファイルを、 e2 studio Project Explorer 画面内の src フォルダにドラッグします。
A. 選択したファイルをインポートする方法を尋ねられたら、[OK] をクリックしてファイルをコピーし
ます。 注: このファイルには、GUIX Studio (window1、window2) で作成されたさまざまなグラフィック要素のイ
ベント管理機能が含まれています。
GUIXはシステムレベルで必要なイベントを処理しますが、画面遷移やボタンアクションなどのカスタムコマンドを処理するには、イベントハンドラを定義する必要があります。以下は、window1 のイベントハンドラです。
UINT window1_handler(GX_WINDOW *widget, GX_EVENT *event_ptr) { UINT result = gx_window_event_process(widget, event_ptr); switch (event_ptr->gx_event_type) { case GX_SIGNAL(ID_BUTTONENABLER, GX_EVENT_TOGGLE_ON): button_enabled = true; update_text_id(widget->gx_widget_parent, ID_WINDOWCHANGER, GX_STRING_ID_BUTTON_ENABLED); update_text_id(widget->gx_widget_parent, ID_INSTRUCTIONS, GX_STRING_ID_INSTRUCT_BUTTON); break; case GX_SIGNAL(ID_BUTTONENABLER, GX_EVENT_TOGGLE_OFF): button_enabled = false; update_text_id(widget->gx_widget_parent, ID_WINDOWCHANGER, GX_STRING_ID_BUTTON_DISABLED); update_text_id(widget->gx_widget_parent, ID_INSTRUCTIONS, GX_STRING_ID_INSTRUCT_CHECKBOX); break; case GX_SIGNAL(ID_WINDOWCHANGER, GX_EVENT_CLICKED): if(button_enabled){ show_window((GX_WINDOW*)&window2, (GX_WIDGET*)widget, true); } break; default: gx_window_event_process(widget, event_ptr); break; } return result; }
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 37 of 41
2017.09.13
イベントは、ウィジェットの ID と GUIX からの信号に基づいてルーティングできます。たとえば、checkbox
ID_BUTTONENABLER では GX_EVENT_TOGGLE_ON と GX_EVENTS_TOGGLE_OFF のふたつの状態が
可能です。ボックスが選択されていない場合にボックスを押すと、ボックスが選択された後で
GX_EVENT_TOGGLE_ON というイベントがハンドラに送信されます。
2. 最適化(Optimization)をオフにします。
A. [Project Explorer Window] で [GUIApp] を右クリックし、プルダウンメニューから [Properties] を選
択します。
B. プロパティウィンドウ内で、[C/C++ Build] ツリー要素を展開します。
C. [Settings] を選択します。
D. [Tool Settings] タブで、[Optimization] をクリックします。
E. [Optimization Level] を [None (-O0)] に変更します。
F. [OK] をクリックして、これらの変更内容を保存します。
図 77 コンパイラの最適化を無効にする
3. メニューバーの下にある [Hammer](ハンマー)マークの アイコンをクリックして、プロジェクトをビ
ルドします。すべての手順が正しく実行された場合、ビルドの出力にエラーが報告されません。
図 78 Build ボタン
7. アプリケーションを実行する
1. PE-HMI1 の電源を入れて J-Link Lite Cortex M debugger を PC と PE-HMI1 に接続します。
注: アプリケーションはまだ対象ハードウェア上で実行する準備ができていません。アプリケーションを実行するには、以下の手順が必要です。
2. デバッグアイコンのドロップダウンメニューをクリックします。
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 38 of 41
2017.09.13
図 79 デバッグオプション
3. [Debug Configurations...] オプションを選択します。
4. Renesas GDB ハードウェアのデバッグセクションで、[GUIApp Debug] を選択します。
5. [Debug] ボタンをクリックしてデバッグを開始します。 注: [Debug: ボタンがグレー表示になっている場合、ビルドに問題がある可能性があります。ドキュメン
トのすべてのステップを再度チェックして、一致しないオプションを確認してください。
図 80 デバッグの設定
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 39 of 41
2017.09.13
6. [Perspective Switch] の確認を求められたら、[Yes] をクリックします。(以前に e2 studio に設定内容を記憶
するよう指示している場合、このダイアログボックスは表示されません。)
図 81 Perspective Switch ダイアログ
7. F8 または [Resume] ボタンを押して、アプリケーションを起動します。今回はメインで停止します。
図 82 Resume ボタン
8. F8 または [Resume] ボタンを押して、コードを実行します。 注: 以前に作成した GUI が画面に表示されるはずです。
9. デモの概要:
図 83 Window1
A. 上の図は Window1 を示しています。このウィンドウには次の 4 種の要素があります。
i. Button – Checkbox:このボタンを使用して、Window2 に移動することができます。テキストが
「Press Me!」に設定されており、選択されていません。[Checkbox] アクティブ領域内を押す
と、イベント window1_handler がアクティブにされます。このイベントは、
guiapp_event_handlers.c の中で取り上げられます。ここで、コードがチェックボックス
を切り替えると、[Text –Prompt 1] と [Button – Text Box] のテキストが適切なメッセージに設
定されます。
ii. Button – Text Box:このボックスは、[Text –Prompt 1] 領域の外側を押すとどのウィンドウに移
動するかを示します。(変更方法については、「Button – Checkbox」を参照してください。)こ
の領域を押すと window1_handler イベントがアクティブ化されます。これは
guiapp_event_handlers.c によって取得され、このコードではウィンドウが window2 に変
更されます。
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 40 of 41
2017.09.13
iii. Text – Prompt 1:この領域は、デモを制御する方法をユーザに指示します。(変更方法について
は、「Button – Checkbox」を参照してください。)
iv. Text – Prompt 2:このプロンプトは、ユーザにどのウィンドウが表示されているかを示すために
使用されます。変更はありません (常に window1 を表示します)。
図 84 Window2
B. 上の図は window2 を示しています。このウィンドウには次の 2 種の要素があります。
i. Text – Prompt 1:この領域は Hello Worldを提示し、window1 に戻る方法をユーザに指示しま
す。この領域を押すと window2_handler イベントが開始されます。これは
guiapp_event_handlers.c によって取得され、アクティブなウィンドウが window1 に変更
されます。
ii. Text – Prompt 2:このプロンプトは、ユーザにどのウィンドウが表示されているかを示すために
使用されます。変更はありません (常に window2 を表示します)。
10. Ctrl + F2 または [Stop] ボタンを押して、デバッグセッションを終了します。
図 85 Stop ボタン
11. 以上が PE-HMI1 の GUIX Hello World の説明です。
Renesas Synergy™ Platform PE-HMI1用 GUIX "Hello World"
R12AN0030JU0114 Rev.1.14 Page 41 of 41
2017.09.13
ホームページとサポート窓口
サポート: https://synergygallery.renesas.com/support
技術的なお問い合わせ先:
米国: https://www.renesas.com/en-us/support/contact.html
欧州: https://www.renesas.com/en-eu/support/contact.html
日本: https://www.renesas.com/ja-jp/support/contact.html
すべての商標および登録商標は,それぞれの所有者に帰属します。
改訂記録
Rev. 発行日
改訂内容
ページ ポイント
1.00 2016 年 1 月 22 日 全 初版ドキュメントを作成
1.10 2016 年 4 月 1 日 全 SSP 1.1.0 に更新
1.11 2016 年 11 月 18 日 タイトル 軽微な書式の変更
1.12 2016 年 1 月 9 日 全 SSP 1.2.0.b.1 に更新
1.13 2017 年 3 月 3 日 全 SSP 1.2.0 に更新
1.14 2017 年 9 月 13 日 全 SSP 1.3.0 に更新
■営業お問合せ窓口
■技術的なお問合せおよび資料のご請求は下記へどうぞ。 総合お問合せ窓口:https://www.renesas.com/contact/
ルネサスエレクトロニクス株式会社 〒135-0061 東京都江東区豊洲3-2-24(豊洲フォレシア)
© 2017 Renesas Electronics Corporation. All rights reserved.
Colophon 5.0
http://www.renesas.com※営業お問合せ窓口の住所は変更になることがあります。最新情報につきましては、弊社ホームページをご覧ください。
ご注意書き
1. 本資料に記載された回路、ソフトウェアおよびこれらに関連する情報は、半導体製品の動作例、応用例を説明するものです。お客様の機器・システムの設計におい
て、回路、ソフトウェアおよびこれらに関連する情報を使用する場合には、お客様の責任において行ってください。これらの使用に起因して生じた損害(お客様
または第三者いずれに生じた損害も含みます。以下同じです。)に関し、当社は、一切その責任を負いません。
2. 当社製品、本資料に記載された製品データ、図、表、プログラム、アルゴリズム、応用回路例等の情報の使用に起因して発生した第三者の特許権、著作権その他の
知的財産権に対する侵害またはこれらに関する紛争について、当社は、何らの保証を行うものではなく、また責任を負うものではありません。
3. 当社は、本資料に基づき当社または第三者の特許権、著作権その他の知的財産権を何ら許諾するものではありません。
4. 当社製品を、全部または一部を問わず、改造、改変、複製、その他の不適切に使用しないでください。かかる改造、改変、複製等により生じた損害に関し、当社
は、一切その責任を負いません。
5. 当社は、当社製品の品質水準を「標準水準」および「高品質水準」に分類しており、各品質水準は、以下に示す用途に製品が使用されることを意図しております。
標準水準: コンピュータ、OA機器、通信機器、計測機器、AV機器、
家電、工作機械、パーソナル機器、産業用ロボット等
高品質水準: 輸送機器(自動車、電車、船舶等)、交通制御(信号)、大規模通信機器、
金融端末基幹システム、各種安全制御装置等
当社製品は、直接生命・身体に危害を及ぼす可能性のある機器・システム(生命維持装置、人体に埋め込み使用するもの等)、もしくは多大な物的損害を発生させ
るおそれのある機器・システム(宇宙、海底中継器、原子力制御システム、航空機制御システム、プラント基幹システム、軍事機器等)に使用されることを意図
しておらず、これらの用途に使用することはできません。たとえ、意図しない用途に当社製品を使用したことにより損害が生じても、当社は一切その責任を負い
ません。
6. 当社製品をご使用の際は、最新の製品情報(データシート、ユーザーズマニュアル、アプリケーションノート、信頼性ハンドブックに記載の「半導体デバイスの使
用上の一般的な注意事項」等)をご確認の上、当社が指定する最大定格、動作電源電圧範囲、放熱特性、実装条件その他指定条件の範囲内でご使用ください。指
定条件の範囲を超えて当社製品をご使用された場合の故障、誤動作の不具合および事故につきましては、当社は、一切その責任を負いません。
7. 当社は、当社製品の品質および信頼性の向上に努めていますが、半導体製品はある確率で故障が発生したり、使用条件によっては誤動作したりする場合がありま
す。また、当社製品は耐放射線設計を行っておりません。仮に当社製品の故障または誤動作が生じた場合であっても、人身事故、火災事故その他社会的損害等を
生じさせないよう、お客様の責任において、冗長設計、延焼対策設計、誤動作防止設計等の安全設計およびエージング処理等、お客様の機器・システムとしての
出荷保証を行ってください。特に、マイコンソフトウェアは、単独での検証は困難なため、お客様の機器・システムとしての安全検証をお客様の責任で行ってく
ださい。
8. 当社製品の環境適合性等の詳細につきましては、製品個別に必ず当社営業窓口までお問合せください。ご使用に際しては、特定の物質の含有・使用を規制する
RoHS指令等、適用される環境関連法令を十分調査のうえ、かかる法令に適合するようご使用ください。かかる法令を遵守しないことにより生じた損害に関して、
当社は、一切その責任を負いません。
9. 当社製品および技術を国内外の法令および規則により製造・使用・販売を禁止されている機器・システムに使用することはできません。また、当社製品および技術
を、(1)核兵器、化学兵器、生物兵器等の大量破壊兵器およびこれらを運搬することができるミサイル(無人航空機を含みます。)の開発、設計、製造、使用もし
くは貯蔵等の目的、(2)通常兵器の開発、設計、製造または使用の目的、または(3)その他の国際的な平和および安全の維持の妨げとなる目的で、自ら使用せず、か
つ、第三者に使用、販売、譲渡、輸出、賃貸もしくは使用許諾しないでください。
当社製品および技術を輸出、販売または移転等する場合は、「外国為替及び外国貿易法」その他日本国および適用される外国の輸出管理関連法規を遵守し、それら
の定めるところに従い必要な手続きを行ってください。
10. お客様の転売、貸与等により、本書(本ご注意書きを含みます。)記載の諸条件に抵触して当社製品が使用され、その使用から損害が生じた場合、当社は一切その
責任を負わず、お客様にかかる使用に基づく当社への請求につき当社を免責いただきます。
11. 本資料の全部または一部を当社の文書による事前の承諾を得ることなく転載または複製することを禁じます。
12. 本資料に記載された情報または当社製品に関し、ご不明点がある場合には、当社営業にお問い合わせください。
注1. 本資料において使用されている「当社」とは、ルネサスエレクトロニクス株式会社およびルネサスエレクトロニクス株式会社がその総株主の議決権の過半数を
直接または間接に保有する会社をいいます。
注2. 本資料において使用されている「当社製品」とは、注1において定義された当社の開発、製造製品をいいます。
(Rev.3.0-1 2016.11)