RE01 1500KBグループ R GDTドライバサンプルコード(using … ·...

50
アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード 要旨 本アプリケーションノートでは RE01 1500KB グループ CMSIS Driver Package を使用したサンプルコード について説明します。サンプルコードは同梱されたプロジェクトをご参照ください。 下記に本サンプルコードの概要を示します。 サンプルコードの概要 サンプルコードの動作概要 主となる周辺機能使用する 主として使用するドライバ 画像処理: GDT 機能を使用し、回転等の画像処 理を実施します。 GDT へのデータの入力・出力には DMAC を使用します。 GDT および DMAC を使用 R_GDTR_DMAC 画像出力: R_SMIP ドライバを用いて、画像 データを LCD に出力します。 SPI および DMAC を使用 R_SMIP(R_SPIR_DMAC) 対象デバイス RE01 1500KB グループ ご注意 本アプリケーションノートを他のマイコンへ適用する場合、そのマイコンの仕様にあわせて変更し、十分 評価してください。 関連ドキュメント RE01 1500KB グループ CMSIS Package を用いた開発スタートアップガイド(R01AN4660)

Transcript of RE01 1500KBグループ R GDTドライバサンプルコード(using … ·...

Page 1: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

アプリケーションノート

R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020

RE01 1500KBグループ R_GDTドライバサンプルコード(using CMSIS Driver Package)

CMSIS Driver Package R_GDT サンプルコード

要旨

本アプリケーションノートでは RE01 1500KB グループ CMSIS Driver Packageを使用したサンプルコード

について説明します。サンプルコードは同梱されたプロジェクトをご参照ください。

下記に本サンプルコードの概要を示します。

表 サンプルコードの概要

サンプルコードの動作概要 主となる周辺機能使用する 主として使用するドライバ

画像処理:

GDT機能を使用し、回転等の画像処

理を実施します。

GDTへのデータの入力・出力には

DMACを使用します。

GDTおよび DMACを使用

R_GDT、R_DMAC

画像出力:

R_SMIP ドライバを用いて、画像

データを LCD に出力します。

SPIおよび DMACを使用 R_SMIP(R_SPI、R_DMAC)

対象デバイス

RE01 1500KBグループ

ご注意 本アプリケーションノートを他のマイコンへ適用する場合、そのマイコンの仕様にあわせて変更し、十分

評価してください。

関連ドキュメント RE01 1500KBグループ CMSIS Packageを用いた開発スタートアップガイド(R01AN4660)

Page 2: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 2 of 48 Jan.15.2020

目次

1. 仕様 ......................................................................................................................................... 3 1.1 プロジェクト説明 .............................................................................................................................. 3 1.2 使用端子 ............................................................................................................................................ 3 1.3 フォルダ構成 ..................................................................................................................................... 4 1.4 ファイル構成 ..................................................................................................................................... 5 1.5 オプション設定メモリ ....................................................................................................................... 5

2. 動作確認条件 ........................................................................................................................... 6

3. ソフトウェア説明 .................................................................................................................... 7 3.1 白黒 LCD向け多機能サンプルコード .................................................................................................. 8

システム構成図 ................................................................................................................................ 9 関数一覧 ........................................................................................................................................ 10 イベントリンク設定 ....................................................................................................................... 23 フローチャート .............................................................................................................................. 24

3.2 白黒 LCD向けフォント展開機能サンプルコード ............................................................................... 30 システム構成図 .............................................................................................................................. 31 関数一覧 ........................................................................................................................................ 32 イベントリンク設定 ....................................................................................................................... 35 フローチャート .............................................................................................................................. 36

3.3 モノクロ画像データの作成方法 ....................................................................................................... 38 準備 ............................................................................................................................................... 38 使用上の制限事項 .......................................................................................................................... 38 手順 ............................................................................................................................................... 38

4. ドライバの API 仕様 .............................................................................................................. 44 4.1 外部仕様書 ....................................................................................................................................... 44

5. GDTドライバを使用する上での注意事項................................................................................ 45 5.1 画像データサイズ ............................................................................................................................ 45 5.2 水平メモリサイズ ............................................................................................................................ 45 5.3 画像処理単位 ................................................................................................................................... 45 5.4 DMACの割り込み設定および優先順位の制限 ..................................................................................... 45

6. トラブルシューティング ....................................................................................................... 46 6.1 ビルドエラーが発生する .................................................................................................................. 46 6.2 CMSIS ドライバの APIをコールすると HardFault Errorが発生する ................................................ 46 6.3 APIを呼び出しているが周辺機能が動作しない ................................................................................ 46 6.4 APIの戻り値は正常であるが、周辺機能から端子出力が行われない ................................................. 46 6.5 周辺機能の入力または出力が期待通り動作しない ............................................................................ 46

7. サンプルコード ..................................................................................................................... 47

8. 参考ドキュメント .................................................................................................................. 47

改訂記録 ....................................................................................................................................... 48

Page 3: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 3 of 48 Jan.15.2020

1. 仕様

1.1 プロジェクト説明

本アプリケーションノートには下記 2つのサンプルコードプロジェクトが同梱されています。

an4755_hal_gdt_mono_re.zip:白黒画像表示可能な LCD向けの

反転機能、縮小機能、モノクロ合成機能、回転機能、

スクロール機能のサンプルコード

an4755_hal_gdt_font_re.zip:フォント展開機能のサンプルコード

サンプルコードプロジェクトは、Evaluation Kit RE01 1500KB上で動作を確認したプロジェクトです。こ

のプロジェクトの設定は Evaluation Kit RE01 1500KBに実装されている R7F0E015D2CFB に合わせています。

その他のデバイスの場合は、プロジェクトの設定でデバイスを変更してご使用ください。

1.2 使用端子

以下にサンプルコードが使用する端子を示します。

使用端子 用途

P605 RST

P606 VCOM

P607 RSPCKB_B(SPI-SCLK)

P608 MISOB_B(DNF)

P609 MOSIB_B(SPI-SI)

P610 SCS

P302 GPIO

P303 GPIO

P100 SW1(フォント展開機能では未使用)

P508 SW2(フォント展開機能では未使用)

P410 SW3(フォント展開機能では未使用)

Page 4: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 4 of 48 Jan.15.2020

1.3 フォルダ構成

サンプルコード、およびサンプルコードで使用しているドライバの、フォルダ構成を示します。

図 1.1 フォルダ構成

GDTサンプルプログラム

CMSIS

Driver

Include

Driver_SPI.h : CMSIS Driver コンフィグレーション定義ファイルDevice

CMSIS_Driver

Include

Src

r_spi_cmsis_api.h :R_SPIドライバコンフィグレーション定義ファイル

r_spi_cmsis_api.c :R_SPIドライバ ソースファイル

Confing

r_dmac_cfg.h : R_DMACコンフィグレーション定義ファイル

r_gdt_cfg.h : R_GDTコンフィグレーション定義ファイル

r_lpm_cfg.h : R_LPMコンフィグレーション定義ファイル

r_system_cfg.h : R_SYSTEMコンフィグレーション定義ファイル

Driver

Include r_dmac_api.h : R_DMACドライバコンフィグレーション定義ファイル

r_gdt_api.h : R_GDTドライバコンフィグレーション定義ファイル

r_lpm_api.h : R_LPMドライバコンフィグレーション定義ファイル

r_system_api.h : R_SYSTEMコンフィグレーション定義ファイル

Src

r_dmac

r_dmac_api.c : R_DMACドライバソースファイル

r_gdt

r_gdt_api.c : R_GDTドライバソースファイル

r_lpm

r_lpm_api.c : R_LPMドライバソースファイル

r_system

r_system_api.c : R_SYSTEMドライバソースファイル

pin.c : 端子設定ファイル

pin.h : 端子設定コンフィグレーション定義ファイル

main.c:サンプルプログラムソースファイル

demo_view

demo_view.c:Demo動作実現の関数実体

demo_view.h:関数および変数などの定義

pic.h:demo_viewで使用する画像データを格納

pic_icon.h:メイン関数で使用する画像データを格納        (フォント展開機能では未使用)

r_smip_cfg.h : R_SMIPコンフィグレーション定義ファイル

r_smip_api.h : R_SMIPコンフィグレーション定義ファイル

r_smip

r_smip_api.c : R_SMIPドライバソースファイル

Page 5: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 5 of 48 Jan.15.2020

1.4 ファイル構成

表 1-1にサンプルコードで追加・変更したファイルを示します。

表 1-1 サンプルコードで追加・変更したファイル

ファイル名 処理・設定概要 備考

main.c メイン処理

r_system_cfg.h システム設定 周辺機能の割り込み設定

r_spi_cfg.h SPI コンフィグレーション設定 送信制御(DMAC)設定

r_smip_cfg.h SMIP コンフィグレーション設定 端子設定

COM 反転信号周期設定

r_dmac_cfg.h DMACコンフィグレーション設定 DMACの割り込み優先度設定

pin.c 端子設定 SPI1端子設定

demo_view.c Demo動作実働部(r_GDT API呼び出し部)

demo_view.h 関数および変数などの定義

pic.h demo_viewで使用する画像データを格納

pic_icon.h メイン関数で使用する画像データを格納 フォント展開機能のプロジェクトで

は未使用

1.5 オプション設定メモリ

表 1-2にサンプルコードで使用するオプション設定メモリの状態を示します。必要に応じて、お客様のシ

ステムに最適な値を設定してください。

表 1-2 サンプルコードで使用するオプション設定メモリ

シンボル アドレス 設定値 内容

AWS 0100A164h~0100A167h FFFF FFFFh アクセスウィンド設定無し

OSIS

0100A150h~0100A15Fh FFFF FFFFh IDコードプロテクト無し(ALL FFh)

SECMPUxxx 00000408h~0000043Bh FFFF FFFFh MPU無効

OFS1 00000404h~00000407h FFFF FFFFh リセット後、電圧監視 0リセット無効

リセット後、HOCO発振無効

OFS0 00000400h~00000403h FFFF FFFFh IWDT自動起動無効

WDT自動起動無効

Page 6: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 6 of 48 Jan.15.2020

2. 動作確認条件

本アプリケーションノートのサンプルコードは、下記(表 2-1)の条件で動作を確認しています。

表 2-1 動作確認条件

項目 内容

使用マイコン R7F0E015D2CFB 144pin

動作周波数 システムクロック:

HOCOを選択

• システムクロック(ICLK): 32MHz (HOCO 1分周)

• 周辺モジュールクロック A (PCLKA): 32MHz ( HOCO 1分周)

• 周辺モジュールクロック B(PCLKB): 32MHz ( HOCO 1分周)

AGT タイマ動作クロック サブクロック発振器(SOSC) : 32.768kHz

動作電圧 3.3V

統合開発環境 IAR IAR Embedded Workbench for ARM Version 8.32.1

C コンパイラ:IAR C/C++ Compiler for ARM Version 8.32.1

e² studio Renesas e² studio Version 7

C コンパイラ:GCC ARM Embedded Version 6.3.1.20170620

GNU 6-2017-q2-update

デバッガ Segger J-Link OB

IAR最適化設定(白黒 LCD向け

多機能サンプルコード)

最適化レベル "高(サイズ)"

IAR最適化設定(白黒 LCD向け

フォント展開機能サンプルコード)

最適化レベル "低"

ターゲットボード Evaluation Kit RE01 1500KB

(型名:RTK70E015DSxxxxxBE)

CMSIS Driver Packageのバージョン Rev1.00

サンプルコードのバージョン Rev1.01

Page 7: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 7 of 48 Jan.15.2020

3. ソフトウェア説明

本サンプルコードは、R_GDTドライバを用いた画像変換を行い、LCDに画像を出力します。

GDTへの画像入力・出力および、LCDとの通信路であるSPIのデータ入出力にはDMACを使用しています。

表 3-1 サンプルプログラムの動作情報

項目 設定値

SPI チャネル選択 SPI CH1

SPIビットレート 500kbps

SMIP AGT チャネル設定 CH0

SMIP AGT 動作クロック SOCO (32.768kHz)

GDT 用の DMACチャネル設定 DMAC CH0:RAM上の画像データを GDTに転送

DMAC CH1:GDTの変換データを RAMに転送

(CH0~CH3から任意のチャネルを設定可能)

SPI 用の DMACチャネル設定 DMAC CH2

(CH0~CH3から任意のチャネルを設定可能)

Page 8: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 8 of 48 Jan.15.2020

3.1 白黒 LCD向け多機能サンプルコード

白黒LCD向け多機能のサンプルコードでは、ボード上のボタンで、メニュー画面に表示される4種類のデモ

から1つを選択することができます。

・SW1(PORT1):1つ上のデモを選択

・SW2(PORT5):1つ下のデモを選択

・SW3(PORT4):確定

サンプルコードの動作を以下に示します。

初期化処理

関連の初期化処理を実施します。

1)システム初期化処理

2)システムクロック設定

