RL78/I1Eコード生成
RL78/I1E + 脈拍センサデモ
コンフィギュラブル・アンプ使用例
文書番号 R20UT3745JJ0110
ブロードベースソリューション事業部 ソフトウェア技術部
ルネサス エレクトロニクス株式会社「コード生成」はクリック1 つで“かんたん”マイコン初期設定、開発工数を大幅削減する無償ツール。
CS+ , e2 studio向けにプラグインを提供中。

2018.06.04© 2018 Renesas Electronics Corporation. All rights reserved.

目次 コード生成概要

ページ 03

 汎用アンプを使ったデモ概要

ページ 05

 CS+でプロジェクト作成

ページ 07

 コード生成で周辺機能設定

ページ 09 ソースコードを自動生成

ページ 19

 プログラム編集

ページ 20 デバッグツールの設定

ページ 26

 プログラムの実行

ページ 28 e2 studioでプロジェクト作成

ページ 31

 e2 studioでプログラム編集

ページ 35 e2 studioでデバッグツールの設定

ページ 36© 2018 Renesas Electronics Corporation. All rights reserved.

ページ 2コード生成概要 (5つの特長)
 わかりやすいGUIによる操作で、クロックを意識せず使用したい実際の値（タイマ周期、シリアルのボーレート、等）が入力可能です。
 複数の周辺機能によるピン競合をチェックする機能、誤った設定値のチェック機能も装備しています。
 周辺機能の制御プログラム（デバイスドライバ）だけでなく、メイン関数とAPI関数も生成します。（ルネサスRL78ファミリ用コンパイラCC-RLに対応済み）
 設定した機能をファイル出力する充実したレポート機能
 マイコンに特化した周辺機能(LCD,アナログ系)のサポート© 2018 Renesas Electronics Corporation. All rights reserved.

ページ 3コード生成概要 (RLファミリ グループ別対応ツール一覧)
コード生成支援ツール

シリーズ

グループ

RL78/F1x

RL78/F12, RL78/F13, RL78/F14, RL78/F15

RL78/G1x

Applilet3 for RL78※1
AP4 for RL78※1

RL78/G10, RL78/G11, RL78/G12, RL78/G13,
RL78/G14, RL78/G1A, RL78/G1C, RL78/G1D,
RL78/G1E, RL78/G1F, RL78/G1G, RL78/G1H

RL78/I1x

RL78/I1A, RL78/I1B, RL78/I1D, RL78/I1E

RL78/L1x

RL78/L12, RL78/L13, RL78/L1C

Applilet3 for RL78※1

RL78/D1x

RL78/D1A

コード生成プラグイン(CS+, e2 studio)※1 AP4および Applilet は、スタンドアロンツールです。

製品情報の詳細は、以下のURLをご参照ください。
コード生成プラグイン http://japan.renesas.com/cg_pAP4, Applilet
http://japan.renesas.com/applilet© 2018 Renesas Electronics Corporation. All rights reserved.

ページ 4

汎用アンプを使ったデモ概要

CS+上でリアルタイムに脈拍をグラフ表示

センサで脈拍を検出するアンプで増幅した脈拍をグラフ表示する

3.プログラム編集
CS+

1.CS+ プロジェクト作成
2.コード生成で周辺機能設定© 2018 Renesas Electronics Corporation. All rights reserved.

ページ 5

5.実行

4.ビルド

汎用アンプを使ったデモ概要 (デモ全景)

CN2

AMP1O ANX0

ANI0

NJL5501R搭載 パルスオキシメータ用・反射型
ANX2

センサ DIP化モジュールキットを使って脈拍計測

CN2へ接続R6C3C4ANX3 AMP0O

1
2

R8

R7
R5
R4

R3

C2

C1 R2
R1
RL78/I1E

CN1へ接続RL78/I1Eのアンプを2つ使う

AE-NJL5501R※ AE-NJL5501Rは、株式会社秋月電子通商様の製品です
http://akizukidenshi.com/catalog/g/gK-09433/© 2018 Renesas Electronics Corporation. All rights reserved.

ページ 6

2
1

TI01

CN1

FB-R5F11CCC-TB

CS+でプロジェクト作成

1. CS+起動後に新しい

2. 使用するマイクロコントローラ

プロジェクトを作成する「RL78/I1E R5F11CCC(36pin)」を選択

