32
アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD. 1 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説 https://www.apnet.co.jp ©2020 ALPHA PROJECT Co.,LTD 1. 概要 ...................................................................................................... 2 1.1 概要 .......................................................................................................................... 2 1.2 動作モード .................................................................................................................. 2 1.3 開発環境について ......................................................................................................... 4 1.4 ワークスペースについて................................................................................................. 4 2. サンプルプログラムの構成.......................................................................... 5 2.1 フォルダ構成 ............................................................................................................... 5 2.2 ファイル構成 ............................................................................................................... 6 3. AP-RZA-1A サンプルプログラム................................................................10 3.1 ビルド・デバッグ方法 .................................................................................................. 10 3.1.1 プロジェクトのインポート ...................................................................................... 10 3.1.2 プロジェクトのビルド ............................................................................................ 13 3.1.3 RAM 上でのデバッグ.............................................................................................. 14 3.1.4 ROM 上でのデバッグ ............................................................................................. 19 3.2 動作説明.................................................................................................................... 24 3.2.1 ブート処理 .......................................................................................................... 24 3.2.2 サンプルプログラム概要 ......................................................................................... 25 3.3 RAM 動作時のメモリマップ ........................................................................................... 30 3.4 ROM 動作時のメモリマップ ........................................................................................... 31 AP-RZA-1A (RZ/A1H CPU BOARD) ベアメタルサンプルプログラム(DS-5)解説 2.1 2020

AN1607 AP-RZA-1A (RZ/A1H CPU BOARD) ベアメタ …アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.3 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: AN1607 AP-RZA-1A (RZ/A1H CPU BOARD) ベアメタ …アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.3 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説

アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.

1 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説 https://www.apnet.co.jp ©2020 ALPHA PROJECT Co.,LTD

1. 概要 ...................................................................................................... 2

1.1 概要 .......................................................................................................................... 2 1.2 動作モード .................................................................................................................. 2 1.3 開発環境について ......................................................................................................... 4 1.4 ワークスペースについて................................................................................................. 4

2. サンプルプログラムの構成 .......................................................................... 5

2.1 フォルダ構成 ............................................................................................................... 5 2.2 ファイル構成 ............................................................................................................... 6

3. AP-RZA-1A サンプルプログラム ................................................................ 10

3.1 ビルド・デバッグ方法 .................................................................................................. 10 3.1.1 プロジェクトのインポート ...................................................................................... 10 3.1.2 プロジェクトのビルド ............................................................................................ 13 3.1.3 RAM 上でのデバッグ .............................................................................................. 14 3.1.4 ROM 上でのデバッグ ............................................................................................. 19

3.2 動作説明 .................................................................................................................... 24 3.2.1 ブート処理 .......................................................................................................... 24 3.2.2 サンプルプログラム概要 ......................................................................................... 25

3.3 RAM 動作時のメモリマップ ........................................................................................... 30 3.4 ROM 動作時のメモリマップ ........................................................................................... 31

AP-RZA-1A (RZ/A1H CPU BOARD)

ベアメタルサンプルプログラム(DS-5)解説 2.1 版 2020年06月01日

Page 2: AN1607 AP-RZA-1A (RZ/A1H CPU BOARD) ベアメタ …アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.3 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説

アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.

2 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説 https://www.apnet.co.jp ©2020 ALPHA PROJECT Co.,LTD

1. 概要 1.1 概要

本アプリケーションノートでは、AP-RZA-1A に付属するサンプルプログラムについて解説します。

本サンプルプログラムの概要を以下に記します。

1.2 動作モード

本サンプルプログラムは、AP-RZA-1A で動作します。CPU 動作モードは下記のようになっています。

モードの設定方法等につきましては、「AP-RZA-1A ハードウェアマニュアル」をご覧ください。

なお、下記条件以外で動作させる場合には、ソースファイルやコンパイラオプションなどを変更する必要があります。

ブートモード : シリアル FlashROM からブート

サンプルプログラム 動作内容

ベアメタルサンプルプログラム ・タイマ割り込み

・シリアル通信

・LED 制御

・LCD 出力

Page 3: AN1607 AP-RZA-1A (RZ/A1H CPU BOARD) ベアメタ …アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.3 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説

アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.

3 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説 https://www.apnet.co.jp ©2020 ALPHA PROJECT Co.,LTD

CPU ボードの設定を製品出荷時の設定とし、使用方法に合わせて以下の各スイッチの設定を行ってください。

JSW1

<JSW1 設定>

ブートモード : シリアル FlashROM からブート

・JSW1

JSW1