3)IO電源制御(全 IO電源供給)

4)R_SMIPドライバによる MLCD表示初期設定(API関数 R_SMIP_Open()、R_SMIP_PowerOn()を実行)

5)メニュー画面の初期設定

GDT処理で使用する 1/2画像(アイコン)の準備

モノクロ合成機能および回転機能のデモでは、入力画像(256×256(bit))の 1/2サイズの画像(128×

128(bit))を使用します。そのため、メニュー画面表示前にあらかじめ画像を準備します。

1)API関数 R_GDT_Open()を実行し、GDTを使用可能状態にします。

2)エンディアン変換機能と縮小機能を使って 1/2サイズの入力画像を作成します。

3) GDT処理で使用する 1/2画像(アイコン)を生成し終えたため、API関数 R_GDT_Close()を実行し、GDT

を使用不可状態にします。デモ(GDT処理)を行う際は、再度 API関数 R_GDT_Open()の実行が必要です。

ボタン(SW1/SW2/SW3)の制御

1)SW1の場合:

SW1が押された場合、選択中のデモの 1つ上に表示されているデモを選択(view_up()を実施)

2)SW2の場合

SW2が押された場合、選択中のデモの 1つ下に表示されているデモを選択(view_down()を実施)

3)SW3の場合:

SW3が押された場合、メニュー画面で選択されたデモを実施(view_enter()を実施)

Page 9: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 9 of 48 Jan.15.2020

システム構成図

図 3.1 システム構成図

RE01 SW1

SW3

SW2P508(Pin107)

P410(Pin23)

P100(Pin99)

LCDスクリーン

PMOD1P610(Pin73) SCS

P609(Pin74) MOSIB

P608(Pin75) MISOB

P607(Pin76) RSPCKB

P606(Pin77) INT

P605(Pin78) RESET

P303(Pin69) IO1

P302(Pin70) IO0

PMOD1

Page 10: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 10 of 48 Jan.15.2020

関数一覧 サンプルコードで追加した関数について説明します。必要に応じて各関数の内容修正してください。

main

概 要 メイン処理

ヘッダ なし

宣 言 void main(void)

説 明 システムクロック設定や SMIP(SPI、DMAC)の転送設定を行います。

メインループでボタンの押し下げを待ちます。

引 数 なし

リターン値 なし

view_int

概 要 メニュー初期化関数

ヘッダ なし

宣 言 void view_int(void)

説 明 1. 各デモ名の画像を結合して、メニュー画面の初期状態の画像を作成します。

(menu_merge_image関数)

本サンプルコードではメニュー画面に下記の 4つの項目を表示しています。

1) 「Function」白(1)表示(選択された状態)

2) 「Speed」黒(0)表示(未選択状態)

3) 「Alarm」黒(0)表示(未選択状態)

4) 「Navigation」黒(0)表示(未選択状態)

2. 結合した画像を LCDに出力します。(display_img関数)

引 数 なし

リターン値 なし

Page 11: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 11 of 48 Jan.15.2020

view_down

概 要 メニューオプション関数(下へ移動)

ヘッダ なし

宣 言 void view_down (void)

説 明" 1. SW2の押し下げにより 1つ下のメニューを選択したときの、キー位置

(Key_position)を算出します。

2. Key_positionの値に応じて、表示画像を変更します。

本サンプルコードの動作を以下に示します。

1) Key_positionが 0の場合、

「Function」を白表示、「Navigation」を黒表示に変更

その他のメニュー項目表示は変更なし

2) Key_positionが 1の場合、

「Speed」を白表示、「Function」を黒表示に変更

その他のメニュー項目表示は変更なし

3) Key_positionが 2の場合、

「Alarm」を白表示、「Speed」を黒表示に変更

その他のメニュー項目表示は変更なし

4) Key_positionが 3の場合、

「Navigation」を白表示、「Alarm」を黒表示に変更

その他のメニュー項目表示は変更なし

5) Key_positionが 4の場合、

「Function」を白表示、「Navigation」を黒表示に変更

その他のメニュー項目表示は変更なし

3. 変更した画像を LCDに出力します。(display_img関数)

引 数 なし

リターン値 なし

view_up

概 要 メニューオプション関数(上へ移動)

ヘッダ なし

宣 言 void view_up (void)

説 明 1. SW1の押し下げにより 1つ上のメニューを選択したときの、キー位置

(Key_position)を算出します。Key_positionの値に応じて、表示画像を変更しま

す。

1) Key_positionが 0の場合、

「Function」を黒表示、「Navigation」を白表示に変更

その他のメニュー項目表示は変更なし

2) Key_positionが 1の場合、

「Speed」を黒表示、「Function」を白表示に変更

その他のメニュー項目表示は変更なし

3) Key_positionが 2の場合、

「Alarm」を黒表示、「Speed」を白表示に変更

その他のメニュー項目表示は変更なし

4) Key_positionが 3の場合、

「Navigation」を黒表示、「Alarm」を白表示に変更

その他のメニュー項目表示は変更なし

2. 変更した画像を LCDに出力します。(display_img関数)

Page 12: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 12 of 48 Jan.15.2020

引 数 なし

リターン値 なし

view_enter

概 要 メニューオプション関数(項目選択)

ヘッダ なし

宣 言 void view_enter (void)

説 明 SW3の押し下げにより、メニュー画面表示状態とデモ実行状態を切り替えます。

1. LCDパネルにメニュー画面が表示されているとき、SW3を押すと選択中のデモを

実行します。

1) キーの位置が Function (Key_position=0)のとき、次の処理を実施します。

GDT処理された画像を LCDへ出力後、設定時間待機するため、LCDの画面更新

間隔は設定時間に依存します。

・API関数 R_GDT_Open()の実行(GDT使用可能状態)

・反転処理後の画像を LCDに出力(gdt_iflp_triple_seq)

・縮小処理後の画像を LCDに出力(gdt_shrink_big2small2big_seq)

・モノクロ合成処理後の画像を LCDに出力(gdt_monochrome_icon_seq)

・回転処理後の画像を LCDに出力(gdt_rotate_icon_seq)

・スクロール処理後の画像を LCDに出力(gdt_scroll_left_7bit_seq)

・API関数 R_GDT_Close()の実行(GDT使用不可状態)

2) キーの位置が Speed (Key_position=1)のとき、遅延なしで 1)の処理を行う。

3) キーの位置が Alarm (Key_position=2)のとき

・API関数 R_GDT_Open()の実行(GDT使用可能状態)

・アラーム機能を実施(gdt_alarm_function)

・API関数 R_GDT_Close()の実行(GDT使用不可状態)

4) キーの位置が Navigation (Key_position=3)のとき

・API関数 R_GDT_Open()での実行(GDT使用可能状態)

・ナビゲーション機能初期設定

