Rev 1.20.00

Renesas RZ/A1H 用サンプル(ARMCC ベアメタル版)の説明（EV-RX/RZ-xx＋MP-RZA1H/FPGA-xx 対応)
１．Sample の免責について
・Sample に関する Tel/Fax でのご質問に関してはお受けできません。ただし、メールでのご質問に関してはお答えするよう努力はしますが、都合によりお答えできない場合もありますので予めご了承願います。
・Sample ソフトの不具合が発見された場合の対応義務はありません。また、この関連ソフトの使用方法に関する質問の回答義務もありませんので承知の上ご利用下さい。
・Sample ソフトは、無保証で提供されているものであり、その適用可能性も含めて，いかなる保証も行いません。また，本ソフトウェアの利用により直接的または間接的に生じたいかなる損害に関しても，その責任を負わないものとします。
２．サンプル（ベアメタル版）のプロジェクト名

USER_debug_rz
EVrxRZ_Sample
EVrxRZ_Sample_USB

統合開発環境DS-5(バージョン 5.20.2)

サンプルプロジェクト名MCU 基板(MP-RZA1H/FPGA-*)
単体サンプル
MCU 基板(MP-RZA1H/FPGA-*)
評価用基板(EV-RX/RZ-*)用サンプル
MCU 基板(MP-RZA1H/FPGA-*)
評価用基板(EV-RX/RZ-*)
USB-Function 機能を追加したサンプル

ソース公開
ソース公開
実行ファイ
ルのみ添付

コンパイラー
armcc(バージョン 5.05)

C ソ－スに#ifdef 等のマクロ定義している場合に使用します。
注＊１__USED_DEFnano__=x
ITF_LIBARMC

x = DEFnano を使用[1]する・[0]しない。
USB-Function 使用時に定義
USB-Function 使用時に定義

ASM ソ－スに IF 等のマクロ定義している場合に使用します。
注＊１--pd="__USED_DEFnano__ EQU x"

x = DEFnano を使用[1]する・[0]しない。

サンプルプロジェクト別に必要なマクロ定義例
EVrxRZ_Sample
EVrxRZ_Sample_USB

ITF_LIBARMC

注＊１「__USED_DEFnano__=0」と使用しない側に定義しても内蔵 RAM へのダウンロードとシリア
ルフラッシュ ROM への書き込み操作は可能です。ただし、再操作する場合はターゲット側のリセット操作が必要になります。

1

２－１．
「USER_debug_rz」プロジェクトの説明
１）USER_debug_rz の動作・デバッグツール「DEFnano」等にて「USE_debug_rz.axf」をダウンロードして実行させる。
・基板上の LED をメインループ 200 回ごとに LED3 を点滅
・基板上の LED を OS タイマー割り込みにより LED4 を 20msec 毎に点滅
・電源 DWN 検出 LED1 を点灯、FRAM に内蔵 RAM[0x2000_0000]から Size[0x8000]書き込む
２）フォルダ構成とファイル名
Sample_ARMC¥USER_debug_rz
Debug
ビルドにより生成された実行ファイル等が格納される場所scatter_file scatter.scat
ロケート定義用スキャッタファイル
scriptdwl_Debug.ds
ULINK のダウンロード用スクリプト
ini_Debug.ds
ULINK の初期化用スクリプト
rst_Debug.ds
ULINK のターゲットリセット用スクリプト
src_appinc
src_app のインクルード用ディレクトリ
main.c
メイン処理
board_d.c
LED・SW 等の処理ソフト
ostm_d.cOS タイマー処理ソフト

src_syssfram.cspibsc.cinc_vector_table_s.s_init_handler_s.s_rst_handler_s.s
resetprg.c
intc_table.c
interrupt.c
Umonitor.c