Page 4: AN1607 AP-RZA-1A (RZ/A1H CPU BOARD) ベアメタ …アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.3 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説

アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.

4 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説 https://www.apnet.co.jp ©2020 ALPHA PROJECT Co.,LTD

1.3 開発環境について

本サンプルプログラムは統合開発環境 Arm Development Studio 5TM (DS-5TM)を用いて開発されています。

サンプルプログラムに対応する開発環境、コンパイラのバージョンは次のとおりです。

開発環境 バージョン コンパイラ名 バージョン 備考

Arm

Development

Studio 5

5.19.1 ARM

Compiler

5.04 update 2 DS-5 Renesas RZEdition

1.4 ワークスペースについて

本サンプルプログラムの統合開発環境 Arm Development Studio 5 プロジェクトフォルダは次のフォルダに

格納されています。

サンプルプログラム フォルダ

ベアメタル

サンプルプログラム

プロジェクトフォルダ

\sample\ap_rza_1a

Page 5: AN1607 AP-RZA-1A (RZ/A1H CPU BOARD) ベアメタ …アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.3 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説

アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.

5 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説 https://www.apnet.co.jp ©2020 ALPHA PROJECT Co.,LTD

2. サンプルプログラムの構成

2.1 フォルダ構成

サンプルプログラムは下記のようなフォルダ構成になっています。

sample

ap_rza_1a サンプルプログラムワークフォルダ

BAT バイナリ生成用バッチファイルフォルダ

Debug RAM 動作用ワークフォルダ

Release ROM 動作用ワークフォルダ

Include インクルードフォルダ

SCAT スキャッタローディングファイルフォルダ

SRC ソースファイルフォルダ

ap_rza_1a ボード依存部ソースフォルダ

boot ブート処理フォルダ

gpio GPIO ドライバフォルダ

handler ハンドラフォルダ

intc 割り込みコントローラドライバフォルダ

lcdkit LCDKIT ドライバフォルダ

data LCD-KIT 画像・音声データフォルダ

lcdkit_b01 LCD-KIT-B01 ドライバフォルダ

lcdkit_b02 LCD-KIT-B02 ドライバフォルダ

lcdkit_c01 LCD-KIT-C01 ドライバフォルダ

lcdkit_d01 LCD-KIT-D01 ドライバフォルダ

lcdkit_d02 LCD-KIT-D02 ドライバフォルダ

riic RIIC ドライバフォルダ

scif SCIF ドライバフォルダ

timer タイマドライバフォルダ

vdc5 ビデオディスプレイコントローラドライバフォルダ

vector ベクタテーブルフォルダ

common.h 共通ヘッダファイル

lcdkit_app.c LCD-KIT アプリケーションソースファイル

lcdkit_app.h LCD-KIT アプリケーションヘッダファイル

main.c メインソースファイル

retarget.c 標準入出力再定義ファイル

Page 6: AN1607 AP-RZA-1A (RZ/A1H CPU BOARD) ベアメタ …アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.3 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説

アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.

6 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説 https://www.apnet.co.jp ©2020 ALPHA PROJECT Co.,LTD

2.2 ファイル構成

サンプルプログラムは以下のファイルで構成されています。

<\sample フォルダ内>

ap_rza_1a ・・・ AP-RZA-1A サンプルプログラムワークフォルダ

<\sample\ap_rza_1a フォルダ内>

.cproject ・・・ CPROJECT ファイル

.project ・・・ PROJECT ファイル

<\sample\ap_rza_1a\BAT フォルダ内>

make_bin.bat ・・・ バイナリファイル生成用バッチファイル

<\sample\ap_rza_1a\Debug フォルダ内>

ap_rza_1a.axf ・・・ サンプルプログラム RAM 動作用オブジェクトファイル

ap_rza_1a.bin ・・・ サンプルプログラム RAM 動作用バイナリファイル

ap_rza_1a.mot ・・・ サンプルプログラム RAM 動作用モトローラファイル

ap_rza_1a.map ・・・ サンプルプログラム RAM 動作用マップファイル

コンパイル後は SRC フォルダが生成され、SRC フォルダ下

にオブジェクトファイル等が生成されます。

<\sample\ap_rza_1a\Release フォルダ内>

ap_rza_1a.axf ・・・ サンプルプログラム ROM 動作用オブジェクトファイル

ap_rza_1a.bin ・・・ サンプルプログラム ROM 動作用バイナリファイル

ap_rza_1a.mot ・・・ サンプルプログラム ROM 動作用モトローラファイル

ap_rza_1a.map ・・・ サンプルプログラム ROM 動作用マップファイル