・ナビ機能デモ 1(地図縮小)

・ナビ機能デモ 2(map_aW →map_bWの移動)

・ナビ機能デモ 3(map_bW →map_dWの移動)

・API関数 R_GDT_Close()の実行(GDT使用不可状態)

2. 実行中のデモが完了した後、SW3を押すとデモを終了しメニュー画面を表示しま

す。

引 数 なし

リターン値 なし

Page 13: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 13 of 48 Jan.15.2020

gdt_iflp_triple_seq

概 要 反転機能のデモ実現

ヘッダ なし

宣 言 void gdt_iflp_triple_seq (uint16_t delay_times)

説 明 サイズが 256×256(bit)である入力画像を 3回繰り返し反転させ、各回の反転結果を

LCDに出力します。

1. 用意した入力画像(256×256(bit))を一旦保存し、LCDに出力します。

(display_img関数)

2.下記を 3回繰り返します。

1)反転を実施(gdt_iflp_256x256)

2)反転した結果を LCDに出力(display_img関数)

反転後の画像は次の反転処理の入力画像として使用

引 数 uint16_t delay_times 反転機能の画像表示の遅延時間

(1ms単位での設定が可能です。引数に 2を設定した場合、

遅延時間は 2msとなります)

リターン値 なし

gdt_shrink_big2small2big_seq

概 要 縮小機能のデモ実現

ヘッダ なし

宣 言 void gdt_shrink_big2small2big_seq (uint16_t delay_times)

説 明 サイズが 256×256(bit)である入力画像を縮小処理し、大→小→大の順で徐々に変化

させて、LCDに出力します。縮小した画像は LCDパネルの中心に表示します。

1. 処理後画像一時保存用の配列をクリア(gdt_img_clr)

2.用意した入力画像(256×256(bit))を一旦保存し、LCDに出力

(display_img関数)

3. 縮小機能の共通設定を行う

4. 下記を 7回繰り返し実施(縮小倍率は 7/8→…→1/8、1/8間隔で変化)

1)処理後画像一時保存用の配列をクリア(gdt_img_clr)

2)縮小サイズ変更(縮小サイズ格納変数 shrink_sizeをデクリメントする),

3) 出力ブロック開始座標算出(水平開始座標 blk_start_pix_h, 垂直開始座標

blk_start_pix_v をそれぞれ 1ブロック(16bit)加算)

4) 縮小を実施(gdt_shrink_uniflp_black_bakgrd)

5) 縮小した画像を LCDに出力(display_img関数)

5. 下記を 6回繰り返し実施(6回縮小機能実施:縮小サイズは小→大)

1)処理後画像一時保存用の配列をクリア(gdt_img_clr)

2)縮小サイズ変更(縮小サイズ格納変数 shrink_sizeをインクリメントする)

3) 出力ブロック開始座標算出(水平開始座標 blk_start_pix_h, 垂直開始座標

blk_start_pix_v をそれぞれ 1ブロック(16bit)減算)

4) 縮小を実施(gdt_shrink_uniflp_black_bakgrd)

5) 縮小した画像を LCDに出力(display_img関数)

引 数 uint16_t delay_times 縮小画像表示の遅延時間

(1ms単位での設定が可能です。引数に 2 を設定した場合、

遅延時間は 2msとなります)

リターン値 なし

Page 14: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 14 of 48 Jan.15.2020

gdt_monochrome_icon_seq

概 要 モノクロ合成機能デモ実現

ヘッダ なし

宣 言 void gdt_monochrome_icon_seq (uint16_t delay_times)

説 明 入力画像データに対して 2回のモノクロ処理を行います。1回目は縁取り機能無効、

2回目は縁取り機能有効で実施します。

1. 背景画像および前景画像のエンディアン変換設定

2. エンディアン変換実施(gdt_endian_uniflp_one_page)

3. 4/8縮小後の前景画像を画像の中央に配置

4. モノクロ合成の処理内容を設定

サイズ:256×256(bit)

縁取り:無効

5.1回目のモノクロ合成を実施。

1) 背景画像表示(display_img)

2) 前景画像表示(display_img)

3) モノクロ合成実施(gdt_monochrome_uniflp)

4) モノクロ合成画像表示(display_img)

5) 画像クリア(gdt_img_clr)

6) クリア後の白い画面表示(display_img)

5. モノクロ合成用(2回目) のパラメータを更新

1) 前回の前景を今回の縁取りとする

2) 縁取りを有効に設定

6. 2回目の合成を実施。

1) 前景画像表示(display_img)

2) 背景画像表示(display_img)

3) 縁取り画像表示(display_img)

4) モノクロ合成実施(gdt_monochrome_uniflp)

5) モノクロ合成画像表示(display_img)

引 数 uint16_t delay_times モノクロ合成画像表示の遅延時間

(1ms単位での設定が可能です。引数に 2を設定した場合、

遅延時間は 2msとなります)

リターン値 なし

Page 15: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 15 of 48 Jan.15.2020

gdt_rotate_icon_seq

概 要 回転機能のデモ実現

ヘッダ なし

宣 言 void gdt_rotate_icon_seq (uint16_t delay_times)

説 明 入力画像を、回転処理を行って、LCDに出力します。

本関数の入力画像は、“3.1章 GDT処理で使用する 1/2画像(アイコン)の準備”

で予め準備したもの(入力画像を 4/8縮小した 128×128(bit)の画像)です。

1. 処理後画像一時保存用の配列をクリア(gdt_img_clr)

2. サイズが 128×128(bit)である入力データは LCDの座標(0,0)に出力

3. 処理内容を設定して回転実施(gdt_rotate_uniflp_one_page)、LCDに出力:

1)回転方向:右 90度回転,出力先座標:(128,0)

2)gdt_rotate_uniflp_one_pageで回転を実施

3) 回転した結果を LCDに出力(display_img関数)

4. 処理内容の設定を更新して回転実施(gdt_rotate_uniflp_one_page)、LCDに出力:

1)回転方向:左 90度回転,出力先座標:(0,128)

2)gdt_rotate_uniflp_one_pageで回転を実施

3) 回転した結果を LCDに出力(display_img関数)

5. LCDに表示されているデータをクリアし、2)と同じように入力画像を LCDの座標

(0,0)に出力

6. 処理内容の設定を更新して回転実施(gdt_rotate_uniflp_one_page)、LCDに出力:

1)回転方向:左右反転,出力先座標:(128,0)

2)gdt_rotate_uniflp_one_pageで回転を実施

3) 回転した結果を LCDに出力(display_img関数)

7. 処理内容の設定を更新して回転実施(gdt_rotate_uniflp_one_page)、LCDに出力:

1)回転方向:上下反転,出力先座標:(0,128)

2)gdt_rotate_uniflp_one_pageで回転を実施

3) 回転した結果を LCDに出力(display_img関数)

引 数 uint16_t delay_times 回転機能の画像表示の遅延時間

(1ms単位での設定が可能です。引数に 2を設定した場合、

遅延時間は 2msとなります)

リターン値 なし

Page 16: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 16 of 48 Jan.15.2020

gdt_scroll_left_7bit_seq

概 要 スクロール機能デモ実現

ヘッダ なし

宣 言 void gdt_scroll_left_7bit_seq (uint16_t delay_times)

説 明 入力画像を、スクロール処理を行って、LCDに出力します。

1. 用意した入力画像(256×256(bit))を LCDに出力(display_img関数)

2. 下記を 30回繰り返し実施(左 7ビットスクロール)

1)処理後画像一時保存用の配列をクリア(gdt_img_clr)

2)スクロールブロックサイズを更新

3) スクロール処理実施(gdt_scroll_uniflp)

4) スクロール後の画面を LCDに出力(display_img関数)

5) スクロールオフセット更新(8加算)

3. スクロールオフセット設定(240)

4. 下記を 30回繰り返し実施(右 7ビットスクロール)

1)処理後画像一時保存用の配列をクリア(gdt_img_clr)

2)スクロールブロックサイズを更新

3) スクロール処理実施(gdt_scroll_uniflp)

4) スクロール後の画面を LCDに出力(display_img関数)

5) スクロールオフセット更新(8減算)

引 数 uint16_t delay_times スクロール処理の画像表示の遅延時間

(1ms単位での設定が可能です。引数に 2を設定した場合、

遅延時間は 2msとなります)

リターン値 なし

gdt_alarm_function

概 要 アラーム機能のデモ実現

ヘッダ なし

宣 言 void gdt_alarm_function (void)

説 明 モノクロ合成処理および反転処理を行って、アラーム機能を実現します。

1) アラーム用の 11枚の画像を保存(alarm01-11)

背景画像(alarm01):256×256(bit)

前景画像(alarm06):144×32(bit)

前景画像(alarm02-05,07-11):32×32(bit)

2) アラーム背景のエンディアン変換設定

3) エンディアン変換実施(gdt_endian_uniflp_one_page)

4) エンディアン変換後のデータを LCDに出力(display_img関数)

5) モノクロ合成の処理内容を設定

6) 10枚の前景画面と背景画像をモノクロ合成し、LCDに出力

・Loop=4のとき(alarm06)

144×32(bit)の前景画面を合成し、LCDに出力

・Loop=5と Loop=7のとき(alarm07と alarm09)

32×32(bit)の前景画面をモノクロ反転して合成、LCDに出力

・その他

32×32(bit)の前景画面をそのまま合成、LCDに出力

引 数 なし

リターン値 なし

Page 17: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 17 of 48 Jan.15.2020

gdt_navigation_int

概 要 ナビ機能の入力画像初期化

ヘッダ なし

宣 言 void gdt_navigation_int (void)

説 明 ナビの初期画面に出発地と到着地を記載して、LCDに出力します。入力画面を予め準

備します。

1. ナビの初期画面をエンディアン変換し、LCDに出力