3. プロジェクト名、作成場所を入力※ 開発環境としてCS+ for CA, CXで作成していますが、CS+ for CCでも同じ手順で作成できます。
© 2018 Renesas Electronics Corporation. All rights reserved.

ページ 7CS+でプロジェクト作成
5. コード生成のプロパティを開き

4. コード生成(設計ツール)「日本語(シフトJIS)」を選択のプロパティを開く

6. コード生成する際の文字フォーマット
がCS+V3.02より指定可能。CS+の場合、デフォルトがUTF-8© 2018 Renesas Electronics Corporation. All rights reserved.

ページ 8コード生成で周辺機能設定
1. 周辺機能を選択して設定2.周辺機能が表示され詳細設定を行う(このデモで使用する周辺機能)
このデモで設定する周辺機能
・共通/クロック発生回路はデフォルトの設定→ メイン・システム・クロック、高速オンチップ・オシレータ・クロック(fHOCO)
高速オンチップ・オシレータ(fHOCO) 32MHz
CPUと周辺クロック fHOCOを使用、 オンチップ・デバッグの設定
・タイマ・アレイ・ユニット→ インターバルタイマ、入力パルス間隔の設定
・ウォッチドッグタイマ→ デフォルトが「使用する」設定なので未使用とする
・A/Dコンバータ→ アンプ出力をA/D変換する
・コンフィギュラブル・アンプ→ 汎用アンプx2として使う© 2018 Renesas Electronics Corporation. All rights reserved.

ページ 9コード生成で周辺機能設定（ クロック発生回路はデフォルトで使用 )4.デフォルトで使用するので変更しない

3.クロック発生回路
をクリック© 2018 Renesas Electronics Corporation. All rights reserved.

コード生成で周辺機能設定（ オンチップ・デバッグ設定 )5. オンチップデバッグ設定
タブを開く

6. オンチップデバッグを使用する。
RRM/DMM機能を使用する。
RRMとはプログラム実行中に変数表示を行う機能のこと© 2018 Renesas Electronics Corporation. All rights reserved.

ページ 11

コード生成で周辺機能設定 （ タイマ・アレイ・ユニットの設定 ）インターバル・タイマ20ミリ秒A/D変換の間隔、入力
パルス間隔測定は脈拍のパルス間隔を計測します。

7.各チャネルで機能を選択

9.TI01へ入る信号を計測

8.チャネル0を20ミリ秒© 2018 Renesas Electronics Corporation. All rights reserved.

ページ 12

コード生成で周辺機能設定（ ウォッチドッグタイマは未使用 )10.ウォッチドッグタイマ
は使用しない© 2018 Renesas Electronics Corporation. All rights reserved.

ページ 13

コード生成で周辺機能設定 （ A/Dコンバータの設定 ）11. A/Dの設定

アンプからの出力をA/D入力(ANI0)へ© 2018 Renesas Electronics Corporation. All rights reserved.

ページ 14

コード生成で周辺機能設定 （ コンフィギュラブル・アンプ0の設定 )13. AMP0の設定+入力をANX1へ設定-入力をANX0へ設定

12. AMP0を使う© 2018 Renesas Electronics Corporation. All rights reserved.

ページ 15

コード生成で周辺機能設定 （ コンフィギュラブル・アンプ1の設定 )15. AMP1の設定+入力をANX1へ設定

14. AMP1を使う© 2018 Renesas Electronics Corporation. All rights reserved.

-入力をANX2へ設定

ページ 16

コード生成で周辺機能設定 （ ポート10の確認 ）16. P10の「 ! 」にマウスカーソルを合わせると、TI01で使われていることが表示される。

© 2018 Renesas Electronics Corporation. All rights reserved.

ページ 17

コード生成で周辺機能設定 （ 端子配置表で確認 ）17. 端子配置表で使っている周辺機能を確認

18. コンフィギュラブル・

20. A/Dコンバータ

アンプの状態を表示の状態を表示現在の端子状態の表をエクセルで出力19. 選択した周辺機能に応じて端子状態を表示© 2018 Renesas Electronics Corporation. All rights reserved.

ページ 18することも可能です。

ソースコードを自動生成 ( 生成されるソースファイルの種類 )生成されるソースファイル
1.「コードを生成する」を押下