コンパイル後は SRC フォルダが生成され、SRC フォルダ下

にオブジェクトファイル等が生成されます。

<\sample\ap_rza_1a\SCAT フォルダ内>

ap_rza_1a_ram.scat ・・・ サンプルプログラム RAM 動作用スキャッタローディング

ファイル

ap_rza_1a_rom.scat ・・・ サンプルプログラム ROM 動作用スキャッタローディング

ファイル

Page 7: AN1607 AP-RZA-1A (RZ/A1H CPU BOARD) ベアメタ …アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.3 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説

アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.

7 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説 https://www.apnet.co.jp ©2020 ALPHA PROJECT Co.,LTD

<\sample\ap_rza_1a_rtx\Include フォルダ内>

arm_common_tables.h ・・・ コモンテーブルヘッダファイル

arm_math.h ・・・ DSP 共通ヘッダファイル

core_ca_mmu.h ・・・ MMU スタートアップファイル

core_ca9.h ・・・ ペリフェラルアクセスレイヤヘッダファイル

core_caFunc.h ・・・ コアファンクションアクセスヘッダファイル

core_caInstr.h ・・・ コアペリフェラルアクセスヘッダファイル

core_cm0.h ・・・ Cortex-M0 コアペリフェラルアクセスヘッダファイル

core_cm0plus.h ・・・ Cortex-M0+ コアペリフェラルアクセスヘッダファイル

core_cm3.h ・・・ Cortex-M3 コアペリフェラルアクセスヘッダファイル

core_cm4.h ・・・ Cortex-M4 コアペリフェラルアクセスヘッダファイル

core_cm4_simd.h ・・・ Cortex-M4 SIMD ヘッダファイル

core_cmFunc.h ・・・ Cortex-M コアファンクションアクセスヘッダファイル

core_cmInstr.h ・・・ Cortex-M コア命令アクセスヘッダファイル

core_sc000.h ・・・ SC000 コアペリフェラルアクセスレイヤヘッダファイル

core_sc300.h ・・・ SC300 コアペリフェラルアクセスレイヤヘッダファイル

<\sample\ap_rza_1a_rtx\SRC\ap_rza_1a フォルダ内>

iodefines ・・・ RZ 内部レジスタ定義ヘッダファイルフォルダ

cache.c ・・・ キャッシュ処理ファイル

cache.h ・・・ キャッシュ処理ヘッダファイル

iodefine.h ・・・ 内部レジスタ定義ファイル

l1_cache_init.s ・・・ L1 キャッシュ初期化ファイル

l1_cache_operation.s ・・・ L1 キャッシュ操作ファイル

l2_cache_init.c ・・・ L2 キャッシュ初期化ファイル

r_typedefs.h ・・・ 型宣言ファイル

Renesas_RZ_A1.h ・・・ ペリフェラルアクセスヘッダファイル

resetprg.c ・・・ main()前処理ファイル

rza_io_regrw.c ・・・ レジスタ読み書きファイル

startup.s ・・・ スタートアップ処理ファイル

ttb.s ・・・ TTB 作成処理ファイル

typedefine.h ・・・ 型宣言ファイル

vbar.s ・・・ VBAR 設定処理ファイル

<\sample\ap_rza_1a\SRC\boot フォルダ内>

boot.c ・・・ ブート処理ファイル

boot.h ・・・ ブート処理ヘッダファイル

sflash_init.c ・・・ シリアル Flash 初期化処理ファイル

sflash_init.h ・・・ シリアル Flash 初期化処理ヘッダファイル

Page 8: AN1607 AP-RZA-1A (RZ/A1H CPU BOARD) ベアメタ …アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.3 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説

アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.

8 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説 https://www.apnet.co.jp ©2020 ALPHA PROJECT Co.,LTD

<\sample\ap_rza_1a\SRC\gpio フォルダ内>

gpio.c ・・・ GPIO ドライバファイル

gpio.h ・・・ GPIO ドライバヘッダファイル

<\sample\ap_rza_1a\SRC\handler フォルダ内>

handler.c ・・・ 個別割り込みハンドラファイル

irqfiq_handler.s ・・・ IRQ、FIRQ ハンドラファイル

<\sample\ap_rza_1a\SRC\intc フォルダ内>

intc.c ・・・ 割り込みコントローラドライバファイル

intc.h ・・・ 割り込みコントローラドライバヘッダファイル

<\sample\ap_rza_1a\SRC\lcdkit フォルダ内>

lcdkit.c ・・・ LCD-KIT ドライバファイル

lcdkit.h ・・・ LCD-KIT ドライバヘッダファイル