2. ナビの出発地と到着地(テキスト)が載っている画面をエンディアン変換実施

3. 合成情報を設定して、合成実施し、LCDに出力

背景画面:ナビの初期画面

前景画面:ナビの出発地と到着地(テキスト)が載っている画面

4. ナビ機能で使用する画像(下記の 7つ)をエンディアン変換実施

(gdt_endian_uniflp_one_page)

1) map_aW:地図 A

2) map_bW:地図 B

3) map_cW:地図 C

4) map_dW:地図 D

5) human:人型アイコン

6) human_border:人型アイコンの縁取り

7) compassW:コンパスアイコン

引 数 なし

リターン値 なし

gdt_navigation_1

概 要 ナビ機能デモ 1(地図拡大)

ヘッダ なし

宣 言 void gdt_navigation_1 (void)

説 明 地図の全体図をから、出発地を中心として拡大しながら LCDに出力します。

1.入力の 4つの地図(aW:4/8,bW:4/8,cW:4/8,dW:4/8)を縮小し、コンパスと合成し

て LCDに出力

1)入力地図 A(MAP A)の縮小設定(サイズ:4/8、左上)および縮小実施

(gdt_shrink_uniflp_black_bakgrd)

2)入力地図 B(MAP B)の縮小設定(サイズ:4/8、右上)および縮小実施

(gdt_shrink_uniflp_black_bakgrd)

3)入力地図 C(MAP C)の縮小設定(サイズ:4/8、左下)および縮小実施

(gdt_shrink_uniflp_black_bakgrd)

4) 入力地図 D(MAP D)の縮小設定(サイズ:4/8、右下)および縮小実施

(gdt_shrink_uniflp_black_bakgrd)

5) コンパスを 1)~4)の画面に合成(gdt_monochrome_compassW(1))、

LCDに出力

2.「1.」と同じように入力の 4つの地図を縮小し、コンパスと合成して

LCDに出力。ただし aWは 5/8、以外の地図サイズは「1.」と同じ。

3.「1.」と同じように入力の 4つの地図を縮小し、コンパスと合成して

LCDに出力。ただし aWは 6/8、以外の地図サイズは「1.」と同じ。

4.「1.」と同じように入力の 4つの地図を縮小し、コンパスと合成して

LCDに出力。ただし aWは 7/8、以外の地図サイズは「1.」と同じ。

5.地図 Aの元サイズ(256×256)のままでコンパスと合成して

LCDに出力。

Page 18: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 18 of 48 Jan.15.2020

6.地図 Aの元サイズ(256x256)およびコンパスを両方とも左回転してから、合成し

て LCDに出力。

引 数 なし

リターン値 なし

gdt_navigation_2

概 要 ナビ機能デモ 2(map_aW →map_bWの移動)

ヘッダ なし

宣 言 void gdt_navigation_2 (void)

説 明 ナビの地図を map_aWから map_bWへ、スクロール処理しながら、LCDに出力します。

1. 地図 Aの後半分と地図 Bの前半分で画像データを一旦保存(地図 AandB)。

2. 地図 Aの左回転設定をして回転処理を実施、人型アイコンおよびコンパスアイ

コンとモノクロ合成してから LCDに出力

3. 地図 Aを左スクロールして有効画像データを一旦保存し、一画像として足りな

い右の部分は、「1」で保存した地図 AandBからデータを取る。

4. 「3」の画像データを人型アイコンおよびコンパスアイコンと合成してから LCD

に出力

5. 「3~4」を 15回実施

6. 「1」で得た地図 AandBを左スクロールして有効画像データを一旦保存し、一画

像として足りない右の部分は、地図 Bからデータを取る。

7. 「6」の画像データを人型アイコンおよびコンパスアイコンと合成してから LCD

に出力

引 数 なし

リターン値 なし

gdt_navigation_3

概 要 ナビ機能デモ 3(map_bW →map_dWの移動)

ヘッダ なし

宣 言 void gdt_navigation_3 (void)

説 明 ナビの地図を map_bWから map_dWへ、スクロール処理しながら、LCDに出力します。

1. 地図 Bと地図 Dをそれぞれ左回転してから、地図 Bの後半分と地図 Dの前半分

で画像データを一旦保存(地図 BandD)。

2. 地図 Bの左回転設定をして回転処理を実施、人型アイコンおよびコンパスアイ

コンとモノクロ合成してから LCDに出力

3. 地図 Bを左スクロールして有効画像データを一旦保存し、一画像として足りな

い右の部分は、「1」で保存した地図 BandDからデータを取る。

4. 「3」の画像データを人型アイコンおよびコンパスアイコンと合成してから LCD

に出力

5. 「3~4」を 15回実施

6. 「1」で得た地図 BandDを左スクロールして有効画像データを一旦保存し、一画

像として足りない右の部分は、地図 Dからデータを取る。

7. 「6」の画像データを人型アイコンおよびコンパスアイコンと合成してから LCD

に出力

引 数 なし

リターン値 なし

Page 19: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 19 of 48 Jan.15.2020

gdt_shrink_uniflp_black_bakgrd

概 要 反転機能 OFF余剰背景色白のときの縮小機能(デモ用)

縮小機能処理の API関数(R_GDT_Shrink)の引数を設定し、R_GDT_Shrink関数を呼び

出します

ヘッダ なし

宣 言 void gdt_shrink_uniflp_black_bakgrd (uint8_t shrink_size, shrink_in_info_t

in_info,shrink_out_info_t out_info)

説 明 1. 縮小入力画像のサイズ設定

2. 縮小出力画像のサイズ設定

3. 入力画像の開始座標および縮小する部分のサイズを設定、縮小出力画像の開始座

標を設定

4. 縮小処理の設定

1) 反転機能 OFF

2) 縮小サイズの設定(本関数の引数として入力される)

3) 余剰背景色を白色(1)に設定

5. R_GDT_Shrink関数で縮小実施

6. 縮小処理の終了フラグ(shrink_normal_end)を待つ

7. 縮小処理の終了フラグ(shrink_normal_end)をクリア

引 数 uint8_t shrink_size 縮小サイズ

shrink_in_info_t in_info 縮小入力画像情報(サイズ)と処理ブロック情報(開始座

標および処理サイズ)を入力する

shrink_out_info_t

out_info

出力画像情報(開始座標およびサイズ)

リターン値 なし

gdt_iflp_256x256

概 要 256x256全画面反転機能関数(デモ用)

エンディアン変換処理の API関数(R_GDT_Endian)の引数を設定し、R_GDT_Endian関

数を呼び出します

ヘッダ なし

宣 言 void gdt_iflp_256x256(uint32_t src_img_addr,uint32_t dest_img_addr)

説 明 1. エンディアン変換入力画像のサイズ設定

2. エンディアン変換出力画像のサイズ設定

3. エンディアン変換入力画像および出力画像の開始座標を(0,0)に固定、サイズを

256x256に固定

4. エンディアン変換処理の設定

1) エンディアン変換機能 OFF

2) 反転機能 ON

5. R_GDT_Endian関数でエンディアン変換実施

6. エンディアン変換処理の終了フラグ(Endian_normal_end)を待つ

7. エンディアン変換処理の終了フラグ(Endian_normal_end)をクリア

引 数 uint32_t src_img_addr 入力画像アドレス

uint32_t dest_img_addr 出力画像アドレス

リターン値 なし

Page 20: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 20 of 48 Jan.15.2020

gdt_endian_uniflp_one_page

概 要 全画面エンディアン変換関数(デモ用)

エンディアン変換処理の API関数(R_GDT_Endian)の引数を設定し、R_GDT_Endian関

数を呼び出します

ヘッダ なし

宣 言 void gdt_endian_uniflp_one_page(endian_info_t endian_info)

説 明 1. エンディアン変換入力画像のサイズ設定

2. エンディアン変換出力画像のサイズ設定

3. エンディアン変換入力画像および出力画像の開始座標を(0,0)に固定、エンディ

アン変換入力画像のサイズを設定

4. エンディアン変換処理の設定

5. エンディアン変換機能 ON

6. 反転機能 OFF

7. R_GDT_Endian関数でエンディアン処理実施

8. エンディアン変換処理の終了フラグ(Endian_normal_end)を待つ

9. エンディアン変換処理の終了フラグ(Endian_normal_end)をクリア

引 数 endian_info_t

endian_info

入力画像アドレス、出力画像アドレス、エンディアン変

換する部分のサイズを設定

リターン値 なし

gdt_monochrome_uniflp

概 要 全画面モノクロ合成機能関数(デモ用)

エンディアン変換処理の API関数(R_GDT_Monochrome)の引数を設定し、

R_GDT_Monochrome関数を呼び出します

ヘッダ なし

宣 言 void gdt_monochrome_uniflp(monochrome_info_t

cfg_info,monochrome_range_info_t range_info)

説 明 1. モノクロ合成機能の入力画像数を設定。

1) 縁取りがある場合、入力画像 3枚(前景、背景、縁取り)に設定

2) 縁取りがない場合、入力画像 2枚(前景、背景)に設定

2. モノクロ合成機能出力画像のサイズ設定

3. 縁取りがある場合(入力画像 3枚)の入力画像開始座標および合成部分のサイズを

設定、合成出力画像開始座標(0,0)固定

4. モノクロ合成処理の設定

5. モノクロ合成機能 ON

6. 反転機能 OFF

7. R_GDT_Monochrome関数でモノクロ合成処理実施

8. モノクロ合成処理の終了フラグ(Monochrome_normal_end)を待つ

9. モノクロ合成処理の終了フラグ(Monochrome_normal_end)をクリア

引 数 monochrome_info_t

cfg_info

前景アドレス、背景アドレス、縁取りアドレス、および

合成モードの設定

monochrome_range_info_t

range_info

入力画像サイズ情報の設定。

リターン値 なし

Page 21: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 21 of 48 Jan.15.2020