FRAM の初期化と read/write 処理
SPIBSC の初期化と read 処理
src_sys のインクルード用ディレクトリ
リセットベクターテーブル
割り込みハンドラー処理
リセット時の ARM 初期化処理
システム初期化と CPG 初期化処理
IRQ ベクターテーブル
割り込みコントロール処理
デバッグモニター処理

３）動作構成CN8 デバッガ用
USB Type mini-B
USB HID クラス
SW1(DEBUG)
1 番 OFF
2 番 OFF

LED1
LED2
LED3
LED4

DC5V 入力
1. +5V
2. GND

MCU 基板MP-RZA1H/FPGA-xx

2SW4(MODE)
1 番 OFF２－２．
「EVrxRZ_Sample」プロジェクトの説明
１）動作説明・Tera Term からのコマンド指示により各デバイスを動作させる。
・各コマンド体系は後記にて説明します。
２）フォルダ構成とファイル名
Sample_ARMC¥EV-RXRZ¥EVrxRZ_Sample
Debug
ビルドにより生成された実行ファイル等が格納される場所
scatter_file scatter.scat
ロケート定義用スキャッタファイル
scriptdwl_Sample.ds
ULINK のダウンロード用スクリプト
ini_Sample.ds
ULINK の初期化用スクリプト
rst_Sample.ds
ULINK のターゲットリセット用スクリプト
src_appinc
src_app のインクルード用ディレクトリ
main_s.c
メイン処理
board.c
LED・SW 等の処理ソフト
bsc.c
BSC 初期化処理
ostm_s.c
OS タイマー処理ソフト
rtc.c
RTC の初期化と処理ソフト
sfram.c
FRAM の初期化と read/write 処理
spibsc.c
SPIBSC の初期化と read 処理
command.c
コマンド処理src_evaincsrc_eva のインクルード用ディレクトリ
e2p.c
EEPROM の read/write 処理
riic_comm.c
RIIC の初期化と read/write 処理
rscan.c
RSCAN の初期化と read/write 処理
sci_comm.c
SCI の初期化と read/write 処理
usb_func.c
ITF_USBLib の使用サンプル
src_sysincsrc_sys のインクルード用ディレクトリ
_vector_table_s.s リセットベクターテーブル_init_handler_s.s 割り込みハンドラー処理_rst_handler_s.s リセット時の ARM 初期化処理
resetprg.c
システム初期化と CPG 初期化処理
intc_table.c
IRQ ベクターテーブル
interrupt.c
割り込みコントロール処理
lowsrc.c
低水準入出力関数
Umonitor.c
デバッグモニター処理

3３）コマンド実行を指示するため「TeraTerm Pro」をインストールする。
①「teraterm-4.80.exe」を検索してダウンロードする。
②PC にインストールし実行する③シリアルポートの設定

COM 番号は、PC 側でシリアル通信可能な番号を指定する。
115200BPS
8bit
none
1bitnoneの仕様にする。

④端末の設定USB シリアルコン
バータ使用時にCR コードがカットされる設定の場
合は、受信 ： LFにして下さい。

赤丸の設定にする。

4４）動作構成RS232C ポート
PC 機に接続

DC5V 入力
1. +5V
2. GND

デバッガ用USB

SW4(MODE)
1 番 OFF
評価基板
EV-RX/RZ-xx

MCU 基板MP-RZA1H/FPGA-xx

SW1(DEBUG)
1 番 OFF
2 番 OFF①PC 機と接続する RS232C ケーブルは、市販「クロスケーブル」でも可能です。
②USB-シリアル変換ケーブルを使用される場合は、「StarTech.com 社 ICUSB232FTN」を推奨③自作する場合は、下記の配線になります。
PC-Windows
DSUB 9pin
オス
1234
5678
9

EV-RX/RZ-xx
DSUB 9pin
オス
1NC
2RXD
3
TXD
4NC
5
GND
6NC
7RTS
8CTS
9NC

NC
RXD
TXD
DTR
GND
DSR
RTS
CTS
NC