<\sample\ap_rza_1a\SRC\lcdkit_b01 フォルダ内>

lcdkit_b01.c ・・・ LCD-KIT-B01 ドライバファイル

lcdkit_b01.h ・・・ LCD-KIT-B01 ドライバヘッダファイル

<\sample\ap_rza_1a\SRC\lcdkit_b02 フォルダ内>

lcdkit_b02.c ・・・ LCD-KIT-B02 ドライバファイル

lcdkit_b02.h ・・・ LCD-KIT-B02 ドライバヘッダファイル

<\sample\ap_rza_1a\SRC\lcdkit_c01 フォルダ内>

lcdkit_c01.c ・・・ LCD-KIT-C01 ドライバファイル

lcdkit_c01.h ・・・ LCD-KIT-C01 ドライバヘッダファイル

<\sample\ap_rza_1a\SRC\lcdkit_d01 フォルダ内>

lcdkit_d01.c ・・・ LCD-KIT-D01 ドライバファイル

lcdkit_d01.h ・・・ LCD-KIT-D01 ドライバヘッダファイル

<\sample\ap_rza_1a\SRC\lcdkit_d02 フォルダ内>

lcdkit_d02.c ・・・ LCD-KIT-D02 ドライバファイル

lcdkit_d02.h ・・・ LCD-KIT-D02 ドライバヘッダファイル

<\sample\ap_rza_1a\SRC\lcdkit\data フォルダ内>

image_data.c ・・・ LCD-KIT 表示画像データファイル

image_data.h ・・・ LCD-KIT 表示画像データヘッダファイル

sound_data.c ・・・ LCD-KIT 出力音声データファイル

sound_data.h ・・・ LCD-KIT 出力音声データヘッダファイル

Page 9: AN1607 AP-RZA-1A (RZ/A1H CPU BOARD) ベアメタ …アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.3 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説

アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.

9 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説 https://www.apnet.co.jp ©2020 ALPHA PROJECT Co.,LTD

<\sample\ap_rza_1a\SRC\riic フォルダ内>

riic.c ・・・ I2C 通信ドライバファイル

riic.h ・・・ I2C 通信ドライバヘッダファイル

<\sample\ap_rza_1a\SRC\scif フォルダ内>

scif.c ・・・ シリアル通信ドライバファイル

scif.h ・・・ シリアル通信ドライバヘッダファイル

<\sample\ap_rza_1a\SRC\timer フォルダ内>

timer.c ・・・ タイマドライバファイル

timer.h ・・・ タイマドライバヘッダファイル

<\sample\ap_rza_1a\SRC\vdc5 フォルダ内>

vdc5.c ・・・ VDC5 ドライバファイル

vdc5.h ・・・ VDC5 ドライバヘッダファイル

<\sample\ap_rza_1a\SRC\vector フォルダ内>

vectors.s ・・・ ベクタテーブルファイル

vectors_mirror.s ・・・ ミラーベクタテーブルファイル

Page 10: AN1607 AP-RZA-1A (RZ/A1H CPU BOARD) ベアメタ …アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.3 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説

アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.

10 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説 https://www.apnet.co.jp ©2020 ALPHA PROJECT Co.,LTD

3. AP-RZA-1A サンプルプログラム

3.1 ビルド・デバッグ方法

3.1.1 プロジェクトのインポート

① DS-5 を起動し、メニューバーの[ファイル]→[インポート]を選択します。

② [既存のプロジェクトをワークスペースへ]を選択し[次へ]を選択します。

Page 11: AN1607 AP-RZA-1A (RZ/A1H CPU BOARD) ベアメタ …アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.3 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説

アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.

11 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説 https://www.apnet.co.jp ©2020 ALPHA PROJECT Co.,LTD

③ [ルート・ディレクトリーの選択]を選択し、[参照]からサンプルプログラムのフォルダを選択します。

④ [終了]を選択します。

Page 12: AN1607 AP-RZA-1A (RZ/A1H CPU BOARD) ベアメタ …アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.3 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説

アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.

12 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説 https://www.apnet.co.jp ©2020 ALPHA PROJECT Co.,LTD

⑤ ナビゲータウィンドウにサンプルプログラムのプロジェクトが追加されていることを確認します。

Page 13: AN1607 AP-RZA-1A (RZ/A1H CPU BOARD) ベアメタ …アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.3 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説

アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.

13 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説 https://www.apnet.co.jp ©2020 ALPHA PROJECT Co.,LTD

3.1.2 プロジェクトのビルド

① ツールバーからビルドアイコンを選択します。