gdt_rotate_uniflp_one_page

概 要 全画面回転機能関数(デモ用)

回転機能の API関数(R_GDT_Rotate)の引数を設定し、R_GDT_Rotate関数を呼び出し

ます

ヘッダ なし

宣 言 void gdt_rotate_uniflp_one_page(rotate_info_t rotate_info)

説 明 1. 回転入力画像のサイズ設定

2. 回転出力画像のサイズ設定

3. 回転入力画像の開始座標を(0,0)に固定、回転する部分のサイズを設定、回転出

力画像の開始座標を設定

4. 回転処理の設定

1) 反転機能 OFF

2) 回転機能 ON

3) 回転機能選択ビットの設定

5. R_GDT_Rotate関数で回転処理を実施

6. 回転処理の終了フラグ(rotate_normal_end)を待つ

回転処理の終了フラグ(rotate_normal_end)をクリア

引 数 rotate_info_t

rotate_info

入力画像アドレス、出力画像アドレス、エンディアン変

換する部分のサイズを設定

リターン値 なし

gdt_scroll_uniflp

概 要 全画面スクロール機能関数(デモ用)

スクロール機能の API関数(R_GDT_Scroll)の引数を設定し、R_GDT_Scroll関数を呼

び出します

ヘッダ なし

宣 言 void gdt_scroll_uniflp(scroll_info_t scroll_info,uint8_t scroll_iscren)

説 明 1. スクロール入力画像のサイズ設定

2. スクロール出力画像のサイズ設定

3. スクロール入力画像の開始座標およびスクロールする部分のサイズを設定、スク

ロール出力画像の開始座標を設定

4. スクロール処理の設定

1) 反転機能 OFF

2) 画像スクロール機能有効化ビットの設定

5. R_GDT_Scroll関数でスクロール処理を実施

6. スクロール処理の終了フラグ(Scroll_normal_end)を待つ

スクロール処理の終了フラグ(Scroll_normal_end)をクリア

引 数 scroll_info_t

scroll_info,

入力画像アドレス、出力画像アドレス、エンディアン変

換する部分のサイズを設定

uint8_t scroll_iscren 画像スクロール機能有効化ビット

リターン値 なし

Page 22: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 22 of 48 Jan.15.2020

menu_merge_image

概 要 メニュー画面用の表示画像を更新する関数

ヘッダ なし

宣 言 void menu_merge_image(uint32_t View_X,uint32_t View_Y,const unsigned char

image[1792])

説 明 メニュー画面で表示する画像データを更新します。更新サイズは、各デモ名の画像サ

イズ(256×56ビット)です。

引 数 uint32_t View_X 更新開始アドレスの X軸座標

uint32_t View_Y 更新開始アドレスの Y軸座標

const unsigned char

image[1792]

更新画像

リターン値 なし

display_img

概 要 LCD出力関数

ヘッダ なし

宣 言 void display_img(unsigned char img[],uint16_t img_h_size,uint16_t

img_v_size,uint16_t delay_times,uint8_t reverse_en)

説 明 入力画像を LCDに出力します。

1. 入力画像を一時保存する配列をクリア

2. エンディアン変換の実施/非実施を設定

3. 入力画像一旦保存(エンディアン変換を実施する場合、エンディアン変換してか

ら保存)

4. 配列に保存した画像を SPI経由で LCDに出力

5. 遅延時間を待ってから終了

引 数 unsigned char img[] 入力画像配列

uint16_t img_h_size 入力画像の水平ビット数

uint16_t img_v_size 入力画像の垂直ビット数

uint16_t delay_times LCD出力後の遅延時間

(1ms単位での設定が可能です。引数に 2を設定した場合、

遅延時間は 2msとなります)

uint8_t reverse_en エンディアン変換の実施/非実施設定

リターン値 なし

Page 23: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 23 of 48 Jan.15.2020

イベントリンク設定 表 3-2に ICUイベントリンク設定の内容を示します。

表 3-2 ICUイベントリンク設定内容

NVICにリンクする割り

込み信号 変更箇所 変更内容

DMAC0_INT [r_system_cfg.h]

SYSTEM_CFG_EVENT_NUMBER_DMAC0_INT

設定値変更

(SYSTEM_IRQ_EVENT_NUMBER0)

DMAC1_INT [r_system_cfg.h]

SYSTEM_CFG_EVENT_NUMBER_DMAC1_INT

設定値変更

(SYSTEM_IRQ_EVENT_NUMBER5)

DMAC2_INT [r_system_cfg.h]

SYSTEM_CFG_EVENT_NUMBER_DMAC2_INT

設定値変更

(SYSTEM_IRQ_EVENT_NUMBER14)

GDT_DATOI [r_system_cfg.h]

SYSTEM_CFG_EVENT_NUMBER_GDT_DATOI

設定値変更

(SYSTEM_IRQ_EVENT_NUMBER4)

GDT_DATII [r_system_cfg.h]

SYSTEM_CFG_EVENT_NUMBER_GDT_DATII

設定値変更

(SYSTEM_IRQ_EVENT_NUMBER3)

AGT_AGTI [r_system_cfg.h]

SYSTEM_CFG_EVENT_NUMBER_AGT0_AGTI

設定値変更

(SYSTEM_IRQ_EVENT_NUMBER11)

SPI1_SPII [r_system_cfg.h]

SYSTEM_CFG_EVENT_NUMBER_SPI1_SPII

設定値変更

(SYSTEM_IRQ_EVENT_NUMBER10)

Page 24: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 24 of 48 Jan.15.2020

フローチャート

図 3.2にメイン処理のフローチャートを示します。

図 3.2 メイン処理

NO

Main

R_SMIP_Open

システムクロック設定

システム初期設定

デモメニューの初期化

GDTモジュールストップ解除

共通入力画像作成

SW1,SW2,SW3

“H”レベル検出

YES

SW1“L”レベル検出

YES

NO

SW3“L”レベル検出

view_up

view_down

SW2“L”レベル検出

view_enter

YES

YES

NO

NO

R_SMIP_PowerOn

Page 25: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 25 of 48 Jan.15.2020

図 3.3から図 3.7は、view_enter関数実行時に Key_position=1または Key_position=2のときの、各画像

処理のフローチャートです。

図 3.3 反転処理のフローチャートを示します

YES

NO

開始

反転処理内容の設定

Iflp_cnt = 0

Iflp_cnt ++

Iflp_cnt<3

終了

入力画像をLCDに出力

gdt_iflp_256x256

反転した結果をLCDに出力

図 3.3 反転処理

Page 26: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 26 of 48 Jan.15.2020

図 3.4 縮小機能処理のフローチャートを示します

NO

縮小機能処理内容の設定

入力画像をLCDに出力

開始

Shrink_cnt<7縮小機能6回実施

Shrink_cnt=0

Shrink_size –-Shrink_cnt++

pix_h=pix_h+16 pix_v=pix_v+16

YES

Shrink_cnt=0

NO

Shrink_cnt<6縮小機能5回実施

Shrink_size ++Shrink_cnt++

pix_h=pix_h-16 pix_v=pix_v-16

YES

gdt_shrink_uniflp_black_bakgrd

縮小した画像をLCDに出力

入力画像をLCDに出力

終了

gdt_shrink_uniflp_black_bakgrd

縮小した画像をLCDに出力

図 3.4 縮小機能処理

Page 27: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 27 of 48 Jan.15.2020

図 3.5 モノクロ合成処理のフローチャートを示します

開始

エンディアン変換処理内容の設定

gdt_endian_uniflp_one_page

画像クリア

クリア後の白い画面をLCDに出力

gdt_monochrome_uniflp

モノクロ合成画像をLCDに出力

モノクロ合成の処理内容を設定

終了

背景画像表示,前景画像表示

モノクロ合成の処理内容を設定前回の前景を今回の縁取りとする

縁取りを有効に設定

gdt_monochrome_uniflp

モノクロ合成画像をLCDに出力

背景画像表示,前景画像表示,縁取

り画像表示

図 3.5 モノクロ合成処理

Page 28: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 28 of 48 Jan.15.2020

図 3.6 回転処理のフローチャートを示します

開始

入力画像をLCDに出力

回転処理内容の更新

左90度回転,出力先座標:(0,128)

gdt_rotate_uniflp_one_page回転した結果をLCDに出力

回転処理内容の設定

右90度回転,出力先座標:(128,0)

gdt_rotate_uniflp_one_page回転した結果をLCDに出力

入力画像をLCDに出力

回転処理内容の更新

上下反転,出力先座標:(0,128)

gdt_rotate_uniflp_one_page回転した結果をLCDに出力

入力画像をLCDに出力

回転処理内容の設定

左右反転,出力先座標:(128,0)

gdt_rotate_uniflp_one_page回転した結果をLCDに出力

終了

図 3.6 回転処理

Page 29: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 29 of 48 Jan.15.2020

図 3.7 スクロール処理のフローチャートを示します

NO

スクロールの処理内容を設定

入力画像をLCDに出力

開始

scroll_times<60

scroll_times=0

scroll_times++

YES

終了

NOscroll_offset % 16

src_blk_pix_h = 0 + scroll_offsetblk_size_h= 248 - scroll_offset

YES

src_blk_pix_h = 0 + scroll_offsetblk_size_h= 256- scroll_offset

NOscroll_times<30 scroll_offset = scroll_offset - 8

YES

scroll_offset = scroll_offset + 8

gdt_scroll_uniflp

スクロール画像をLCDに出力

図 3.7 スクロール処理

Page 30: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 30 of 48 Jan.15.2020

3.2 白黒 LCD向けフォント展開機能サンプルコード

白黒 LCD向けフォント展開機能のサンプルコードの動作を以下に示します。

初期化処理

関連の初期化処理を実施します。

1)システム初期化処理

2)システムクロック設定

3)IO電源制御(全 IO電源供給)