④MCU 基板上の SW1(DEBUG)設定
SW1-1 OFF ベアメタル版では影響なし
SW1-2 OFF MP-RZA1H/FPGA-xx 用サンプルを指定⑤EV-RX/RZ-01 の JP 設定
JP1/JP22側JP4open(1/2/3)

5５）「EVrxRZ_Sample」プロジェクトのプログラムを MCU 基板にダウンロードして実行させます。

TeraTerm pro の画面にオープニングメッセージが表示されます。

「?」または「HELP」でHELP 画面を表示する。
「? 各コマンド」で個別表示

6

２－２－１．各コマンドの説明
LOOP コマンド
各コマンドを繰り返し実行させたい時に使用します。
LOOP ␣1⏎ // LOOP 指示
LOOP ␣0 ⏎ //LOOP 解除

␣記述はスペース表現とします。以下省略⏎記述はリターン表現とします。以下省略

LOOP 1 にてコマンド処理を繰り返し実行している時に「ESC」キー入力で中断します。
DATE コマンド
MCU 内蔵の RTC に年月日曜を設定します。
DATE ␣年␣月␣日␣曜日 ⏎ // DATE␣2015␣4␣5␣0 2015/4/5 日曜日// 曜日 0:日 1:月 2:火 3;水 4:木 5:金 6:土
DATE ⏎// 現設定データを表示
TIME コマンド
MCU 内蔵の RTC に時間を設定します。
TIME␣時␣分␣秒⏎
TIME⏎// TIME␣9␣0␣0
9時 0分 0秒//現設定データを表示

MEM1 コマンド
メモリーを 8bit アクセスで Read/Write/FILL/インクリメント FILL します。
MEM2 コマンド
メモリーを 16nit アクセスで Read/Write/FILL/インクリメント FILL します。
MEM4 コマンド
メモリーを 32bit アクセスで Read/Write/FILL/インクリメント FILL します。
MEM{1/2/4}␣{R/F/I/W}␣先頭アドレス␣サイズ␣{パターン}⏎{READ}
MEM1␣R␣0x2000_0000␣0x100⏎ // 0x2000_0000 から 0x100 要素分 8bit ダンプ
MEM2␣R␣0x2000_0000␣0x100⏎ // 0x2000_0000 から 0x100 要素分 16bit ダンプ
MEM4␣R␣0x2000_0000␣0x100⏎ // 0x2000_0000 から 0x100 要素分 32bit ダンプ{FILL}
MEM1␣F␣0x2000_0000␣0x100␣0⏎ // 0x2000_0000 から 0x100 要素分(0)8bitFILL
MEM2␣F␣0x2000_0000␣0x100␣0⏎ // 0x2000_0000 から 0x100 要素分(0)16bitFILL
MEM4␣F␣0x2000_0000␣0x100␣0⏎ // 0x2000_0000 から 0x100 要素分(0)32bitFILL{Increment FILL}
MEM1␣I␣0x2000_0000␣0x100␣0⏎ // 0x2000_0000 から 0x100 要素分(0++)8bitFILL
MEM2␣I␣0x2000_0000␣0x100␣0⏎ // 0x2000_0000 から 0x100 要素分(0++)16bitFILL
MEM4␣I␣0x2000_0000␣0x100␣0⏎ // 0x2000_0000 から 0x100 要素分(0++)32bitFILL{WRITE}
MEM1␣W␣0x2000_0000␣0x12⏎// 0x2000_0000 に 0x12 を Write
MEM2␣W␣0x2000_0000␣0x1234⏎// 0x2000_0000 に 0x1234 を Write
MEM4␣W␣0x2000_0000␣012345678⏎ // 0x2000_0000 に 0x12345678 を Write7