アイコン横のした矢印をクリックすることでコンフィグレーションごとのビルドが可能です。

構成が Debug の場合、\Debug ワークフォルダに RAM 動作用のオブジェクトファイルが、

Release の場合、\Release ワークフォルダ内に ROM 動作用のオブジェクトファイルが生成されます。

DS-5 の詳細な使用方法に関しては DS-5 のマニュアルを参照してください。

Page 14: AN1607 AP-RZA-1A (RZ/A1H CPU BOARD) ベアメタ …アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.3 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説

アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.

14 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説 https://www.apnet.co.jp ©2020 ALPHA PROJECT Co.,LTD

3.1.3 RAM 上でのデバッグ

① [「DS-5 デバッグ」 パースペクティブ]をクリックし、DS-5 のデバッグ画面へ移行します。

② メニューバーから[実行]→[デバッグコンフィグレーション]を選択します。

Page 15: AN1607 AP-RZA-1A (RZ/A1H CPU BOARD) ベアメタ …アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.3 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説

アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.

15 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説 https://www.apnet.co.jp ©2020 ALPHA PROJECT Co.,LTD

③ [DS-5 デバッガ]を選択した後、[新規作成]を選択します。

④ [接続]タブを開き、[名前]に[ap_rza_1a_ram_sample]と入力し、[ターゲットの選択]に

[Renesas → RZ/A1H R7S721001 → Bare Metal Debug → Debug Cortex-A9]を選択します。

Page 16: AN1607 AP-RZA-1A (RZ/A1H CPU BOARD) ベアメタ …アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.3 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説

アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.

16 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説 https://www.apnet.co.jp ©2020 ALPHA PROJECT Co.,LTD

⑤ [ターゲット接続]を[ULINK2]に設定し、[接続]の[参照...]を選択して

ホスト PC に接続しているデバッガ(ULINK2)を選択します。

Page 17: AN1607 AP-RZA-1A (RZ/A1H CPU BOARD) ベアメタ …アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.3 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説

アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.

17 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説 https://www.apnet.co.jp ©2020 ALPHA PROJECT Co.,LTD

⑥ [ファイル]タブを開き、

[ワークスペース]からビルドしたオブジェクトファイル(ap_rza_1a.axf)を選択します。

Page 18: AN1607 AP-RZA-1A (RZ/A1H CPU BOARD) ベアメタ …アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.3 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説

アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.

18 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説 https://www.apnet.co.jp ©2020 ALPHA PROJECT Co.,LTD

⑦ [適用]を選択し、[閉じる]を選択します。

⑧ [ターゲットに接続]アイコンを選択します。

⑨ デバッガがターゲットに接続された後、デバッグを行います。

Page 19: AN1607 AP-RZA-1A (RZ/A1H CPU BOARD) ベアメタ …アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.3 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説

アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.

19 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説 https://www.apnet.co.jp ©2020 ALPHA PROJECT Co.,LTD

3.1.4 ROM 上でのデバッグ

ROM デバッグを行う際には、事前にアプリケーションノート

「AN1608 AP-RZA-1A (RZ/A1H CPU BOARD)シリアル FlashROM の書き込み方法」を参考に、

ボード上のシリアルフラッシュに ROM デバッグ用サンプルプログラムを書き込む必要がございます。

① [「DS-5 デバッグ」 パースペクティブ]をクリックし、DS-5 のデバッグ画面へ移行します。

② メニューバーから[実行]→[デバッグコンフィグレーション]を選択します。

Page 20: AN1607 AP-RZA-1A (RZ/A1H CPU BOARD) ベアメタ …アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.3 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説

アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.

20 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説 https://www.apnet.co.jp ©2020 ALPHA PROJECT Co.,LTD

③ [DS-5 デバッガ]を選択した後、[新規作成]を選択します。

④ [接続]タブを開き、[名前]に[ap_rza_1a_rom_sample]と入力し、[ターゲットの選択]に

[Renesas → RZ/A1H R7S721001 → Bare Metal Debug → Debug Cortex-A9]を選択します。

Page 21: AN1607 AP-RZA-1A (RZ/A1H CPU BOARD) ベアメタ …アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.3 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説

アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.

21 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説 https://www.apnet.co.jp ©2020 ALPHA PROJECT Co.,LTD

⑤ [ターゲット接続]を[ULINK2]に設定し、[接続]の[参照...]を選択して

ホスト PC に接続しているデバッガ(ULINK2)を選択します。

Page 22: AN1607 AP-RZA-1A (RZ/A1H CPU BOARD) ベアメタ …アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.3 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説

アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.

22 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説 https://www.apnet.co.jp ©2020 ALPHA PROJECT Co.,LTD

⑥ [ファイル]タブを開き、

[ワークスペース]からビルドしたオブジェクトファイル(ap_rza_1a.axf)を選択します。

Page 23: AN1607 AP-RZA-1A (RZ/A1H CPU BOARD) ベアメタ …アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.3 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説

アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.

23 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説 https://www.apnet.co.jp ©2020 ALPHA PROJECT Co.,LTD

⑦ [適用]を選択し、[閉じる]を選択します。

⑧ [ターゲットに接続]アイコンを選択します。

⑨ デバッガがターゲットに接続された後、デバッグを行います。

Page 24: AN1607 AP-RZA-1A (RZ/A1H CPU BOARD) ベアメタ …アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.3 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説

アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.

24 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説 https://www.apnet.co.jp ©2020 ALPHA PROJECT Co.,LTD

3.2 動作説明

3.2.1 ブート処理

AP-RZA-1A のブートモードがブートモード3(シリアルフラッシュブート)に設定されている場合、パワーオンリセット

解除後に CPU は 0xFFFF0000(内蔵 ROM)に格納されているブートプログラムを実行します。

このブートプログラムにより、SPI マルチ I/O バスコントローラが外部アドレス空間リードモードに設定され、基板上に

実装されたシリアルフラッシュに対し直接データの読み出しが可能になります(SPI マルチ I/O バス空間:0x18000000~)。

ブートプログラムの終了後、CPU は 0x18000000 に分岐します。

そのため、本サンプルプログラムでは例外処理ベクタテーブルを 0x18000000 に配置しブートプログラムの終了後に

リセットハンドラ処理に分岐するようにしています。

リセットハンドラ処理ではベクタベースアドレスの設定、スタックの初期化、内蔵 RAM 書き込みの許可、

MMU・キャッシュの初期化、クロック周波数の設定やボードの初期化を行い、

最後に ARM 統合開発環境 DS-5 のコンパイラツールチェーンによって提供されるC標準ライブラリ関数__main に分岐します。

__main 関数内ではスキャッタローディングファイルを利用したセクションの初期化やデータのコピーなどが行われ、

$Sub$main 関数を経た上で$Super$main 関数がコールされ main 関数に分岐します。

CPU のブートモードとブートモードに依存するそれぞれのブート処理に関しての詳細は下記資料を参考にしてください。

・ 「RZ/A1H グループ ユーザーズマニュアル ハードウェア編」

・ 「RZ/A1H グループ 初期設定例」

これらの資料は下記 URL から入手が可能です。

https://www.renesas.com/jp/ja/products/microcontrollers-microprocessors/rz/rza/rza1h.html

Page 25: AN1607 AP-RZA-1A (RZ/A1H CPU BOARD) ベアメタ …アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.3 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説

アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.

25 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説 https://www.apnet.co.jp ©2020 ALPHA PROJECT Co.,LTD

3.2.2 サンプルプログラム概要

サンプルプログラムは、下記の動作を行います。

● SCIF5 でエコーバックを行います。(送受信割り込み使用)

SCIF5 から受信した値をそのまま、SCIF5 へ送信します。

COM ポートの設定は、115200bps、ビット長 8、パリティなし、ストップビット1、フロー制御なしです。

動作確認は、ホスト PC 上のターミナルソフト(ハイパーターミナルなど)を使用して行ってください。

● LD1(緑の LED)を 500msec 間隔で ON/OFF します。(※1)

● CN1、CN2のポートより方形波を出力します。周期とピン番号を下記の表に示します。(※1)

● LCD-KIT-B01, B02, C01, D01, D02 と接続時に画面にカラー画像を表示します(※2)

● LCD-KIT-B01, B02, C01, D01, D02 と接続時に画面にタッチすることで軌跡を描画したり、音声を出力し

たりします。(※2)

※1:LCD-KIT-C01 と接続時は、タッチ判定処理に時間がかかるため、処理間隔に遅延が生じます。

※2:動作詳細や注意事項は、 [3.2.3 LCD-KIT 動作について]をご確認ください。

方形波出力端子一覧

ピン番号 ピン名 周期 備考

CN1.31 P8_15/A23/SPBIO11_0/SPBIO10_1/

TIOC2B/SSL20/PWM1H/RxD4

40msec

CN2.21 P5_7/TXOUT0M/LCD1_DATA7/LCD0_DATA23/

DV1_DATA7/RxD6/TIOC0D/SPDIF_OUT/DV0_DATA15