4)R_SMIPドライバによる MLCD表示初期設定(API関数 R_SMIP_Open()、R_SMIP_PowerOn()を実行)

API関数 R_GDT_Open()を実行し、GDTを使用可能状態にします。

フォント展開機能実施

1)入力サイズが 63bitx64bitのときのフォント変換

2)入力サイズが 33bitx32bitのときのフォント変換

API関数 R_GDT_Close()を実行し、GDTを使用不可状態にします。

Page 31: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 31 of 48 Jan.15.2020

システム構成図

図 3.8 システム構成図

RE01 SW1

SW3

SW2P508(Pin107)

P410(Pin23)

P100(Pin99)

LCDスクリーン

PMOD1P610(Pin73) SCS

P609(Pin74) MOSIB

P608(Pin75) MISOB

P607(Pin76) RSPCKB

P606(Pin77) INT

P605(Pin78) RESET

P303(Pin69) IO1

P302(Pin70) IO0

PMOD1

Page 32: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 32 of 48 Jan.15.2020

関数一覧

サンプルコードで追加した関数について説明します。必要に応じて各関数の内容修正してください。

main

概 要 メイン処理

ヘッダ なし

宣 言 void main(void)

説 明 システムクロック設定や SMIP(SPI、DMAC)の転送設定を行います。

メインループの中で、下記のことを繰り返し実施します。

1) API関数 R_GDT_Open()を実行し、GDTを使用可能状態に変更

2) 出力画像サイズが 63bit×64bitのフォント展開処理

3) 出力画像サイズが 33bit×32bitのフォント展開処理

4) API関数 R_GDT_Close()を実行し、GDTを使用不可状態に変更

引 数 なし

リターン値 なし

gdt_fount_63x64_seq

概 要 フォント展開機能のデモ実現(出力画像サイズ:63bit×64bit)

ヘッダ なし

宣 言 void gdt_fount_63x64_seq (uint16_t delay_times)

説 明 入力画像を、フォント展開処理実施してから、LCDに出力します。

1. フォント展開機能情報設定(入出力画像アドレス、出力画像サイズ)

2. 出力画像配列クリア

3. 用意した入力画像を LCDに出力(display_img関数)

4. フォント展開を実施(gdt_fount_uniflp_nofill)

5. フォント展開後の出力画像を LCDに出力

入力画像イメージ:64bit×63bit

フォント展開後の出力画像イメージ:63bit×64bit

引 数 uint16_t delay_times フォント展開機能の画像表示の遅延時間

(1ms単位での設定が可能です。引数に 2を設定した場合、

遅延時間は 2msとなります)

リターン値 なし

Page 33: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 33 of 48 Jan.15.2020

gdt_fount_33x32_seq

概 要 フォント展開機能のデモ実現(出力画像サイズ:33bit×32bit)

ヘッダ なし

宣 言 void gdt_fount_33x32_seq (uint16_t delay_times)

説 明 入力画像を、フォント展開処理実施してから、LCDに出力します。

1. フォント展開機能情報設定(入出力画像アドレス、出力画像サイズ)

2. 出力画像配列クリア

3. 用意した入力画像を LCDに出力(display_img関数)

4. フォント展開を実施(gdt_fount_uniflp_nofill)

5. フォント展開後の出力画像を LCDに出力

入力画像イメージ:64bit×16bit

フォント展開後の出力画像イメージ:33bit×32bit

引 数 uint16_t delay_times フォント展開機能の画像表示の遅延時間

(1ms単位での設定が可能です。引数に 2を設定した場合、

遅延時間は 2msとなります)

リターン値 なし

gdt_fount_uniflp_nofill

概 要 フォント展開機能関数(デモ用)

フォント展開処理の API関数(R_GDT_Fount)の引数を設定し、R_GDT_Fount関数を呼

び出します

ヘッダ なし

宣 言 void gdt_fount_uniflp_nofill(fount_info_t fount_info)

説 明 1. フォント展開入力画像のサイズ設定

2. フォント展開出力画像のサイズ設定

3. フォント展開入力画像座標を 0に固定,出力画像座標も 0に固定,ブロックサイ

ズも 0に固定

4. フォント展開のモードの設定

1) 空白部分設定ビット 0固定

2) スタートアドレス変更ビット 0固定

3) フォントデータ横方向サイズ設定

4) フォントデータ縦方向サイズ設定

5) 反転機能 OFF

5. フォント展開処理の API関数(R_GDT_Fount)を実施

6. フォント展開の終了フラグ(gdt_normal_endを待つ、フォント展開処理終了後、

フラグ(gdt_normal_end)をクリア

Page 34: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 34 of 48 Jan.15.2020

引 数 fount_info_t

fount_info

入力画像アドレス、出力画像アドレス、フォントデータ

横方向サイズ設定、フォントデータ縦方向サイズ設定

リターン値 なし

display_img

概 要 LCDに出力するための関数

ヘッダ なし

宣 言 void display_img(unsigned char img[],uint16_t img_h_size,uint16_t

img_v_size,uint16_t delay_times,uint8_t reverse_en)

説 明 1. 入力画像を LCDに出力します。

2. 入力画像を一時保存する配列をクリア

3. エンディアン実施するかを判断

4. 入力画像一旦保存(エンディアン実施必要の場合、エンディアン変換してから保

存)

5. 配列に保存した画像を SPI経由で LCDに出力

6. 遅延時間を待ってから終了

引 数 unsigned char img[] 入力画像配列

uint16_t img_h_size 入力画像の水平画像数

uint16_t img_v_size 入力画像の垂直画像数

uint16_t delay_times LCD出力する際の遅延時間

(1ms単位での設定が可能です。引数に 2を設定した場合、

遅延時間は 2msとなります)

uint8_t reverse_en エンディアン実施するかどうかのイネーブル

リターン値 なし

Page 35: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 35 of 48 Jan.15.2020

イベントリンク設定

表 3-3に ICUイベントリンク設定の内容を示します。

表 3-3 ICUイベントリンク設定内容

NVICにリンクする割り

込み信号 変更箇所 変更内容

DMAC0_INT [r_system_cfg.h]

SYSTEM_CFG_EVENT_NUMBER_DMAC0_INT

設定値変更

(SYSTEM_IRQ_EVENT_NUMBER0)

DMAC1_INT [r_system_cfg.h]

SYSTEM_CFG_EVENT_NUMBER_DMAC1_INT

設定値変更

(SYSTEM_IRQ_EVENT_NUMBER5)

DMAC2_INT [r_system_cfg.h]

SYSTEM_CFG_EVENT_NUMBER_DMAC2_INT

設定値変更

(SYSTEM_IRQ_EVENT_NUMBER14)

GDT_DATOI [r_system_cfg.h]

SYSTEM_CFG_EVENT_NUMBER_GDT_DATOI

設定値変更

(SYSTEM_IRQ_EVENT_NUMBER4)

GDT_DATII [r_system_cfg.h]

SYSTEM_CFG_EVENT_NUMBER_GDT_DATII

設定値変更

(SYSTEM_IRQ_EVENT_NUMBER3)

AGT_AGTI [r_system_cfg.h]

SYSTEM_CFG_EVENT_NUMBER_AGT0_AGTI

設定値変更

(SYSTEM_IRQ_EVENT_NUMBER11)

SPI1_SPII [r_system_cfg.h]

SYSTEM_CFG_EVENT_NUMBER_SPI1_SPII

設定値変更

(SYSTEM_IRQ_EVENT_NUMBER10)

Page 36: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 36 of 48 Jan.15.2020

フローチャート

図 3.9にメイン処理のフローチャートを示します。

図 3.9 メイン処理

GDTモジュールストップ解除

GDTチャネル選択

gdt_fount_33x32_seq

R_GDT_Open

gdt_fount_63x64_seq

R_GDT_Close

Main

R_SMIP_Open

システムクロック設定

システム初期設定

R_SMIP_PowerOn

Page 37: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 37 of 48 Jan.15.2020

図 3.10 フォント展開処理のフローチャートを示します

開始

フォント展開の処理内容を設定

フォント展開画像をLCDに出力

gdt_fount_uniflp_nofill

入力画像をLCDに出力

終了

図 3.10 フォント展開処理

Page 38: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 38 of 48 Jan.15.2020

3.3 モノクロ画像データの作成方法

デモで使用される画像データ作成の手順を以下に示します。

準備

対象の BMP形式の画像を LCD出力形式に変換します。

1. BMP形式画像

2. 画像形式変換ツール:bmp2cs12(BMP形式→CSV形式)

3. LCD出力形式変換:r01an4755xx0100/可変式 LCD出力用シート.xlsx

(CSV形式→LCD出力形式)

使用上の制限事項

本アプリケーションノートで使用した画像形式変換ツール(bmp2cs12)はフリーソフトを使用して

います。任意のフリーソフトで画像形式変換をしてください。

手順

図 3.11を例として、BMP形式の画像を LCD出力形式に変換する手順を紹介します。

図 3.11 icon.bmp

1. 図 3.11 のようなモノクロ BMP 画像を用意してください。全画面に画像を表示する場合のサイズ

は 256x256(bit)です。

2. bmp2cs12.lzhの中の bmp2csv.exe を実行(ダブルクリック)すると、図 3.12 の画面が出力されま

す。「実行」ボタンをダブルクリックしてください。

図 3.12 bmp2csv実行確認画面

Page 39: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 39 of 48 Jan.15.2020

3. 図 3.13の画面で BMPファイルを選択すると、入力画像のイメージが左下に表示されます。

図 3.13 bmp2csvの UI画面

4. 図 3.14に示すように、変換形式は「二値化してファイルに保存する。(白=0、黒=1)」を選択し、

拡張子は「.CSV(カンマ区切り)」を選択してください。

図 3.14 bmp2csvの出力形式選択

Page 40: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 40 of 48 Jan.15.2020

5. 図 3.15に示すように、「CSVファイル作成」をクリックして CSVファイルを作成します。今回の

例では、入力画像と同じフォルダに「iconW.CSV」が生成されます。

図 3.15 bmp2csvの CSVファイル作成の実行

6. ツール「可変式 LCD 出力用シート.xlsx」内の、sheet「表紙_説明書兼一部設定」にツールの手

順説明を記載していますので、よく読んでからご利用ください。

7. sheet「表紙_説明書兼一部設定」の下にある「●以下設定」を図 3.16 のように設定してくださ

い。

図 3.16 表紙_説明書兼一部設定の抜粋

Page 41: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 41 of 48 Jan.15.2020

8. 図 3.17に示すように、sheet「データ打ち込み」を表示し、step「5」で生成したデータを「デー

タ打ち込み」のセル B3から貼り付けます。

図 3.17 データ打ち込み

9. 図 3.18 に示すように、ツール「可変式 LCD 出力用シート.xlsx」の sheet「output」で LCD出力

形式データが自動的に表示されます。上 6行の設定(黄色塗りつぶし)は状況によって変更して

ください。

図 3.18 出力データの設定

10. Sheet「output」の中のデータをセル D14 から任意の*.h にコピーします。本例では、

an4755_hal_gdt_mono_re/demo_view/pic_icon.hにコピーします。

Page 42: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 42 of 48 Jan.15.2020

11. Sheet「output」の中のデータについて、用途により、sheet「表紙_説明書兼一部設定」の下に

ある「●以下設定」の設定が異なるため、詳細を以下に示します。

1) LCDスクリーンに出力する際は、図 3.19のように“アドレス部サイズ(バイト単位)”と“ダ