{Read Only Memory アドレス}
・シリアルフラッシュ ROM エリア
・内蔵 RAM エリア{0x1800_0000 ～0x18FF_FFFF}{0x2002_0000 ～0x209F_FFFF}{Read/Write Memory アドレス}
・MCU 内蔵 RAM エリア
・FPGA 側 I/O エリア
・FPGA 内蔵 RAM エリア
・MCU 内蔵周辺モジュール{0x2000_0000 ～0x2001_FFFF}{0x4800_0000 ～0x4800_7FFF}{0x4800_8000 ～0x4800_BFFF}{周辺モジュールの仕様による}

FRAM コマンド
FRAM の内容を内蔵メモリーに Read します。また、内蔵 RAM の内容を FRAM に Writeします。
{READ}
FRAM␣R␣FRAM アドレス␣Store アドレス␣サイズex)
FRAM␣R␣0x0␣0x2000_0000␣0x8000
FRAM アドレス(0x0)からサイズ(0x8000)分 Store アドレス(0x2000_0000)に Read します。
{WRITE}
FRAM␣W␣FRAM アドレス␣Memory アドレス␣サイズex)
FRAM␣W␣0x0␣0x2000_0000␣0x8000
FRAM アドレス(0x0)に Memory アドレス(0x2000_0000)からサイズ(0x8000)分 Write します。
・FRAM アドレス
・Store アドレス
・Memory アドレス

{0x0 ～0x7FFF}{0x2000_0000 ～0x2001_FFFF}{0x2000_0000 ～0x209F_FFFF}

SWM コマンドMCU 側が制御している DIP-SW1 の状態を表示します。
SWM⏎ex)MCU DIP-SW1_1[ON/OFF] SW1_2[ON/OFF] SW1_3[ON/OFF] SW1_4[ON/OFF]
LEDM コマンド
MCU 側で制御している LED1/2/3 を点灯・消灯します。
LEDM␣{0/1}␣{0/1}␣{0/1}⏎// LEDM {LED1} {LED2} {LED3} 0:消灯 1:点灯

8

WDOG コマンド
WDOG タイマーを起動させ MCU リセットさせます。
MCU リセット後は、電源を再立ち上げして下さい。
DELAY コマンド
MCU 内部で利用している 1usec タイマーの精度を計るため LED1 を点滅させます。
DELAY␣{Time 値}usec⏎①LED1{time 値}②LED1{time 値}③LED1{time 値}④LED1{10msec}// DELAY 10⏎ 10usec の精度

点灯
消灯
点灯
消灯

STB コマンドソフトウェア・スタンバイ・モードに移行させます。
STB 後は、電源を再立ち上げして下さい。
Power Down(NMI 処理)
停電検出回路が有効になっている場合、電源 OFF 時に内蔵 RAM の内容を 32Kbyte 分
FRAM に Write します。
LED1 点灯
FRAM(0x0)から内蔵 RAM(0x2000_0000)の内容を 32Kbyte 分 Write する。
LED1 消灯
LED1 の点灯時間を計測することにより書き込み時間を得ることができます。
SWF コマンドFPGA 側が制御している DIP-SW2 の状態を表示します。
SWF⏎ex)FPGA/CPLD DIP-SW2_1[ON/OFF] SW2_2[ON/OFF]LEDF コマンド
FPGA 側で制御している LED5/6 を点灯・消灯します。
LEDF␣{0/1}␣{0/1}⏎// LEDF {LED5} {LED6} 0:消灯 1:点灯

RSCAN コマンド
RSCAN-3 の外部ループバックテスト機能を実行します。
RSCAN⏎ex)<TX> cnt[0] id[1] dlc[8] 00 01 02 03 04 05 06 07 // 00->07 数字を送信 data++<RX> cnt[0] id[1] dlc[8] 00 01 02 03 04 05 06 07 // 00->07 数字を受信

9

