25
アプリケーションノート AN1610 ALPHA PROJECT Co.,LTD. http://www.apnet.co.jp AN1610 AP-RZA-1A ベアメタル サンプルプログラム(GCC)解説 Copyright©2018 ALPHA PROJECT Co.,LTD All right reserved 1. 概要 ...................................................................................................... 2 1.1 概要 .......................................................................................................................... 2 1.2 接続概要..................................................................................................................... 2 1.3 動作モード .................................................................................................................. 3 1.4 開発環境について ......................................................................................................... 3 1.5 ワークスペースについて................................................................................................. 3 2. サンプルプログラムの構成.......................................................................... 4 2.1 フォルダ構成 ............................................................................................................... 4 2.2 ファイル構成 ............................................................................................................... 5 3. AP-RZA-1A サンプルプログラム................................................................. 8 3.1 ビルド・デバッグ方法 ................................................................................................... 8 3.1.1 プロジェクトのインポート ....................................................................................... 8 3.1.2 プロジェクトのビルド ............................................................................................ 13 3.1.3 RAM 動作 ............................................................................................................ 14 3.1.4 ROM 動作 ............................................................................................................ 17 3.2 動作説明.................................................................................................................... 19 3.2.1 ブート処理 .......................................................................................................... 19 3.2.2 サンプルプログラム概要 ......................................................................................... 20 3.2.3 LCD-KIT 動作について ........................................................................................... 21 3.3 RAM 動作時のメモリマップ ........................................................................................... 23 3.4 ROM 動作時のメモリマップ ........................................................................................... 24 AP-RZA-1A (RZ/A1H CPU BOARD) ベアメタルサンプルプログラム (GCC) 解説 3 版 2018 年4月 18日

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

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

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

アプリケーションノート AN1610

ALPHA PROJECT Co.,LTD.

http://www.apnet.co.jp

AN1610 AP-RZA-1A ベアメタル サンプルプログラム(GCC)解説

Copyright©2018 ALPHA PROJECT Co.,LTD All right reserved

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

1.1 概要 .......................................................................................................................... 2

1.2 接続概要 ..................................................................................................................... 2

1.3 動作モード .................................................................................................................. 3

1.4 開発環境について ......................................................................................................... 3

1.5 ワークスペースについて................................................................................................. 3

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

2.1 フォルダ構成 ............................................................................................................... 4

2.2 ファイル構成 ............................................................................................................... 5

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

3.1 ビルド・デバッグ方法 ................................................................................................... 8

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

3.1.2 プロジェクトのビルド ............................................................................................ 13

3.1.3 RAM 動作 ............................................................................................................ 14

3.1.4 ROM 動作 ............................................................................................................ 17

3.2 動作説明 .................................................................................................................... 19

3.2.1 ブート処理 .......................................................................................................... 19

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

3.2.3 LCD-KIT 動作について ........................................................................................... 21

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

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

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

ベアメタルサンプルプログラム (GCC) 解説

3 版 2018 年4月 18日

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

アプリケーションノート AN1610

ALPHA PROJECT Co.,LTD.

http://www.apnet.co.jp

AN1610 AP-RZA-1A ベアメタル サンプルプログラム(GCC)解説

Copyright©2018 ALPHA PROJECT Co.,LTD All right reserved

安定化電源など DC+5V

AP-RZA-1A J-Link

PC-USB-04

ホスト CPU

LCD-KIT-B01

1. 概要

1.1 概要

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

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

1.2 接続概要

本サンプルプログラムの動作を確認する上で必要な CPU ボードとホスト PC 間の接続例を以下に示します。

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

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

・シリアル通信

・LED 制御

・LCD 出力

・タッチパネル操作

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

アプリケーションノート AN1610

ALPHA PROJECT Co.,LTD.

http://www.apnet.co.jp

AN1610 AP-RZA-1A ベアメタル サンプルプログラム(GCC)解説

Copyright©2018 ALPHA PROJECT Co.,LTD All right reserved

1.3 動作モード

本サンプルプログラムは、AP-RZA-1A で動作します。AP-RZA-1A はブートモードが選択でき、本サンプルプログラムを