ミーサイクル部サイズ(バイト単位)”を設定してください。Sheet「output」に出力される

イメージを図 3.20に示します。

図 3.19 LCDに出力する際の設定

図 3.20 LCDに出力する際のデータ出力イメージ

2) 画像処理などに使用する際は、図 3.21 のように“アドレス部サイズ(バイト単位)”と“ダ

ミーサイクル部サイズ(バイト単位)” を“0”に設定してください。Sheet「output」に出

力されるイメージを図 3.22に示します。

図 3.21 画像処理などに使用する際の設定

Page 43: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 43 of 48 Jan.15.2020

図 3.22 画像処理などに使用する際のデータ出力イメージ

Page 44: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 44 of 48 Jan.15.2020

4. ドライバの API 仕様

4.1 外部仕様書 本ドライバには APIの外部仕様を記したドキュメントを同包しています。

Documentsフォルダの直下にある Driver Specificationフォルダに格納されています。

図 4-1 API外部仕様の配置場所の赤色ハッチング箇所になります。

図 4-1 API外部仕様の配置場所

RE01_1500KB_DFP RE01 1500KBグループ CMSIS Driver Package全体.settings e2 studio用プロジェクト設定ファイル

Arm社が提供 CMSIS Cortex®-M0+CPUに関するヘッダファイル群Cortex® -M0+ Core およびDSPライブラリCPUに関わるもの Driver

DSP_Libルネサスが提供 conf igRE01 1500KBグループ RE01_1500KB.icf RE01 1500KBグループ用のIAR EWARMのリンカ設定ファイル固有のもの Device

CMSIS_Driver ドライバ本体①(CMSIS-Driver)Inc ludeSrc

Conf ig ドライバのコンフィグレーションヘッダ群Driver

IncludeLibSrc

pin .c 周辺機能端子設定ソースコードpin .h 周辺機能端子設定ヘッダファイルRE01_1500KB.h レジスタ定義ファイルstartup_RE01_1500KB.c スタートアップソースコード(CMSIS-CORE)system_RE01_1500KB.c スタートアップソースコード(CMSIS-CORE)system_RE01_1500KB.h スタートアップヘッダファイル(CMSIS-CORE)

Documents ドライバのマニュアル類DoxygenDriver Specif ication ドライバのAPI仕様書ドキュメントGetting_Started RE01_1500KB CMSIS Packageスタートアップガイド

Flash Debug ビルド後の実行ファイル(IARプロジェクト)HardwareDebug ビルド後の実行ファイル(e2 studioプロジェクト)script

RE01_1500KB.ldSVD

RE01_1500KB.svd.cproject e2 studio用プロジェクト情報ファイル.project e2 studio用プロジェクト情報ファイルmain .c メイン関数ソースコードproject.depproject.ewdproject.ewpproject.ewtproject.eww EWARM プロジェクト実行ファイルRenesas_RE_DFP HardwareDebug.launch

Page 45: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 45 of 48 Jan.15.2020

5. GDTドライバを使用する上での注意事項

本章では GDTドライバに関する主だった注意点を紹介します。すべての注意点を紹介しきれていません。

注意点について『4.1外部仕様書』をご参照ください。

5.1 画像データサイズ 画像データの水平サイズおよび垂直サイズは、8の倍数(ビット)としてください。また、画像の水平サイズ

は、水平メモリサイズ以下に設定してください。

5.2 水平メモリサイズ 本ドライバはワーク領域のサイズを引数で指定する必要があります。加工する画像サイズ同等もしくは以

上のサイズを次の中から選択してください。

水平メモリサイズは、32、64、128、または 256を設定してください。ただし、カラーデータ整列機能の 3

ビットモード使用時は、96、192、384、または 768、4ビットモード使用時は 128、256、512、または 1024

を設定してください。

5.3 画像処理単位 回転機能(R_GDT_Rotate)、モノクロ合成機能(R_GDT_Monochrome)、およびカラー合成機能(R_GDT_Colorsyn)

は、画像処理単位を 2種類(8×8ビットまたは 16×16ビット)から選択できます。各関数の画像処理データ

サイズ選択変数(gdtdsz)で設定してください。

回転機能を画像処理単位 16×16ビットで使用する際、処理前および処理後ブロックの開始アドレスは偶数

番地に設定してください。

モノクロ合成機能およびカラー合成機能では、画像処理単位 8×8ビットのみ対応しています。これらの関

数使用時は gdtdsz=1に設定してください。

5.4 DMACの割り込み設定および優先順位の制限

本ドライバは、必ず計 2チャネルの DMACを使用します。他の機能で使用する DMACのチャネルと重複しな

いように、使用チャネルを設定してください。

また、本ドライバで使用する DMACの割り込み優先順位に制限があります。使用する DMACのチャネルは、

R_GDT_DmacChSel関数で設定します。この関数では、”GDTへの入力データ転送用 DMAC”と、”出力データ

転送用 DMAC”を設定します。上記で選択した DMACのチャネルは、以下制限を満たすよう DMACの割り込み優

先順位を設定してください。

*制限:使用する DMAC割り込みの優先順位

入力データ転送に使用するチャネル > 出力データ転送に使用するチャネル

DMACの各チャネルの割り込み優先順位は、

/Device/Config/r_dmac_cfg.hのマクロ定義”DMACn_INT_PRIORITY(n=0~3)”で設定できます。

例:入力にチャネル 1、出力にチャネル 2を使う場合

#define DMAC1_INT_PRIORITY (0) /// (set to 0 to 3, 0 is highest priority.)

#define DMAC2_INT_PRIORITY (3) /// (set to 0 to 3, 0 is highest priority.)

Page 46: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 46 of 48 Jan.15.2020

6. トラブルシューティング

6.1 ビルドエラーが発生する

A-1)インクルードディレクトリが設定されていますか?

EWARMをご使用の場合、下記の例の様にインクルードディレクトリを設定することを推奨します。

IDEのオプション [C/C++コンパイラ] -> [プリプロセッサ]から設定ができます。

6.2 CMSIS ドライバの APIをコールすると HardFault Errorが発生する

A) APIの RAM展開ができていない可能性があります。

RAM上に配置した APIをコールする前に R_SYS_CodeCopy関数にて APIを RAM展開しているか確認してくだ

さい。詳細は関連ドキュメント No. R01AN4660をご参照ください。

6.3 APIを呼び出しているが周辺機能が動作しない

A) APIの設定が問題無くできていますか?

APIの戻り値を確認し、エラー値が返っていないかをご確認ください。

特にr_system_cfg.hの割り込み設定がされていないことでエラー値が返っている事例が多く発生していま

す。詳細は関連ドキュメント No. R01AN4660をご参照ください。

6.4 APIの戻り値は正常であるが、周辺機能から端子出力が行われない

A) 端子設定は正しいでしょうか?

pin.cの中にある関数にて端子設定が正しく行えているか確認してください。

詳細は関連ドキュメント No. R01AN4660をご参照ください。

6.5 周辺機能の入力または出力が期待通り動作しない

A)周辺機能を初期設定する前に VOCRレジスタの設定が行えているか確認してください。

詳細は関連ドキュメント No. R01AN4660をご参照ください。

Page 47: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 47 of 48 Jan.15.2020

7. サンプルコード

サンプルコードは、ルネサス エレクトロニクスホームページから入手してください。

8. 参考ドキュメント

ユーザーズマニュアル:ハードウェア

RE01 1500KBグループ ユーザーズマニュアル ハードウェア編 R01UH0796

(最新版をルネサス エレクトロニクスホームページから入手してください。)

RE01 1500KB CMSIS Packageスタートアップガイド

RE01 1500KBグループ CMSIS パッケージを用いた開発スタートアップガイド R01AN4660

(最新版をルネサス エレクトロニクスホームページから入手してください。)

テクニカルアップデート/テクニカルニュース

(最新の情報をルネサス エレクトロニクスホームページから入手してください。)

ユーザーズマニュアル:開発環境

(最新版をルネサス エレクトロニクスホームページから入手してください。)

Page 48: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

RE01 1500KB グループ R_GDT ドライバサンプルコード(using CMSIS Driver Package) CMSIS Driver Package R_GDT サンプルコード