20msec

CN2.22 P5_6/TXOUT0P/LCD1_DATA6/LCD0_DATA22/

DV1_DATA6/TxD6/IRQ6/SPDIF_IN/DV0_DATA14

20msec

Page 26: AN1607 AP-RZA-1A (RZ/A1H CPU BOARD) ベアメタ …アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.3 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説

アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.

26 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説 https://www.apnet.co.jp ©2020 ALPHA PROJECT Co.,LTD

3.2.3 LCD-KIT 動作について

3.2.3.1 LCD-KIT の設定

本サンプルプログラムは、デフォルトで LCD-KIT と非接続で動作するように設定されています。

LCD-KIT-B01, B02, C01, D01, D02 を接続して動作を確認したい場合は、

下記ソースファイルの赤字の値を「LCD_KIT_B01」、「LCD_KIT_B02」、「LCD_KIT_C01」、「LCD_KIT_D01」あるい

は「LCD_KIT_D02」に変更してください。

その後、DS5 上で [プロジェクトをクリーンにする]を選択してから [プロジェクトのビルド]を選択して、

必ずプロジェクトの再ビルドを行ってください。

\sample\ap_rza_1a\src\lcdkit\lcdkit.h(30~39 行目)

30 : /* 動作確認をする LCD キットに合わせて、下記のいずれかの値で

31 : * 定義「LCD_KIT_SELECT」を変更してください

32 : * ・LCD_KIT_NONE(デフォルト) ←LCD-KIT を動かさない場合の設定値

33 : * ・LCD_KIT_B01 ←LCD-KIT-B01 と接続時の設定値

34 : * ・LCD_KIT_B02 ←LCD-KIT-B02 と接続時の設定値

35 : * ・LCD_KIT_C01 ←LCD-KIT-C01 と接続時の設定値

36 : * ・LCD_KIT_D01 ←LCD-KIT-D01 と接続時の設定値

37 : * ・LCD_KIT_D02 ←LCD-KIT-D02 と接続時の設定値

38 : */

39 : #define LCD_KIT_SELECT (LCD_KIT_NONE) ←赤く示した値を適切に設定してください

3.2.3.2 LCD-KIT の動作概要

本サンプルプログラムは、LCD-KIT と接続し、[3.2.3.1 LCD-KIT の設定]を参考に適切にプロジェクトの設定を

行った場合、下記の動作を行います。

● LCD 画面上に画像を表示します。

(LCD-KIT-B01/B02/C01 時は、800*480px の画像、LCD-KIT-D01/D02 時は 480*272px の画像)

● LCD-KIT のハードボタンを押すことで以下の 3 つのモードに切り替えることができます。

(サンプルプログラム開始時は SW2 を押したときに切り替わる「タッチ確認モード」が動作します)

・SW1:音声確認モード

・SW2:タッチ確認モード

・SW3:輝度確認モード

Page 27: AN1607 AP-RZA-1A (RZ/A1H CPU BOARD) ベアメタ …アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.3 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説

アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.

27 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説 https://www.apnet.co.jp ©2020 ALPHA PROJECT Co.,LTD

音声確認モード

LCD-KIT の SW1 を押すことで音声確認モードが動作します。

本モードでは、画面上部中央付近に三つのボタンを表示します。ユーザは各ボタンをタッチすることでボタンに対応した

音声を再生することが可能です。

LCD-KIT の種類

タップボタン LCD-KIT-B01/B02/C01 LCD-KIT-D01/D02

左ボタン(Ⅰ) ビープ音を 1 秒間再生(低音) 「ピンポーン」という音声再生

中央ボタン(Ⅱ) ビープ音を 1 秒間再生(中音) 「ブブー」という音声再生

右ボタン(Ⅲ) ビープ音を 1 秒間再生(高音) 「ありがとうございました」という音声再生

タッチ確認モード

サンプルプログラムの起動直後、あるいは、LCD-KIT の SW2 を押すことでタッチ確認モードが動作します。

本モード中に LCD-KIT の画面をタッチすると四角形のカーソルを表示します。

また、LCD-KIT によってはマルチタッチが可能です。複数タッチすることで異なる色(青、赤、黄、緑、白の順)のカ

ーソルが表示されます。

各 LCD-KIT で、同時にタッチ可能な数は異なります。以下の表を参照してください。

LCD-KIT マルチタッチ可否

LCD-KIT-B01/B02 ○(2 点)

LCD-KIT-C01 ×(1 点のみ)

LCD-KIT-D01 ○(4 点)

LCD-KIT-D02 ○(5 点)

SW2 押す

SW1 押す