RAM 動作させる場合は「SD ホストインタフェースからブート」(SD カードは挿さないでください)、

ROM 動作させる場合は「シリアル FlashROM からブート」を選択してください。

詳細につきまして「AP-RZA-1A ハードウェアマニュアル」をご覧ください。

JSW1 ブートモード 備考

ON(右側) シリアル FlashROM からブート 出荷時設定

OFF(左側) SD ホストインタフェースからブート

1.4 開発環境について

本サンプルプログラムは統合開発環境 e2 studio を用いて開発されています。

サンプルプログラムに対応する開発環境、ツールチェインのバージョン、デバッガは次のようになります。

開発環境 バージョン ツールチェイン名 バージョン デバッガ

e2 studio 6.2.0 GCC ARM Embedded Toolchain 5.4.1 J-Link

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

本サンプルプログラムの統合開発環境 e2 studio ワークスペースは次のフォルダに格納されています。

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

ベアメタル

サンプルプログラム

プロジェクトフォルダ

\sample\ap_rza_1a

JSW1

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

アプリケーションノート AN1610

ALPHA PROJECT Co.,LTD.

http://www.apnet.co.jp

AN1610 AP-RZA-1A ベアメタル サンプルプログラム(GCC)解説

Copyright©2018 ALPHA PROJECT Co.,LTD All right reserved

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

2.1 フォルダ構成

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

sample

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

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

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

script リンカスクリプトファイルフォルダ

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

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

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

boot ブート処理フォルダ

gpio GPIO ドライバフォルダ

handler ハンドラフォルダ

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

lcdkit LCD-KIT ドライバ

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

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

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

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

riic I2C ドライバフォルダ

scif SCIF ドライバフォルダ

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

vdc5 VDC5 ドライバフォルダ

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

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

アプリケーションノート AN1610

ALPHA PROJECT Co.,LTD.

http://www.apnet.co.jp

AN1610 AP-RZA-1A ベアメタル サンプルプログラム(GCC)解説

Copyright©2018 ALPHA PROJECT Co.,LTD All right reserved

2.2 ファイル構成

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

<\sample フォルダ内>

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

<\sample\ap_rza_1a フォルダ内>

.cproject ・・・ CPROJECT ファイル

.project ・・・ PROJECT ファイル

.info ・・・ INFO ファイル

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

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

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

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

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

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

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

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

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

ap_rza_1a.elf ・・・ サンプルプログラム ROM 動作用 x ファイル

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

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

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

ap_rza_1a_ram.ld ・・・ サンプルプログラム RAM 動作用リンカスクリプトファイル

ap_rza_1a_rom.ld ・・・ サンプルプログラム ROM 動作用リンカスクリプトファイル

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

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

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

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

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

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

アプリケーションノート AN1610

ALPHA PROJECT Co.,LTD.

http://www.apnet.co.jp

AN1610 AP-RZA-1A ベアメタル サンプルプログラム(GCC)解説

Copyright©2018 ALPHA PROJECT Co.,LTD All right reserved

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

cache_inv.S ・・・ キャッシュ無効化ファイル

core_ca_mmu.h ・・・ MMU ヘッダファイル

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

mmu.c ・・・ MMU 初期化ファイル

mmu.h ・・・ MMU 初期化ヘッダファイル

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

Renesas_RZ_A1.h ・・・ RZA1H 用ヘッダファイル

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

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

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

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

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

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

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

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

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

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

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

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

irqfiq_handler.S ・・・ IRQ, FIQ ハンドラファイル

<\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_c01 フォルダ内>

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

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

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

アプリケーションノート AN1610

ALPHA PROJECT Co.,LTD.

http://www.apnet.co.jp

AN1610 AP-RZA-1A ベアメタル サンプルプログラム(GCC)解説

Copyright©2018 ALPHA PROJECT Co.,LTD All right reserved