R01AN4755JJ0101 Rev.1.01 Page 48 of 48 Jan.15.2020

改訂記録

Rev. 発行日

改訂内容

ページ ポイント

1.00 Aug.19.2019 初版発行

1.01 Jan.15.2020 プログラム GDTドライバを Ver.1.00bに更新

内部関数 v_gdt_cpuline_byte_rd_gdt_limitの不備を暫定的に

修正

Page 49: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

製品ご使用上の注意事項 ここでは、マイコン製品全体に適用する「使用上の注意事項」について説明します。個別の使用上の注意事項については、本ドキュメントおよびテク

ニカルアップデートを参照してください。

1. 静電気対策

CMOS製品の取り扱いの際は静電気防止を心がけてください。CMOS製品は強い静電気によってゲート絶縁破壊を生じることがあります。運搬や保存の

際には、当社が出荷梱包に使用している導電性のトレーやマガジンケース、導電性の緩衝材、金属ケースなどを利用し、組み立て工程にはアースを施

してください。プラスチック板上に放置したり、端子を触ったりしないでください。また、CMOS製品を実装したボードについても同様の扱いをして

ください。

2. 電源投入時の処置

電源投入時は、製品の状態は不定です。電源投入時には、LSI の内部回路の状態は不確定であり、レジスタの設定や各端子の状態は不定です。外部リ

セット端子でリセットする製品の場合、電源投入からリセットが有効になるまでの期間、端子の状態は保証できません。同様に、内蔵パワーオンリセッ

ト機能を使用してリセットする製品の場合、電源投入からリセットのかかる一定電圧に達するまでの期間、端子の状態は保証できません。

3. 電源オフ時における入力信号

当該製品の電源がオフ状態のときに、入力信号や入出力プルアップ電源を入れないでください。入力信号や入出力プルアップ電源からの電流注入によ

り、誤動作を引き起こしたり、異常電流が流れ内部素子を劣化させたりする場合があります。資料中に「電源オフ時における入力信号」についての記

載のある製品は、その内容を守ってください。

4. 未使用端子の処理

未使用端子は、「未使用端子の処理」に従って処理してください。CMOS 製品の入力端子のインピーダンスは、一般に、ハイインピーダンスとなって

います。未使用端子を開放状態で動作させると、誘導現象により、LSI周辺のノイズが印加され、LSI 内部で貫通電流が流れたり、入力信号と認識さ

れて誤動作を起こす恐れがあります。

5. クロックについて

リセット時は、クロックが安定した後、リセットを解除してください。プログラム実行中のクロック切り替え時は、切り替え先クロックが安定した後

に切り替えてください。リセット時、外部発振子(または外部発振回路)を用いたクロックで動作を開始するシステムでは、クロックが十分安定した

後、リセットを解除してください。また、プログラムの途中で外部発振子(または外部発振回路)を用いたクロックに切り替える場合は、切り替え先

のクロックが十分安定してから切り替えてください。

6. 入力端子の印加波形

入力ノイズや反射波による波形歪みは誤動作の原因になりますので注意してください。CMOS製品の入力がノイズなどに起因して、VIL(Max.)から VIH

(Min.)までの領域にとどまるような場合は、誤動作を引き起こす恐れがあります。入力レベルが固定の場合はもちろん、VIL(Max.)から VIH(Min.)

までの領域を通過する遷移期間中にチャタリングノイズなどが入らないように使用してください。

7. リザーブアドレス(予約領域)のアクセス禁止

リザーブアドレス(予約領域)のアクセスを禁止します。アドレス領域には、将来の拡張機能用に割り付けられている リザーブアドレス(予約領域)

があります。これらのアドレスをアクセスしたときの動作については、保証できませんので、アクセスしないようにしてください。

8. 製品間の相違について

型名の異なる製品に変更する場合は、製品型名ごとにシステム評価試験を実施してください。同じグループのマイコンでも型名が違うと、フラッシュ

メモリ、レイアウトパターンの相違などにより、電気的特性の範囲で、特性値、動作マージン、ノイズ耐量、ノイズ幅射量などが異なる場合がありま

す。型名が違う製品に変更する場合は、個々の製品ごとにシステム評価試験を実施してください。

Page 50: RE01 1500KBグループ R GDTドライバサンプルコード(using … · アプリケーションノート R01AN4755JJ0101 Rev.1.01 Page 1 of 48 Jan.15.2020 RE01 1500KB グループ

© 2020 Renesas Electronics Corporation. All rights reserved.

ご注意書き 1. 本資料に記載された回路、ソフトウェアおよびこれらに関連する情報は、半導体製品の動作例、応用例を説明するものです。お客様の機器・システム

の設計において、回路、ソフトウェアおよびこれらに関連する情報を使用する場合には、お客様の責任において行ってください。これらの使用に起因

して生じた損害(お客様または第三者いずれに生じた損害も含みます。以下同じです。)に関し、当社は、一切その責任を負いません。

2. 当社製品、本資料に記載された製品デ-タ、図、表、プログラム、アルゴリズム、応用回路例等の情報の使用に起因して発生した第三者の特許権、著

作権その他の知的財産権に対する侵害またはこれらに関する紛争について、当社は、何らの保証を行うものではなく、また責任を負うものではありま

せん。

3. 当社は、本資料に基づき当社または第三者の特許権、著作権その他の知的財産権を何ら許諾するものではありません。

4. 当社製品を、全部または一部を問わず、改造、改変、複製、リバースエンジニアリング、その他、不適切に使用しないでください。かかる改造、改変、

複製、リバースエンジニアリング等により生じた損害に関し、当社は、一切その責任を負いません。

5. 当社は、当社製品の品質水準を「標準水準」および「高品質水準」に分類しており、各品質水準は、以下に示す用途に製品が使用されることを意図し

ております。

標準水準: コンピュータ、OA機器、通信機器、計測機器、AV機器、家電、工作機械、パーソナル機器、産業用ロボット等

高品質水準: 輸送機器(自動車、電車、船舶等)、交通制御(信号)、大規模通信機器、金融端末基幹システム、各種安全制御装置等

当社製品は、データシート等により高信頼性、Harsh environment向け製品と定義しているものを除き、直接生命・身体に危害を及ぼす可能性のある

機器・システム(生命維持装置、人体に埋め込み使用するもの等)、もしくは多大な物的損害を発生させるおそれのある機器・システム(宇宙機器と、

海底中継器、原子力制御システム、航空機制御システム、プラント基幹システム、軍事機器等)に使用されることを意図しておらず、これらの用途に

使用することは想定していません。たとえ、当社が想定していない用途に当社製品を使用したことにより損害が生じても、当社は一切その責任を負い

ません。

6. 当社製品をご使用の際は、最新の製品情報(データシート、ユーザーズマニュアル、アプリケーションノート、信頼性ハンドブックに記載の「半導体

デバイスの使用上の一般的な注意事項」等)をご確認の上、当社が指定する最大定格、動作電源電圧範囲、放熱特性、実装条件その他指定条件の範囲

内でご使用ください。指定条件の範囲を超えて当社製品をご使用された場合の故障、誤動作の不具合および事故につきましては、当社は、一切その責

任を負いません。

7. 当社は、当社製品の品質および信頼性の向上に努めていますが、半導体製品はある確率で故障が発生したり、使用条件によっては誤動作したりする場

合があります。また、当社製品は、データシート等において高信頼性、Harsh environment向け製品と定義しているものを除き、耐放射線設計を行っ

ておりません。仮に当社製品の故障または誤動作が生じた場合であっても、人身事故、火災事故その他社会的損害等を生じさせないよう、お客様の責

任において、冗長設計、延焼対策設計、誤動作防止設計等の安全設計およびエージング処理等、お客様の機器・システムとしての出荷保証を行ってく

ださい。特に、マイコンソフトウェアは、単独での検証は困難なため、お客様の機器・システムとしての安全検証をお客様の責任で行ってください。

8. 当社製品の環境適合性等の詳細につきましては、製品個別に必ず当社営業窓口までお問合せください。ご使用に際しては、特定の物質の含有・使用を

規制する RoHS指令等、適用される環境関連法令を十分調査のうえ、かかる法令に適合するようご使用ください。かかる法令を遵守しないことにより

生じた損害に関して、当社は、一切その責任を負いません。

9. 当社製品および技術を国内外の法令および規則により製造・使用・販売を禁止されている機器・システムに使用することはできません。当社製品およ

び技術を輸出、販売または移転等する場合は、「外国為替及び外国貿易法」その他日本国および適用される外国の輸出管理関連法規を遵守し、それら

の定めるところに従い必要な手続きを行ってください。

10. お客様が当社製品を第三者に転売等される場合には、事前に当該第三者に対して、本ご注意書き記載の諸条件を通知する責任を負うものといたします。

11. 本資料の全部または一部を当社の文書による事前の承諾を得ることなく転載または複製することを禁じます。

12. 本資料に記載されている内容または当社製品についてご不明な点がございましたら、当社の営業担当者までお問合せください。

注 1. 本資料において使用されている「当社」とは、ルネサス エレクトロニクス株式会社およびルネサス エレクトロニクス株式会社が直接的、間接的に

支配する会社をいいます。

注 2. 本資料において使用されている「当社製品」とは、注 1において定義された当社の開発、製造製品をいいます。

(Rev.4.0-1 2017.11)

本社所在地 お問合せ窓口 〒135-0061 東京都江東区豊洲 3-2-24(豊洲フォレシア)

www.renesas.com

弊社の製品や技術、ドキュメントの最新情報、最寄の営業お問合せ窓口

に関する情報などは、弊社ウェブサイトをご覧ください。

www.renesas.com/contact/

商標について

ルネサスおよびルネサスロゴはルネサス エレクトロニクス株式会社の

商標です。すべての商標および登録商標は、それぞれの所有者に帰属し

ます。