E2P コマンド
EEPROM の Read/Write 処理をします。
E2P␣{R/W}␣EEPROM アドレス␣{メモリアドレス}␣サイズ⏎{READ}
E2P␣R␣EEPROM アドレス␣サイズ⏎ex)
E2P␣0x0␣0x100⏎// EEPROM の 0x0 番地から 0x100 サイズ分ダンプ表示{WRITE}
E2P␣W␣EEPROM アドレス␣メモリアドレス␣サイズex)
E2P␣W␣0x0␣0x2000_0000␣0x80// EEPROM の 0x0 番地に 0x2000_0000 番地の内// 容を 0x80 サイズ分 Write
この EEPROM は、MAC アドレス内蔵の EEPROM です。
EEPROM の(0x80~0xFF)は、ライトプロテクトになっていますので Write できません。
MAC アドレスは、【0xFA~0xFF】の 6 バイトに格納してあります。
{Read Only Memory アドレス}
・EEPROM エリア
・内蔵 RAM エリア{0x80 ～0xFF}{0x2002_0000 ～0x209F_FFFF}{Write Memory アドレス}
・EEPROM エリア
・内蔵 RAM エリア{0x0 ～0x7F}{0x2000_0000 ～0x2001_FFFF}

KEY 操作
簡単な 1 ラインエディタ機能を入れてあります。
・BS・←
・→
・↑
・ESC

バックスペース
左にカーソル移動
右にカーソル移動
1 回前に入力した内容のリコール
コマンド処理中の中断

10

２－３．
「EVrxRZ_Sample_USB」プロジェクトの説明
１）動作説明・EVrxRZ_Sample に USB-Function 機能を追加したプロジェクトになります。
・各コマンド体系は、２－２項を参照して下さい。
・USB-Function ライブラリーは、別途有償にて提供しております。ご購入前の評価用として実行用ファイルは添付しております。
２）フォルダ構成とファイル名(評価用)
Sample_ARMC¥_
EV-RXRZ¥_EVrxRZ_USB
EVrxRZ_Sample.USB.mot 実行用 Hex ファイル
_PC_Test
ITF_USB_TEST..EXE
PC 用テストプログラム
DRIVER¥ITFUSBLib
PC 側 USB ドライバー
３）フォルダ構成とファイル名(有償用) ご購入 ITFUSBLib_RZA1H_xx を添付
Sample_ARMC¥EV-RXRZ¥EVrxRZ_Sample_USB
Debug
ビルドにより生成された実行ファイル等が格納される場所
ITF_LIB
空ReadMe.txt
ITF_LIB オリジナル CD からのインポート
手順書
scatter_file scatter.scat
ロケート定義用スキャッタファイル
scriptdwl_Sample.ds
ULINK のダウンロード用スクリプト
ini_Sample.ds
ULINK の初期化用スクリプト
rst_Sample.ds
ULINK のターゲットリセット用スクリプト
lnk_app空EVrxRZ_Sample¥src_app にリンク
lnk_eva空
EVrxRZ_Sample¥src_eva にリンク
lnk_sys空
EVrxRZ_Sample¥src_sys にリンク
無償評価用「EVrxRZ_Sample_USB」に黄色部分(有償)をインポートします。

11４）ITF_LIB オリジナル CD（有償）からサンプル CD にインポートする手順
ａ．サンプル CD「EVrxRZ_Sample_USB」を PC 機の「EVrxRZ_Sample」と同じフォルダに全 Copy します。または、「Sample_ARMC.zip」を適当なフォルダで解凍します。
ｂ．２）表の黄色部は、空ディレクトリになっていますので、ITF_LIB オリジナル CD から必要なファイルを Copy します。
ITF_LIB オリジナル CD
ITF_LIBi¥Include
ITF_LIB¥ITF_Include
ITF_LIB¥ITFUSBLIB_xx.a

サンプル(EVrxRZ_Sample_USB)
ITF_LIB¥Include
ITF_LIB¥ITF_Include
ITF_LIB¥ITFUSBLIB_xx.a

上記のように ITF_LIB オリジナル CD から、サンプル「EVrxRZ_Sample_USB¥ITF_LIB」の空ディレクトリに Copy して下さい。