・周辺機能の初期化と制御APIを含むもの
r_cg_周辺機能.c / .h
・周辺機能の割り込み関数を含むもの
r_cg_周辺機能_user.c・main()関数があるファイル
r_cg_main.c
・コード生成で使う変数型の定義など

2.ソースが生成され、プロジェクトツリーに登録される© 2018 Renesas Electronics Corporation. All rights reserved.

ページ 19r_cg_macrodriver.h・ユーザ用の共通定義するためのファイル
r_cg_userdefine.h

プログラム編集 ( ソースの記述方法 )1.ダブルクリックで
r_cg_main.c の編集

4.グローバル変数定義は、「コード生成」を実行しても、編集したユーザ
コードが消えることがありません。

/*********************************************************************************** File Name : r_cg_main.c* Version: Code Generator for RL78/I1E V1.02.00.06 [12 Aug 2015]* Device(s) : R5F11CCC* Tool-Chain : CA78K0R* Description : This file implements main function.
void R_MAIN_UserInit(void);* Creation Date: 2015/11/25/*************************************************************************
2.ユーザが記述可能なプラグマ**********************************************************************************/* Function Name: main
* Description : This function implements main function.
/*********************************************************************************
命令をこのコメント間に書く* Arguments : None
Pragma directive* Return Value : None*********************************************************************************/***************************************************************************/
5.mainは()、コード生成が出力/* Start user code for pragma. Do not edit comment generated here */void main(void){/* End user code. Do not edit comment generated here */R_MAIN_UserInit();/* Start user code. Do not edit comment generated here *//*********************************************************************************
while (1U)
Includes{*********************************************************************************/ 6.メインの処理を;#include "r_cg_macrodriver.h"}#include "r_cg_cgc.h"
このコメント間に記述3.追加したい#include/* End user code. Do not edit comment
generated here */#include "r_cg_port.h"}#include "r_cg_tau.h"/**************************************************************************
をこのコメント間に書く#include "r_cg_adc.h"* Function Name: R_MAIN_UserInit#include "r_cg_camp.h"* Description : This function adds user code before implementing main function.
/* Start user code for include. Do not edit comment generated here */* Arguments : None
* Return Value : None/* End user code. Do not edit comment generated here */***************************************************************************/#include "r_cg_userdefine.h"void R_MAIN_UserInit(void)
7.ユーザの初期化処理を{/*********************************************************************************/* Start user code. Do not edit comment generated here */Global variables and functions
このコメント間に記述
EI();**********************************************************************************//* End user code. Do not edit comment generated here *//* Start user code for global. Do not edit comment generated here */}/* End user code. Do not edit comment generated here */8.ユーザの追加する関数を/* Start user code for adding. Do not edit comment generated here *//* End user code. Do not edit comment generated here */このコメント間に書く© 2018 Renesas Electronics Corporation. All rights reserved.

指定コメント間にユーザコードを記述すれば、

ページ 20

このコメント間に記述

プログラム編集 ( r_cg_main.c )/*******************************************************
Global variables and functions********************************************************//* Start user code for global. Do not edit comment generated here */volatile uint16_t gAdResult;volatile uint16_t gtAdResult[ D_PLUSEMAX ];volatile uint16_t gPulse;/******************************************************* Function Name: R_MAIN_UserInit* Description : This function adds user code before implementing main function.
* Arguments : None
* Return Value :None*******************************************************/
void R_MAIN_UserInit(void){/* Start user code. Do not edit comment generated here */R_CAMP0_Start();// アンプ０開始
R_CAMP1_Start();// アンプ1開始
R_TAU0_Channel0_Start();// タイマチャネル０開始
R_TAU0_Channel1_Start();// タイマチャネル1開始
EI();/* End user code. Do not edit comment generated here */}// AD変換結果// 過去のAD変換結果を格納// 1分間の脈拍数/* End user code. Do not edit comment generated here */void R_MAIN_UserInit(void);/******************************************************** Function Name: main
* Description : This function implements main function.
* Arguments : None
* Return Value : None*******************************************************/
void main(void){
R_MAIN_UserInit();/* Start user code. Do not edit comment generated here */while (1U){;}/* End user code. Do not edit comment generated here */}© 2018 Renesas Electronics Corporation. All rights reserved.

プログラム追記部分

このページ以降のプログラム追記部分を記述してビルドすれば、デモプログラムが動作します。

ページ 21

プログラム編集 ( r_cg_userdefine.h )/******************************************************** File Name : r_cg_userdefine.h* Version: Code Generator for RL78/I1E V1.02.00.06 [12 Aug 2015]* Device(s) : R5F11CCC* Tool-Chain : CA78K0R* Description : This file includes user definition.
• Creation Date: 2015/12/17• *****************************************************/#ifndef _USER_DEF_H#define _USER_DEF_H/***********************************************************************************************************************
User definitions***********************************************************************************************************************//* Start user code for function. Do not edit comment generated here */#define D_PLUSEMAX

8// ADの変換結果を格納する大きさ/* End user code. Do not edit comment generated here */© 2018 Renesas Electronics Corporation. All rights reserved.

ページ 22

プログラム追記部分

プログラム編集 ( r_cg_ad_user.c )プログラム追記部分/******************************************************
Global variables and functions*******************************************************//* Start user code for global. Do not edit comment generated here */extern volatile uint16_t gAdResult;extern volatile uint16_t gtAdResult[ D_PLUSEMAX ];extern volatile uint16_t gPulse;/* End user code. Do not edit comment generated here *//******************************************************* Function Name: r_adc_interrupt
A/D変換終了割り込み関数* Description : None
* Arguments : None
(38μ秒ごとに変換が完了)* Return Value : None******************************************************/__interrupt static void r_adc_interrupt(void){/* Start user code. Do not edit comment generated
here */
A/D変換を停止させているが、チャネル０タイマでA/D変換を20ミリ秒ごとに起動している。
uint8_t i;
R_ADC_Stop();
R_ADC_Get_Result( &gAdResult );A/D変換値の取得// 過去 D_PLUSEMAX 分のA/D変換結果を gtAdResult バッファへ格納するfor ( i = (D_PLUSEMAX - 1); i > 0; i-- ){defineで定義された個数分、A/D変換結果を
gtAdResult[ i ] = gtAdResult[ i - 1 ];}バッファへ代入
gtAdResult[ 0 ] = gAdResult;}/* End user code. Do not edit comment generated here */© 2018 Renesas Electronics Corporation. All rights reserved.

ページ 23

プログラム編集 ( r_cg_tau_user.c )/***********************************************
Includes***********************************************/#include "r_cg_macrodriver.h"#include "r_cg_tau.h"/* Start user code for include. Do not edit comment
generated here */A/DのAPIを使うために追記#include "r_cg_adc.h"/* End user code. Do not edit comment generated here */#include "r_cg_userdefine.h"

カウンタ値が820だとすれば、/***********************************************
Global variables and functions
820x(977/1)=0.839秒のパルスになる***********************************************//* For TAU0_ch1 pulse measurement */volatile uint32_t g_tau0_ch1_width = 0U;/* Start user code for global. Do not edit comment generated here */extern volatile uint16_t gPulse;
volatile uint32_t g32ul;/* End user code. Do not edit comment generated here */************************************************* Function Name: r_tau0_channel0_interrupt* Description : This function INTTM00 interrupt service routine.
20ミリ秒毎に呼ばれる* Arguments : None
* Return Value : None
割り込み関数************************************************/__interrupt static void r_tau0_channel0_interrupt(void){/* Start user code. Do not edit comment generated here */R_ADC_Start();/* End user code. Do not edit comment generated here */}A/D変換を開始© 2018 Renesas Electronics Corporation. All rights reserved.

ページ 24

プログラム追記部分/************************************************
TI01に入力されたパルスの間隔を* Function Name: r_tau0_channel1_interrupt* Description : This function INTTM01 interrupt
service routine.
計測する割り込み関数* Arguments : None
* Return Value : None************************************************/__interrupt static void r_tau0_channel1_interrupt(void){if (1U == (TSR01 & _0001_TAU_OVERFLOW_OCCURS)) /* overflow occurs*/{
g_tau0_ch1_width = (uint32_t)(TDR01 + 1U) + 0x10000U;}
else
パルス間隔を計測したカウント値を表す変数{
g_tau0_ch1_width = (uint32_t)(TDR01 + 1U);}/* Start user code. Do not edit comment generated here */// 60sec = 60000msec, g_tau0_ch1_width = 977Hz counter// TPS0 = _00F0_TAU_CKM1_FCLK_15 → fclk/2^15 → 977Hz (fclk=32MHz)
g32ul = ( 60000ul * 100 ) / ( g_tau0_ch1_width * 102 );gPulse = (uint16_t)g32ul;}

一分間の脈拍数を計算/* End user code. Do not edit comment
generated here *//* Start user code for adding. Do not edit comment generated here *//* End user code. Do not edit comment generated here */プログラムのワンポイント (計算は整数で行うと早い)/************************************************* Function Name: r_tau0_channel1_interrupt* Description : This function INTTM01 interrupt service routine.
r_cg_tau_user.c、入力パルス* Arguments : None
* Return Value : None
間隔測定の割り込み関数************************************************/__interrupt static void r_tau0_channel1_interrupt(void){if (1U == (TSR01 & _0001_TAU_OVERFLOW_OCCURS)) /* overflow occurs */{g_tau0_ch1_width = (uint32_t)(TDR01 + 1U) + 0x10000U;}
else{
g_tau0_ch1_width= (uint32_t)(TDR01 + 1U);
P4.3を1にしている間}/* Start user code. Do
not edit comment generated here */の処理を波形で観測}/* End user code. Do not edit comment generated here */処理が終了したのでP4.3を0にする/* Start user code for adding. Do not edit comment generated here *//* End user code. Do not edit comment generated here */© 2018 Renesas Electronics Corporation. All rights reserved.

小数を使ったコードにすると下記のようになります。
fl → float
fl = 60 / ( 0.00102 * g_tau0_ch1_width );gPulse = (uint16_t)fl;
共に計算結果は同じですが、処理時間は8倍以上違います。下図は実際の処理時間。

P4.3 の波形を観測// 60sec = 60000msec, g_tau0_ch1_width = 977Hz counter// TPS0 = _00F0_TAU_CKM1_FCLK_15 → fclk/2^15 → 977Hz (fclk=32MHz)P4.3 = 1;
g32ul = ( 60000ul * 100 ) / ( g_tau0_ch1_width * 102 );gPulse = (uint16_t)g32ul;
P4.3 = 0;

一分間の脈拍数を計算するため、下記のコードを使っています。
g32ul → unsigned longg32ul = ( 60000ul * 100 ) / ( g_tau0_ch1_width * 102 );gPulse = (uint16_t)g32ul;

ページ 25

unsigned longで計算(3.6μ秒で完了)

floatで計算(約30μ秒かかる)

デバッグツールの設定 (E1エミュレータの設定)

2.E1から5Vを電源供給する

3.デバッグ実行中の表示更新
を100msごとに行う

1.デバッグツールはE1を選択し、プロパティを開く© 2018 Renesas Electronics Corporation. All rights reserved.

ページ 26

デバッグツールの設定 (ビルドしてダウンロード)
5.実行ボタンを押下

4.ビルドとデバッグを
１つのメニューで実行© 2018 Renesas Electronics Corporation. All rights reserved.

ページ 27

プログラムの実行( ウォッチ、解析グラフ※の設定 )1.gAdResult変数をウォッチ1と解析グラフに登録
2.マウスカーソルを変数に合わせて右クリック
でメニューを表示。ウォッチ1へ登録。gPulseとgtAdResultも同様にウォッチ1へ登録。
※ 解析グラフについては CubeSuite+ V2.02.00 統合開発環境 ユーザーズマニュアル 解析編[CS+ for CA,CX]
を以下のURLよりご参照ください。
http://japan.renesas.com/products/tools/ide/csp/Documentation.jsp© 2018 Renesas Electronics Corporation. All rights reserved.

ページ 28

プログラムの実行( 解析グラフの詳細設定 )4.表示更新を100msごとに行うので、グリッド単位を調整する。

5.グラフが中央に表示されるよう
3.プログラム解析のにオフセットを調整する

プロパティを開く© 2018 Renesas Electronics Corporation. All rights reserved.

ページ 29

プログラムの実行( プログラム実行中の表示 )6.プログラム実行中は解析グラフタブをクリックし、前面に表示させる

7.実行中も変数が更新される
gPulse
1分間の脈拍数
g_tau0_ch1_with
パルスカウント値

gAdResultの値がリアルタイム

8.グラフがスクロール表示

でグラフ表示される© 2018 Renesas Electronics Corporation. All rights reserved.

ページ 30e2 studioでプロジェクト作成

2.e2 studio起動

1.Workbenchを選択© 2018 Renesas Electronics Corporation. All rights reserved.

ページ 31e2 studioでプロジェクト作成
3.C Projectを新規作成

4.プロジェクト名、作成場所を入力

5.ツールチェインは
CC-RLを選択© 2018 Renesas Electronics Corporation. All rights reserved.

ページ 32e2 studioでプロジェクト作成
7.チェックする

6.ターゲットを選択© 2018 Renesas Electronics Corporation. All rights reserved.

ページ 33e2 studioでプロジェクト作成
コード生成で設定する内容について
・９～19ページを参照
8.「コードを生成する」を押下© 2018 Renesas Electronics Corporation. All rights reserved.

ページ 34e2 studioでプログラム編集

プログラム編集と内容について
・1９～24ページを参照
生成されるソースファイル
・周辺機能の初期化と制御APIを含むもの
r_cg_周辺機能.c / .h
・周辺機能の割り込み関数を含むもの
r_cg_周辺機能_user.c・main()関数があるファイル
r_cg_main.c
・コード生成で使う変数型の定義など
r_cg_macrodriver.h・ユーザ用の共通定義するためのファイル
r_cg_userdefine.h

ダブルクリックで編集

CC-RLデフォルトで用意されるファイル
cstart.asm, stkinit.asm → CC-RL用スタートアップ
iodefine.h© 2018 Renesas Electronics Corporation. All rights reserved.

ページ 35→ 周辺レジスタ定義ファイル

e2 studioでデバッグツールの設定

1.ツール設定ボタンを押下

3.プロジェクトのデバッグ

入力したプロジェクト名がアクティブ

設定を編集になっていることを確認する

2.実行/デバッグ設定© 2018 Renesas Electronics Corporation. All rights reserved.

ページ 36e2 studioでデバッグツールの設定
4.タブ変更5.タブ変更6.エミュレータから
電源を5V供給する© 2018 Renesas Electronics Corporation. All rights reserved.

ページ 37

e2 studioでデバッグツールの設定 (プロジェクトのビルド)
7.プロジェクト名をアクティブにして右クリックでメニュー表示

8.メニューよりプロジェクトのビルドを実行© 2018 Renesas Electronics Corporation. All rights reserved.

ページ 38

9.ビルドが開始、ビルド状況がコンソールへ表示される

e2 studioでデバッグツールの設定 (プロジェクトのダウンロード)
10.プロジェクト名.Hardware.Debug.launchを
アクティブにして右クリックでメニュー表示
12.デバッガが起動してダウンロード完了

11.メニューよりデバッグ→ 1プロジェクト名
HardwareDebugを実行© 2018 Renesas Electronics Corporation. All rights reserved.

ページ 39e2 studioでデバッグツールの設定 (監視式:実行時に表示したい変数の追加)
14. 選択した状態で右クリック
でメニューを表示

13. 変数をダブル

16.gAdResult, gPulse,

クリックして選択

gtAdResultの各変数を監視式として登録

15. メニューより監視式を追加© 2018 Renesas Electronics Corporation. All rights reserved.

を選択

ページ 40e2 studioでデバッグツールの設定 (監視式の設定)※この設定はデバッガ起動時に毎回行う必要があります

18.gAdResultをグラフ表示させる
17.プログラム実行中に表示したいのでチャートに追加を選択

色を赤に変更変数を登録するにはリアルタイム・
リフレッシュを選択© 2018 Renesas Electronics Corporation. All rights reserved.

19.グラフ表示

ページ 41e2 studioでデバッグツールの設定 (プログラムの実行)
21.プログラム実行中でも変数表示が更新される

20.プログラムを実行

gAdResult変数がリアル
タイムでグラフ表示される© 2018 Renesas Electronics Corporation. All rights reserved.

ページ 42

最後に他にもコード生成のガイドがあるので活用してください。
http://documentation.renesas.com/doc/products/tool/doc/r20ut3230jj0100_cg_guide.pdf© 2018 Renesas Electronics Corporation. All rights reserved.

ページ 43

改訂記録
Rev

発行日

内容

備考

1.00

2016.3.10

新規発行

1.10

2018.6.4

ページ11 オンチップデバッグ設定を追記
ページ22 r_cg_userdefine.hソース記載を追記© 2018 Renesas Electronics Corporation. All rights reserved.

ページ 44