Comments
Description
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