Ⅰ Ⅱ Ⅲ ピンポーン

Page 28: AN1607 AP-RZA-1A (RZ/A1H CPU BOARD) ベアメタ …アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.3 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説

アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.

28 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説 https://www.apnet.co.jp ©2020 ALPHA PROJECT Co.,LTD

輝度確認モード

LCD-KIT の SW3 を押すことで輝度確認モードが動作します。

本モードでは、LCD-KIT の下部に長方形の輝度調節スペースを表示します。

ユーザは輝度調節スペースをタッチすることで画面輝度を変更できます。輝度調節スペースの右端が画面輝度 100%、左

端が画面輝度 0%です。

輝度を変更後に LCD-KIT の SW1, 2, 3 を押すと、輝度は 100%に戻ります。

SW3 押す

輝度 0% 輝度 100%

Page 29: AN1607 AP-RZA-1A (RZ/A1H CPU BOARD) ベアメタ …アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.3 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説

アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.

29 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説 https://www.apnet.co.jp ©2020 ALPHA PROJECT Co.,LTD

3.2.3.3 LCD-KIT-C01 のキャリブレーション

LCD-KIT-C01 は、抵抗膜式タッチパネル付き LCD ボードです。

静電容量式の LCD-KIT とは異なり、キャリブレーション処理を行う必要があります。

LCD-KIT-C01 使用時に本サンプルプログラムの動作を開始すると、画面左上に赤色の十字のポインタが表示されます。

ユーザはそのポインタに対してタッチ&リリースをしてください。

その後も順に右上、左下、右下の順にポインタが表示されますので、同様にユーザは各ポインタに対して

タッチ&リリースをしてください。

画面に対して四回タッチ&リリースをするとキャリブレーション処理は終了です。

その後の動作は静電容量式の LCD-KIT と同様です。

・キャリブレーション処理の補正は、リリースする直前のタッチ情報を基に計算されます。

再度キャリブレーション処理を行いたい場合は、シリアルコンソールから 0x01(SOH)を送信してください。

・LCD-KIT-C01 はマルチタッチに対応していません。同時に複数箇所に触れると誤動作する場合があります。

・キャリブレーション中は、シリアルエコーバック・LED 点滅・方形波出力の各動作を停止します。

それぞれの動作はキャリブレーション後に動作開始、あるいは、動作が再開されます。

① ②

③ ④

LCD-KIT-C01

Page 30: AN1607 AP-RZA-1A (RZ/A1H CPU BOARD) ベアメタ …アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.3 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説

アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.

30 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説 https://www.apnet.co.jp ©2020 ALPHA PROJECT Co.,LTD

3.3 RAM 動作時のメモリマップ

メモリマップを以下に示します。

Page 31: AN1607 AP-RZA-1A (RZ/A1H CPU BOARD) ベアメタ …アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.3 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説

アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.

31 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説 https://www.apnet.co.jp ©2020 ALPHA PROJECT Co.,LTD

3.4 ROM 動作時のメモリマップ

メモリマップを以下に示します。

Page 32: AN1607 AP-RZA-1A (RZ/A1H CPU BOARD) ベアメタ …アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.3 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説

アプリケーションノート AN1607 ALPHA PROJECT Co.,LTD.

32 AN1607 AP-RZA-1A ベアメタルサンプルプログラム(DS-5)解説 https://www.apnet.co.jp ©2020 ALPHA PROJECT Co.,LTD

商標について ・Arm Development Studio 5TM (DS-5TM) は Arm 社の登録商標、商標または商品名称です。

・RZ および RZ/A1H は、ルネサス エレクトロニクス株式会社の登録商標、商標または商品名称です

・その他の会社名、製品名は、各社の登録商標または商標です。

ご注意

・本文書の著作権は株式会社アルファプロジェクトが保有します。

・本文書の内容を無断で転載することは一切禁止します。

・本文書に記載されている内容についての質問等のサポートは一切受け付けておりませんのでご了承ください。

・本文書の内容については、万全を期して作成いたしましたが、万一ご不審な点、誤りなどお気付きの点がありましたら弊社までご連絡

ください。

・本サンプルプログラムに関して、Arm 社およびルネサス エレクトロニクス株式会社への問い合わせはご遠慮ください。

・本文書の内容に基づき、アプリケーションを運用した結果、万一損害が発生しても、弊社では一切責任を負いませんのでご了承くださ

い。

・本文書の内容は、将来予告なしに変更されることがあります。

〒431-3114 静岡県浜松市東区積志町 834 https://www.apnet.co.jp E-MAIL : [email protected]