12５）動作構成（電源 OFF）
DC5V 入力
1. +5V
2. GND★USB-Function
評価用 USB

RS232C ポート
PC 機に接続

デバッガ用USB
SW4(MODE)
1 番 OFF

SW1(DEBUG)
1 番 OFF
2 番 OFF６）動作手順ａ．ターゲット基板側の電源 OFF の状態で上図の★USB-Function 評価用 USB ケーブル以外を接続する。
ｂ．ターゲット基板側の電源を ON にする。
ｃ．デバッガ「DEFnano」を立ち上げる。
ｄ．デバッガ「DEFnano」画面の左下隅の「Start」をクリックする。
ｅ．デバッガ「DEFnano」の【オプション】－【フラッシュ ROM ライター】を起動する。
ｆ．無償評価用 Hex ファイル「EVrxRZ_Sample_USB.mot」をシリアルフラッシュ ROM へ書き込みをする。
ｇ．ターゲット側の電源を OFF にする。
ｈ．デバッガ用 USB ケーブルを抜き取る。
ｉ．★USB-Function 評価用 USB ケーブルを PC 機に接続する。
ｊ．RS232C ケーブルが PC 機に接続されているのを確認後、「TeraTerm pro」を起動する。
ｋ．ターゲット基板側の電源を ON にする。

TeraTerm pro の起動画面

13

ｌ．Windows が、USB ドラーバーのインストールを要求しますので USB-Driver をインストールする。
「Sample_ARMC¥_PC_Test¥ DRIVER¥ITFUSBLib」にドライバーがあります。
ｍ．TeraTerm pro 画面でコマンド「USBF⏎」を入力する。
ｎ．Windows 側のテストプログラム「ITF_USB_TEST.EXE」を起動する。

リストに無い場合は、「Update」をクリック

COMx INTERFACE USB Virtual COM Port for RZA1Hを選択する。

④テスト終了は、「Close」
をクリック①「Open」
クリック②連続実行を☑

③バイナリ 0~0xFF まで指定
Size 分送受信のループバック
テストを繰り返します。
以上です。

14

３．注意事項
・本文書の著作権は、エーワン（株）が保有します。
・本文書を無断での転載は一切禁止します。
・本文書に記載されている内容についての質問やサポートはお受けすることが出来ません。
・本サンプルプログラムに関して、インターフェイス社、ARM 社、ルネサス エレクトロニク
ス社への問い合わせは御遠慮願います。
・本文書の内容に従い、サンプルソフトを使用した結果、不具合が発生しても、弊社では一切の責任は負わないものとします。
・本文書の内容に関して、万全を期して作成しましたが、ご不審な点、誤りなどの点がありましたら弊社までご連絡くだされば幸いです。
・本文書の内容は、予告なしに変更されることがあります。
４．商標
・ARM DS-5 は、ARM 社の登録商標、または商品名称です。
・RZ および RZ/A1H は、ルネサス エレクトロニクス株式会社の登録商標、または商品名です。
・その他の会社名、製品名は、各社の登録商標または商標です。
５．参考文献・「RZ/A1H グループ ユーザーズマニュアル ハードウェア編」
ルネサス エレクトロニクス株式会社
・ルネサス エレクトロニクス株式会社提供のサンプル集
・「armcc ユーザガイド DUI 0472JJ」 ARM 社
・「アセンブラの使用 DUI 0473GJ」 ARM 社
・「リンカの使用 DUI 0474GJ」 ARM 社
・「コンパイラリファレンスガイド DUI 0328BJ」 ARM 社
・「アセンブラリファレンス DUI 0489GJ」 ARM 社
・「armkink リファレンスガイド DUI 0804AJ」 ARM 社
・その他〒486-0852
愛知県春日井市下市場町 6-9-20
エーワン株式会社

http://www.robin-w.com

15