<\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\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 8: AN1610 AP-RZA-1A (RZ/A1H CPU BOARD) ベアメタ …Copyright アプリケーションノート AN1610 ALPHA PROJECT Co.,LTD. AN1610 AP-RZA-1A ベアメタル サンプルプログラム(GCC

アプリケーションノート AN1610

ALPHA PROJECT Co.,LTD.

http://www.apnet.co.jp

AN1610 AP-RZA-1A ベアメタル サンプルプログラム(GCC)解説

Copyright©2018 ALPHA PROJECT Co.,LTD All right reserved

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

3.1 ビルド・デバッグ方法

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

① e2 studio を起動し、ツールバーの[ファイル]→[インポート]を選択します。

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

アプリケーションノート AN1610

ALPHA PROJECT Co.,LTD.

http://www.apnet.co.jp

AN1610 AP-RZA-1A ベアメタル サンプルプログラム(GCC)解説

Copyright©2018 ALPHA PROJECT Co.,LTD All right reserved

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

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

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

アプリケーションノート AN1610

ALPHA PROJECT Co.,LTD.

http://www.apnet.co.jp

AN1610 AP-RZA-1A ベアメタル サンプルプログラム(GCC)解説

Copyright©2018 ALPHA PROJECT Co.,LTD All right reserved

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

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

アプリケーションノート AN1610

ALPHA PROJECT Co.,LTD.

http://www.apnet.co.jp

AN1610 AP-RZA-1A ベアメタル サンプルプログラム(GCC)解説

Copyright©2018 ALPHA PROJECT Co.,LTD All right reserved

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

⑥ 文字コードの変更を行います。ツールバーの[ウィンドウ]→[設定]を選択します。

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

アプリケーションノート AN1610

ALPHA PROJECT Co.,LTD.

http://www.apnet.co.jp

AN1610 AP-RZA-1A ベアメタル サンプルプログラム(GCC)解説

Copyright©2018 ALPHA PROJECT Co.,LTD All right reserved

⑦ [一般]→[ワークスペース]を選択し、テキスト・ファイル・エンコードを[その他 > SJIS]を選択し、

「OK」ボタンを押します。

(SJIS が選択できない場合は直接[SJIS]と打ち込んでください)

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

アプリケーションノート AN1610

ALPHA PROJECT Co.,LTD.

http://www.apnet.co.jp

AN1610 AP-RZA-1A ベアメタル サンプルプログラム(GCC)解説

Copyright©2018 ALPHA PROJECT Co.,LTD All right reserved

3.1.2 プロジェクトのビルド

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

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

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

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

ただし、初回ビルドでは makefile が存在しないためビルドが通りません。初回ビルドにより makefile が生成されます。

[プロジェクト]→[クリーン]を選択し、クリーンビルドすることで正しくビルドが行われます。

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

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

アプリケーションノート AN1610

ALPHA PROJECT Co.,LTD.

http://www.apnet.co.jp

AN1610 AP-RZA-1A ベアメタル サンプルプログラム(GCC)解説

Copyright©2018 ALPHA PROJECT Co.,LTD All right reserved

3.1.3 RAM 動作

② [3.1.2 プロジェクトのビルド]を参考に、プロジェクトを Debug 構成にしてビルドしてください。

③ ツールバーから[実行]→[デバッグの構成]を選択します。

④ [Renesas GDB Hardware Debugging]をダブルクリックします。

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

アプリケーションノート AN1610

ALPHA PROJECT Co.,LTD.

http://www.apnet.co.jp

AN1610 AP-RZA-1A ベアメタル サンプルプログラム(GCC)解説

Copyright©2018 ALPHA PROJECT Co.,LTD All right reserved

⑤ 新規作成されたデバッグ構成を選択し[メイン]タブを選択し、名前を任意の値に設定します(参考図では「ap_rza_1a

Debug」を設定)。

また、プロジェクトを「参照」から[ap_rza_1a]を、C/C++アプリケーションを「プロジェクトの検索」から

[Debug\ap_rza_1a.elf]をそれぞれ設定してください。

⑥ [Debugger]タブを選択し Debug hardware を[J-Link ARM]に、Target Device を[R7S721000]にします。

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

アプリケーションノート AN1610

ALPHA PROJECT Co.,LTD.

http://www.apnet.co.jp

AN1610 AP-RZA-1A ベアメタル サンプルプログラム(GCC)解説

Copyright©2018 ALPHA PROJECT Co.,LTD All right reserved

⑦ [共通]タブを選択し、エンコードを[その他 > UTF-8]を選択します。

設定が完了したら、「デバッグ」ボタンを押下することでサンプルプログラムの RAM 動作を開始できます。

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

アプリケーションノート AN1610

ALPHA PROJECT Co.,LTD.

http://www.apnet.co.jp

AN1610 AP-RZA-1A ベアメタル サンプルプログラム(GCC)解説

Copyright©2018 ALPHA PROJECT Co.,LTD All right reserved

3.1.4 ROM 動作

① ツールバーから[プロジェクト]→[プロパティ]を選択します。

② [C/C++ビルド]→[設定]を選択後、構成を[Release]に変更します。

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

アプリケーションノート AN1610

ALPHA PROJECT Co.,LTD.

http://www.apnet.co.jp

AN1610 AP-RZA-1A ベアメタル サンプルプログラム(GCC)解説

Copyright©2018 ALPHA PROJECT Co.,LTD All right reserved

③ [ツール設定]タブから[Cross ARM GNU Create Flash Image]→[General]を選択し、Output file format を

[Motorola S-record]に変更します。

設定が完了したら「OK」ボタンを押します。

④ [3.1.2 プロジェクトのビルド]を参考に、プロジェクトを Release 構成にしてビルドしてください。

⑤ ビルドが完了すると\Release ワークフォルダ内に ROM 動作用モトローラファイルが作成されます。

弊社アプリケーションノート AN1608「シリアル FlashROM 書き込み方法」を参照し、

モトローラファイルを書き込んでください。

※e2 studio ではモトローラファイルの拡張子が『*.srec』となります。FlashWriterEX でファイルを読み込む際には

「ファイルの種類」を『*.*』に選択してモトローラファイルを読み込んでください。

⑥ 書き込み後は、[1.3 動作モード]を参考に、「シリアル FlashROM からブート」に設定し、電源を投入して

動作を確認してください。

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

アプリケーションノート AN1610

ALPHA PROJECT Co.,LTD.

http://www.apnet.co.jp

AN1610 AP-RZA-1A ベアメタル サンプルプログラム(GCC)解説

Copyright©2018 ALPHA PROJECT Co.,LTD All right reserved

3.2 動作説明

3.2.1 ブート処理

AP-RZA-1A のブートモードが「シリアル FlashROM からブート」に設定されている場合、

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

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

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

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

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

シリアルフラッシュに書き込まれたリセットハンドラ処理に分岐するようにしています。

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

MMU・キャッシュの初期化、クロック周波数の設定やボードの初期化、セクションの初期化やデータのコピーなどを行った後、

Sub_main 関数に分岐します。Sub_main 関数では割り込み処理の設定などを行い、最後に main 関数に分岐します。

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

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

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

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

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

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

アプリケーションノート AN1610

ALPHA PROJECT Co.,LTD.

http://www.apnet.co.jp

AN1610 AP-RZA-1A ベアメタル サンプルプログラム(GCC)解説

Copyright©2018 ALPHA PROJECT Co.,LTD All right reserved

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

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

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

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

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

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

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

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

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

● LCD-KIT-B01, 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

500msec

CN2.21 P5_7/TXOUT0M/LCD1_DATA7/LCD0_DATA23/

DV1_DATA7/RxD6/TIOC0D/SPDIF_OUT/DV0_DATA15

1000msec

CN2.22 P5_6/TXOUT0P/LCD1_DATA6/LCD0_DATA22/

DV1_DATA6/TxD6/IRQ6/SPDIF_IN/DV0_DATA14

1000msec

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

アプリケーションノート AN1610

ALPHA PROJECT Co.,LTD.

http://www.apnet.co.jp

AN1610 AP-RZA-1A ベアメタル サンプルプログラム(GCC)解説

Copyright©2018 ALPHA PROJECT Co.,LTD All right reserved

3.2.3 LCD-KIT 動作について

3.2.3.1 LCD-KIT の設定

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

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

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

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

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

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

\sample\ap_rza_1a\src\lcdkit_app.h(19~26 行目)

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

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

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

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

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

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

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

26 : */

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

AP-RZA-1A と接続した LCD-KIT と、プロジェクトで指定した LCD-KIT に相違がないようにマクロの変更と

ビルドには十分ご注意ください。

2

1

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

アプリケーションノート AN1610

ALPHA PROJECT Co.,LTD.

http://www.apnet.co.jp

AN1610 AP-RZA-1A ベアメタル サンプルプログラム(GCC)解説

Copyright©2018 ALPHA PROJECT Co.,LTD All right reserved

3.2.3.2 LCD-KIT の動作概要

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

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

● LCD 画面上にカラーバーを表示します。

● LCD 画面をなぞるとその軌跡に沿って線が引かれます。

LCD-KIT-C01動作時は一線のみ、LCD-KIT-B01, D01, D02動作時は同時に二線までを描くことができます。

● LCD 画面を一度タップすると、次から描く線色が変わります。

(赤 → 緑 → 青 → 白 → 黒 → 赤 → …)

● LCD 画面を二度タップすると、現在描かれている線が全て消去されます。

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

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

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

LCD-KIT-C01 使用時に本サンプルプログラムの動作を開始すると、画面にカラーバーを表示した後に、

画面左上に赤色の十字のポインタが表示されます。

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

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

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

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

その後の動作は LCD-KIT-B01, D01, D02 と同様です。

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

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

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

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

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

① ②

③ ④

LCD-KIT-C01

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

アプリケーションノート AN1610

ALPHA PROJECT Co.,LTD.

http://www.apnet.co.jp

AN1610 AP-RZA-1A ベアメタル サンプルプログラム(GCC)解説

Copyright©2018 ALPHA PROJECT Co.,LTD All right reserved

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

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

ONCHIP_SRAM

NOCACHE

.nocache_area

ONCHIP_SRAM

.arm_lib_heap

.abt_stack

.svc_stack

.fiq_stack

.irq_stack

.arm_lib_stack

.bss

.data

.rodata

.text

.vector_mirror

.code_handler

.spif_init

.vectors

TTB .ttb

ロード領域 実行領域

0xFFFF FFFF

0x2060 0000

0x2002 0000

0x2000 0000

0x0000 0000 0x0000 0000

0x2000 0000

0x2002 0000

0x2010 0000

0x2030 0000

0x2040 0000

0x2040 4000

0x2040 5000

0x2040 6000

0x2040 7000

0x2040 8000

0x2060 0000

0xFFFF FFFF

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

アプリケーションノート AN1610

ALPHA PROJECT Co.,LTD.

http://www.apnet.co.jp

AN1610 AP-RZA-1A ベアメタル サンプルプログラム(GCC)解説

Copyright©2018 ALPHA PROJECT Co.,LTD All right reserved

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

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

ONCHIP_SRAM

NOCACHE

.nocache_area

ONCHIP_SRAM

.arm_lib_heap

.abt_stack

.svc_stack

.fiq_stack

.irq_stack

.arm_lib_stack

.bss

.data

.rodata

.text

.vector_mirror

.ttb

SERIAL_FLASH .code_handler

.spif_init

.vectors

ロード領域 実行領域

0xFFFF FFFF

0x2060 0000

0x2000 0000

0x1800 0000

0x0000 0000 0x0000 0000

0x1800 0000

0x2000 0000

0x2010 0000

0x2030 0000

0x2040 0000

0x2040 4000

0x2040 5000

0x2040 6000

0x2040 7000

0x2040 8000

0x2060 0000

0xFFFF FFFF

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

アプリケーションノート AN1610

ALPHA PROJECT Co.,LTD.

http://www.apnet.co.jp

AN1610 AP-RZA-1A ベアメタル サンプルプログラム(GCC)解説

Copyright©2018 ALPHA PROJECT Co.,LTD All right reserved

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

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

ご注意

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

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

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

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

ください。

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

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

い。

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

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