...

AN1603 AP-RZA-0A ベアメタルサンプルプログラム解説

by user

on
Category: Documents
15

views

Report

Comments

Transcript

AN1603 AP-RZA-0A ベアメタルサンプルプログラム解説
アプリケーションノート
AN1603
ALPHA PROJECT Co.,LTD.
AP-RZA-0A (RZ/A1H CPU BOARD)
ベアメタルサンプルプログラム解説
1版
1.
2014年 1月20日
概要 .......................................................................2
1.1 概要 ..................................................................................... 2
1.2 動作モード ............................................................................... 2
1.3 開発環境について ......................................................................... 6
1.4 ワークスペースについて ................................................................... 6
2.
サンプルプログラムの構成 ...................................................7
2.1 フォルダ構成 ............................................................................. 7
2.2 ファイル構成 ............................................................................. 8
3.
AP-RZA-0A サンプルプログラム...............................................10
3.1 ビルド・デバッグ方法 .................................................................... 10
3.2 動作説明 ................................................................................ 21
3.3 RAM 動作時のメモリマップ ................................................................. 23
3.4 ROM 動作時のメモリマップ ................................................................. 24
1
アプリケーションノート
1.
AN1603
ALPHA PROJECT Co.,LTD.
概要
1.1
概要
本アプリケーションノートでは、AP-RZA-0A に付属するサンプルプログラムについて解説します。
本サンプルプログラムの概要を以下に記します。
サンプルプログラム
ベアメタルサンプルプログラム
動作内容
・タイマ割り込み
・シリアル通信
・LED 制御
1.2
動作モード
本サンプルプログラムは、AP-RZA-0A で動作します。CPU 動作モード、各メモリ設定は下記のようになっています。
モードの設定方法等につきましては、「AP-RZA-0A ハードウェアマニュアル」をご覧下さい。
なお、下記条件以外で動作させる場合には、ソースファイルやコンパイラオプションなどを変更する必要があります。
ブートモード
:
ブートモード3(シリアルフラッシュブート)
SDRAM 設定
:
SDRAM を使用する
USB1 設定
:
USB ホストモード
AUDIO 設定
:
オーディオを使用する
Ethernet 設定
:
Ethernet を使用する
2
アプリケーションノート
AN1603
ALPHA PROJECT Co.,LTD.
JSW3
JSW4
JP3
JSW1
JP4
SW2
3
AN1603
アプリケーションノート
ALPHA PROJECT Co.,LTD.
CPU ボードの設定を製品出荷時の設定とし、使用方法に合わせて以下の各スイッチの設定を行ってください。
JP3, 4 は短絡されている状態とします。
・SW2
SW2
O
N
<SW2 設定>
ブートモード
: CS3(SPI フラッシュ)ブート
6
5
4
3
2
1
・JSW1
<JSW1 設定>
: 使用する
OFF
JSW1
ON
ボード上の SDRAM
・JSW2
<JSW2 設定>
HOST
USB1 の動作モード
: USB ホストモード
FUNC
JSW2
・JSW3
ON
OFF
<JSW3 設定>
Ethernet
JSW3
4
: 使用する
アプリケーションノート
AN1603
ALPHA PROJECT Co.,LTD.
・JSW4
<JSW4 設定>
AUDIO
ON
OFF
JSW4
5
: 使用する
アプリケーションノート
1.3
AN1603
ALPHA PROJECT Co.,LTD.
開発環境について
本サンプルプログラムは総合開発環境 ARM Development Studio 5TM (DS-5TM)を用いて開発されています。
サンプルプログラムに対応する開発環境、コンパイラのバージョンは次のようになります。
開発環境
ARM
バージョン
5.17.0
コンパイラ名
ARM Compiler
バージョン
備考
5.04
Development
Studio 5
1.4
ワークスペースについて
本サンプルプログラムの総合開発環境 ARM Development Studio 5 ワークスペースは次のフォルダに格納されています。
サンプルプログラム
ベアメタル
フォルダ
\sample\ap_rza_0a
サンプルプログラム
プロジェクトフォルダ
6
アプリケーションノート
2.
AN1603
ALPHA PROJECT Co.,LTD.
サンプルプログラムの構成
2.1
フォルダ構成
サンプルプログラムは下記のようなフォルダ構成になっています。
sample
ap_rza_0a
サンプルプログラムワークフォルダ
BAT
バイナリ生成用バッチファイルフォルダ
Debug
RAM 動作用ワークフォルダ
Release
ROM 動作用ワークフォルダ
SCAT
スキャッタローディングファイルフォルダ
SRC
ソースファイルフォルダ
ap_rza_0a
boot
gpio
handler
intc
scif
timer
vector
common.h
main.c
ボード依存部ソースフォルダ
ブート処理フォルダ
GPIO ドライバフォルダ
ハンドラフォルダ
割り込みコントローラドライバフォルダ
SCIF ドライバフォルダ
タイマドライバフォルダ
ベクタテーブルフォルダ
共通ヘッダファイル
メインソースファイル
7
アプリケーションノート
2.2
AN1603
ALPHA PROJECT Co.,LTD.
ファイル構成
サンプルプログラムは以下のファイルで構成されています。
<\sample フォルダ内>
ap_rza_0a
・・・
AP-RZA-0A サンプルプログラムワークフォルダ
.cproject
・・・
CPROJECT ファイル
.project
・・・
PROJECT ファイル
・・・
バイナリファイル生成用バッチファイル
・・・
サンプルプログラム RAM 動作用オブジェクトファイル
<\sample\ap_rza_0a フォルダ内>
<\sample\ap_rza_0a\BAT フォルダ内>
make_bin.bat
<\sample\ap_rza_0a\Debug フォルダ内>
ap_rza_0a.axf
コンパイル後は SRC フォルダが生成され、SRC フォルダ下に
オブジェクトファイル等が生成されます。
<\sample\ap_rza_0a\Release フォルダ内>
ap_rza_0a.axf
・・・
サンプルプログラム ROM 動作用オブジェクトファイル
ap_rza_0a.bin
・・・
サンプルプログラム ROM 動作用バイナリファイル
コンパイル後は SRC フォルダが生成され、SRC フォルダ下に
オブジェクトファイル等が生成されます。
<\sample\ap_rza_0a\SCAT フォルダ内>
ap_rza_0a_ram.scat
・・・
サンプルプログラム RAM 動作用スキャッタローディング
ファイル
ap_rza_0a_rom.scat
・・・
サンプルプログラム ROM 動作用スキャッタローディング
ファイル
<\sample\ap_rza_0a_rtxSRC\ap_rza_0a フォルダ内>
iodefine
・・・
RZ 内部レジスタ定義ヘッダファイルフォルダ
iodefine.h
・・・
内部レジスタ定義ファイル
r_typedefs.h
・・・
型宣言ファイル
Renesas_RZ_A1.h
・・・
ペリフェラルアクセスヘッダファイル
resetprg.c
・・・
main()前処理ファイル
startup.s
・・・
スタートアップ処理ファイル
ttb.s
・・・
TTB 作成処理ファイル
vbar.s
・・・
VBAR 設定処理ファイル
boot.c
・・・
ブート処理ファイル
boot.h
・・・
ブート処理ヘッダファイル
<\sample\ap_rza_0aSRC\boot フォルダ内>
8
アプリケーションノート
AN1603
ALPHA PROJECT Co.,LTD.
<\sample\ap_rza_0aSRC\gpio フォルダ内>
gpio.c
・・・
GPIO ドライバファイル
gpio.h
・・・
GPIO ドライバヘッダファイル
handler.c
・・・
個別割り込みハンドラファイル
irqfiqhandler.s
・・・
IRQ, FIRQ ハンドラファイル
intc.c
・・・
割り込みコントローラドライバファイル
intc.h
・・・
割り込みコントローラドライバヘッダファイル
scif.c
・・・
シリアル通信ドライバファイル
scif.h
・・・
シリアル通信ドライバヘッダファイル
timer.c
・・・
タイマドライバファイル
timer.h
・・・
タイマドライバヘッダファイル
vectors.s
・・・
ベクタテーブルファイル
vectors_mirror.s
・・・
ミラーベクタテーブルファイル
<\sample\ap_rza_0aSRC\handler フォルダ内>
<\sample\ap_rza_0aSRC\intc フォルダ内>
<\sample\ap_rza_0aSRC\scif フォルダ内>
<\sample\ap_rza_0aSRC\timer フォルダ内>
<\sample\ap_rza_0aSRC\vector フォルダ内>
9
アプリケーションノート
3.
AN1603
ALPHA PROJECT Co.,LTD.
AP-RZA-0A サンプルプログラム
3.1
ビルド・デバッグ方法
(1) プロジェクトのインポート
①
DS-5 を起動し、メニューバーの[ファイル]→[インポート]を選択します。
10
アプリケーションノート
AN1603
ALPHA PROJECT Co.,LTD.
②
[既存のプロジェクトをワークスペースへ]を選択し[次へ]を選択します。
③
[ルート・ディレクトリーの選択]を選択し、[参照]からサンプルプログラムのフォルダを選択します。
11
アプリケーションノート
④
AN1603
ALPHA PROJECT Co.,LTD.
[終了]を選択します。
12
アプリケーションノート
⑤
AN1603
ALPHA PROJECT Co.,LTD.
ナビゲータウィンドウにサンプルプログラムのプロジェクトが追加されていることを確認します。
13
アプリケーションノート
AN1603
ALPHA PROJECT Co.,LTD.
(2) プロジェクトのビルド
メニューからビルドアイコンを選択します。アイコン横の下矢印をクリックすることでコンフィグレーションごとの
ビルドが可能です。
\Debug ワークフォルダに RAM 動作用のオブジェクトファイルが、\Release ワークフォルダ内に ROM 動作用の
オブジェクトファイルが生成されます。
DS-5 の詳細な使用方法に関しては DS-5 のマニュアルを参照してください。
14
アプリケーションノート
AN1603
(3)
RAM 上でのデバッグ
(3)
RAM 上でのデバッグ
ALPHA PROJECT Co.,LTD.
①
「「DS-5 デバッグ」 パースペクティブ」をクリックし、DS-5 のデバッグ画面へ移行します。
②
「実行」→「デバッグコンフィグレーション」を選択します。
15
アプリケーションノート
AN1603
ALPHA PROJECT Co.,LTD.
③
「DS-5 デバッガ」を選択します。
④
「名前(N)」に「ap_rza_0a_rtx_sample」と入力し、ターゲットに「Renesas」→「RZ/A1H R7S721001」→「BereMetal
Debug」→「Debug Cortex-A9」を選択します。
16
アプリケーションノート
⑤
AN1603
ALPHA PROJECT Co.,LTD.
「ターゲット接続」を「ULINK2」に設定し、「接続」の「Browse...」を選択してホスト PC に接続しているデバッガ
(ULINK2)を選択します。
17
アプリケーションノート
⑥
AN1603
ALPHA PROJECT Co.,LTD.
「ファイル」タブを選択し、「ワークスペース」からビルドしたオブジェクトファイル(ap_rza_0a.axf)を選択しま
す。
18
アプリケーションノート
AN1603
⑦
「適用」を選択し、「閉じる」を選択します。
⑧
「ターゲットに接続」アイコンを選択します。
ALPHA PROJECT Co.,LTD.
19
アプリケーションノート
⑨
AN1603
ALPHA PROJECT Co.,LTD.
デバッガがターゲットに接続された後、デバッグを行います。
20
アプリケーションノート
3.2
AN1603
ALPHA PROJECT Co.,LTD.
動作説明
3.2.1 ブート処理
AP-RZA-0A のブートモードがブートモード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 から入手が可能です。
http://japan.renesas.com/products/mpumcu/rz/Documentation.jsp
http://japan.renesas.com/products/mpumcu/rz/Application_Notes.jsp
21
アプリケーションノート
AN1603
ALPHA PROJECT Co.,LTD.
3.2.1 サンプルプログラム概要
サンプルプログラムは、下記の動作を行います。
●
SCIF4 でエコーバックを行います。
(送受信割り込み使用)
SCIF4 から受信した値をそのまま、SCIF4 へ送信します。
COM ポートの設定は、38400bps、ビット長 8、パリティなし、ストップビット1、フロー制御なしです。
動作確認は、ホスト PC 上のターミナルソフト(ハイパーターミナルなど)を使用して行って下さい。
●
LD1(緑の LED)を 500msec 間隔で ON/OFF します。
●
CN1 のポートより方形波を出力します。周期とピン番号を下記の表に示します。
方形波出力端子一覧
ピン番号
ピン名
周期
CN1.5
P5_8/LCD0_EXTCLK/IRQ0/DV1_CLK/DV0_CLK/CS
10msec
CN1.14
P7_8/RD/SSISCK3/CRx0/TIOC3A/IRQ1
10msec
CN2.48
P5_10/WE3/DQMUU/AH/DV0_HSYNC/CTx1/
10msec
IETxD/LCD1_DATA17
信号名に#がついているものは負論理を表します。
22
備考
アプリケーションノート
3.3
AN1603
ALPHA PROJECT Co.,LTD.
RAM 動作時のメモリマップ
メモリマップを以下に示します。
23
アプリケーションノート
3.4
AN1603
ALPHA PROJECT Co.,LTD.
ROM 動作時のメモリマップ
メモリマップを以下に示します。
24
アプリケーションノート
AN1603
ALPHA PROJECT Co.,LTD.
ご注意
・本文書の著作権は(株)アルファプロジェクトが保有します。
・本文書の内容を無断で転載することは一切禁止します。
・本文書に記載されている内容についての質問等のサポートは一切受け付けておりませんのでご了承ください。
・本文書の内容については、万全を期して作成いたしましたが、万一ご不審な点、誤りなどお気付きの点がありましたら弊社までご連絡
下さい。
・本サンプルプログラムに関して、ARM 社およびルネサスエレクトロニクス社への問い合わせはご遠慮ください。
・本文書の内容に基づき、アプリケーションを運用した結果、万一損害が発生しても、弊社では一切責任を負いませんのでご了承下さい。
・本文書の内容は、将来予告なしに変更されることがあります。
商標について
・ARM Development Studio 5TM (DS-5TM) は ARM 社の登録商標、商標または商品名称です。
・RZ および RZ/A1H は、ルネサスエレクトロニクス株式会社の登録商標、商標または商品名称です
・その他の会社名、製品名は、各社の登録商標または商標です。
ALPHA PROJECT Co.,LTD.
株式会社アルファプロジェクト
〒431-3114
静岡県浜松市東区積志町834
http://www.apnet.co.jp
E-MAIL : [email protected]
25
Fly UP