...

AP-RZA-0A RTXサンプルプログラム解説

by user

on
Category: Documents
43

views

Report

Comments

Transcript

AP-RZA-0A RTXサンプルプログラム解説
アプリケーションノート
AN1602
ALPHA PROJECT Co.,LTD.
AP-RZA-0A (RZ/A1H CPU BOARD)
RTX サンプルプログラム解説
2版 2015年 10月2日
1.
概要 ...................................................................................................... 2
1.1 概要 .......................................................................................................................... 2
1.2 RTX について .............................................................................................................. 2
1.3 動作モード .................................................................................................................. 2
1.4 開発環境について ......................................................................................................... 6
1.5 ワークスペースについて................................................................................................. 6
2.
サンプルプログラムの構成 .......................................................................... 7
2.1 フォルダ構成 ............................................................................................................... 7
2.2 ファイル構成 ............................................................................................................... 8
3.
AP-RZA-0A サンプルプログラム................................................................13
3.1 ビルド・デバッグ方法 .................................................................................................. 13
3.1.1
プロジェクトのインポート ...................................................................................... 13
3.1.2
プロジェクトのビルド ............................................................................................ 16
3.1.3
RAM 上でのデバッグ .............................................................................................. 17
3.1.4
ROM 上でのデバッグ ............................................................................................. 22
3.2 動作説明 .................................................................................................................... 27
3.2.1
ブート処理 .......................................................................................................... 27
3.2.2
サンプルプログラム概要 ......................................................................................... 28
3.2.3
モニタプログラム概要 ............................................................................................ 29
3.2.4
モニタプログラムコマンド一覧................................................................................. 30
3.3 RAM 動作時のメモリマップ ........................................................................................... 36
3.4 ROM 動作時のメモリマップ ........................................................................................... 37
1
アプリケーションノート
1.
AN1602
ALPHA PROJECT Co.,LTD.
概要
1.1
概要
本アプリケーションノートでは、AP-RZA-0A に付属するサンプルプログラムについて解説します。
本サンプルプログラムの概要を以下に記します。
サンプルプログラム
RTX サンプルプログラム
動作内容
・RTX
・シリアル通信
・タイマ割り込み
・オーディオ入出力
・CAN 通信
・ビデオ入力
・LCD 出力
1.2
RTX について
CMSIS-RTOS RTX は ARMTM 社によって提供される無料の RTOS です。
ロイヤリティフリーであり、BSD ライセンスの下、ソースコードにて提供されるリアルタイムオペレーティングシステムです。
タイマ、セマフォ、シグナル管理、ミューテックス、メモリプール、メールボックスなどの機能を備えています。
CMSIS-RTOS RTX は ARM 純正リファレンスソフトウェア開発環境である ARM Development Studio5TM(DS-5TM) に
付属しています。
1.3
動作モード
本サンプルプログラムは、AP-RZA-0A で動作します。CPU 動作モード、各メモリ設定は下記のようになっています。
モードの設定方法等につきましては、「AP-RZA-0A ハードウェアマニュアル」をご覧下さい。
なお、下記条件以外で動作させる場合には、ソースファイルやコンパイラオプションなどを変更する必要があります。
ブートモード
:
ブートモード3(シリアルフラッシュブート)
SDRAM 設定
:
SDRAM を使用する
USB1 設定
:
USB ホストモード
AUDIO 設定
:
オーディオを使用する
Ethernet 設定
:
Ethernet を使用する
2
アプリケーションノート
AN1602
ALPHA PROJECT Co.,LTD.
JSW3
JSW4
JP3
JSW1
JP4
SW2
3
JSW2
AN1602
アプリケーションノート
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
: 使用する
アプリケーションノート
AN1602
ALPHA PROJECT Co.,LTD.
・JSW4
<JSW4 設定>
AUDIO
ON
OFF
JSW4
5
: 使用する
アプリケーションノート
1.4
AN1602
ALPHA PROJECT Co.,LTD.
開発環境について
本サンプルプログラムは総合開発環境 ARM Development Studio 5 (DS-5)を用いて開発されています。
サンプルプログラムに対応する開発環境、コンパイラのバージョンは次のようになります。
開発環境
ARM
バージョン
5.19.1
Development
コンパイラ名
バージョン
ARM
5.04 update 2
備考
DS-5 Renesas RZEdition
Compiler
Studio 5
1.5
ワークスペースについて
本サンプルプログラムの総合開発環境 ARM Development Studio 5 ワークスペースは次のフォルダに格納されています。
サンプルプログラム
RTX サンプルプログラム
フォルダ
\sample\ap_rza_0a_rtx
プロジェクトフォルダ
6
アプリケーションノート
2.
AN1602
ALPHA PROJECT Co.,LTD.
サンプルプログラムの構成
2.1
フォルダ構成
サンプルプログラムは下記のようなフォルダ構成になっています。
sample
ap_rza_0a_rtx
RTX サンプルプログラムプロジェクトフォルダ
BAT
バイナリ生成用バッチファイルフォルダ
Debug
RAM 動作用ワークフォルダ
FW
Flash 書き込み用ファイルフォルダ
Include
RTX インクルードフォルダ
Release
ROM 動作用ワークフォルダ
RTX
RTX フォルダ
SCAT
スキャッタローディングファイルフォルダ
SRC
ソースファイルフォルダ
ap_rza_0a
ボード依存部ソースフォルダ
audio
オーディオドライバフォルダ
boot
ブート処理フォルダ
clkgen
クロックジェレネータドライバフォルダ
dvdec
ビデオデコーダドライバフォルダ
eeprom
EEPROM ドライバフォルダ
gpio
GPIO ドライバフォルダ
lcdkit
LCDKIT ドライバフォルダ
monitor
モニタ用テストプログラムフォルダ
riic
RIIC ドライバフォルダ
rscan
RSCAN ドライバフォルダ
rspi
RSPI ドライバフォルダ
rtc
RTC ドライバフォルダ
scif
SCIF ドライバフォルダ
sflash
シリアルフラッシュドライバフォルダ
ssi
SSI ドライバフォルダ
vdc5
ビデオディスプレイコントローラドライバ
common.h
共通ヘッダファイル
main.c
メインソースファイル
retarget.c
出力再定義ファイル
7
アプリケーションノート
2.2
AN1602
ALPHA PROJECT Co.,LTD.
ファイル構成
サンプルプログラムは以下のファイルで構成されています。
<\sample フォルダ内>
ap_rza_0a_rtx
・・・
AP-RZA-0ARTX サンプルプログラムプロジェクトフォルダ
.cproject
・・・
CPROJECT ファイル
.project
・・・
PROJECT ファイル
Makefile
・・・
メイクファイル
<\sample\ap_rza_0a_rtx フォルダ内>
<\sample\ap_rza_0a_rtx\BAT フォルダ内>
make_bin.bat
・・・
バイナリファイル生成用バッチファイル
<\sample\ap_rza_0a_rtx\Debug フォルダ内>
ap_rza_0a_rtx.axf
・・・
サンプルプログラム RAM 動作用オブジェクトファイル
コンパイル後は SRC フォルダが生成され、SRC フォルダ下
にオブジェクトファイル等が生成されます。
<\sample\ap_rza_0a_rtx\FW フォルダ内>
BIN
・・・
書き込みバイナリファイル格納フォルダ
FlashWriter.ds
・・・
フラッシュ書き込み用デバッグスクリプトファイル
<\sample\ap_rza_0a_rtx\FW\BIN フォルダ内>
ap_rza_0a_rtx.bin
・・・
書き込み用バイナリファイル
\sample\rza_0a_rtx\Release フォルダ下にある
同一名称のファイルと同じものとなります。
8
アプリケーションノート
AN1602
ALPHA PROJECT Co.,LTD.
<\sample\ap_rza_0a_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_0a_rtx\Release フォルダ内>
ap_rza_0a_rtx.axf
・・・
サンプルプログラム ROM 動作用オブジェクトファイル
ap_rza_0a_rtx.bin
・・・
サンプルプログラム ROM 動作用バイナリファイル
コンパイル後は SRC フォルダが生成され、SRC フォルダ下
にオブジェクトファイル等が生成されます。
<\sample\ap_rza_0a_rtx\RTX フォルダ内>
INC
・・・
RTX インクルードフォルダ
LIB
・・・
RTX ライブラリフォルダ
<\sample\ap_rza_0a_rtx\RTX\INC フォルダ内>
cmsis_os.h
・・・
RTX テンプレートヘッダファイル
RTX_CM_lib.h
・・・
RTX カーネルコンフィグレーションファイル
<\sample\ap_rza_0a_rtx\RTX\LIB フォルダ内>
ARM
・・・
ARM 用ライブラリフォルダ
<\sample\ap_rza_0a_rtx\RTX\LIB\ARM フォルダ内>
RTX_CA9_L.lib
・・・
Cortex-A9 用ライブラリファイル
RTX_CM0.lib
・・・
Cortex-M0 用ライブラリファイル
RTX_CM0_B.lib
・・・
Cortex-M0 用ライブラリファイル
RTX_CM3.lib
・・・
Cortex-M3 用ライブラリファイル
RTX_CM3_B.lib
・・・
Cortex-M3 用ライブラリファイル
RTX_CM4.lib
・・・
Cortex-M4 用ライブラリファイル
RTX_CM4_B.lib
・・・
Cortex-M4 用ライブラリファイル
9
アプリケーションノート
AN1602
ALPHA PROJECT Co.,LTD.
<\sample\ap_rza_0a_rtx\SCAT フォルダ内>
ap_rza_0a_rtx_ram.scat
・・・
サンプルプログラム RAM 動作用
スキャッタローディングファイル
ap_rza_0a_rtx_rom.scat
・・・
サンプルプログラム ROM 動作用
スキャッタローディングファイル
<\sample\ap_rza_0a_rtx\RTX\SRC フォルダ内>
common.h
・・・
共通インクルードヘッダファイル
main.c
・・・
メイン処理
retarget.c
・・・
C ライブラリ用再実装
<\sample\ap_rza_0a_rtx\RTX\SRC\ap_rza_0a フォルダ内>
ARM
・・・
ARM 処理フォルダ
iodefine
・・・
RZ 内部レジスタ定義ヘッダファイルフォルダ
gic.c
・・・
GIC ファンクション処理
gic.h
・・・
GIC ファンクションヘッダファイル
iodefine.h
・・・
内部レジスタ定義ファイル
mmu_Renesas_RZ_A1.c
・・・
MMU スタートアップ処理
pl310.c
・・・
PL310 処理
pl310.h
・・・
PL310 処理ヘッダファイル
r_typedefs.h
・・・
型宣言ファイル
Renesas_RZ_A1.h
・・・
ペリフェラルアクセスヘッダファイル
RTX_Conf_CM.c
・・・
RTX コンフィグレーションファイル
system_Renesas_RZ_A1.c
・・・
RTX デバイス処理
system_Renesas_RZ_A1.h
・・・
RTX デバイス処理ヘッダファイル
typedefine.h
・・・
型宣言ファイル
<\sample\ap_rza_0a_rtx\RTX\SRC\audio フォルダ内>
max9867.c
・・・
MAX9867 ドライバ
max9867.h
・・・
MAX9867 ドライバヘッダファイル
<\sample\ap_rza_0a_rtx\RTX\SRC\boot フォルダ内>
boot.c
・・・
ブート処理
boot.h
・・・
ブート処理ヘッダファイル
<\sample\ap_rza_0a_rtx\RTX\SRC\clkgen フォルダ内>
cdce913.c
・・・
クロックジェネレータドライバ
cdce913.h
・・・
クロックジェネレータドライバヘッダファイル
10
アプリケーションノート
AN1602
ALPHA PROJECT Co.,LTD.
<\sample\ap_rza_0a_rtx\RTX\SRC\dvdec フォルダ内>
dvdec.c
・・・
ビデオデコーダドライバ
dvdec.h
・・・
ビデオデコーダドライバヘッダファイル
dvdec_filter.h
・・・
ビデオデコーダフィルタ設定値ヘッダファイル
dvdec_param.h
・・・
ビデオデコーダパラメータヘッダファイル
<\sample\ap_rza_0a_rtx\RTX\SRC\eeprom フォルダ内>
24lc01b.c
・・・
EEPROM ドライバ
24lc01b.h
・・・
EEPROM ドライバヘッダファイル
<\sample\ap_rza_0a_rtx\RTX\SRC\gpio フォルダ内>
gpio.c
・・・
GPIO ドライバ
gpio.h
・・・
GPIO ドライバヘッダファイル
<\sample\ap_rza_0a_rtx\RTX\SRC\lcdkit フォルダ内>
lcdkit_b01
・・・
LCD-KIT-B01 ドライバフォルダ
lcdkit_c01
・・・
LCD-KIT-C01 ドライバフォルダ
lcdkit_d01
・・・
LCD-KIT-D01 ドライバフォルダ
lcdkit.c
・・・
LCD-KIT ドライバファイル
lcdkit.h
・・・
LCD-KIT ドライバヘッダファイル
<\sample\ap_rza_0a_rtx\RTX\SRC\lcdkit\lcdkit_b01 フォルダ内>
lcdkit_b01.c
・・・
LCD-KIT-B01 ドライバファイル
lcdkit_b01.h
・・・
LCD-KIT-B01 ドライバヘッダファイル
<\sample\ap_rza_0a_rtx\RTX\SRC\lcdkit\lcdkit_c01 フォルダ内>
lcdkit_c01.c
・・・
LCD-KIT-C01 ドライバファイル
lcdkit_c01.h
・・・
LCD-KIT-C01 ドライバヘッダファイル
<\sample\ap_rza_0a_rtx\RTX\SRC\lcdkit\lcdkit_d01 フォルダ内>
lcdkit_d01.c
・・・
LCD-KIT-D01 ドライバファイル
lcdkit_d01.h
・・・
LCD-KIT-D01 ドライバヘッダファイル
11
アプリケーションノート
AN1602
ALPHA PROJECT Co.,LTD.
<\sample\ap_rza_0a_rtx\RTX\SRC\monitor フォルダ内>
ascii.h
・・・
アスキーコード定義ファイル
mon_audio.c
・・・
オーディオサンプル処理
mon_audio.h
・・・
オーディオサンプル処理ヘッダファイル
mon_can.c
・・・
CAN サンプル処理
mon_can.h
・・・
CAN サンプル処理ヘッダファイル
mon_eeprom.c
・・・
EEPROM サンプル処理
mon_eeprom.h
・・・
EEPROM サンプル処理ヘッダファイル
mon_serial.c
・・・
シリアルサンプル処理
mon_serial.h
・・・
シリアルサンプル処理ヘッダファイル
monitor.c
・・・
サンプルメイン処理
monitor.h
・・・
サンプルメイン処理ヘッダファイル
<\sample\ap_rza_0a_rtx\RTX\SRC\riic フォルダ内>
riic.c
・・・
RIIC ドライバ
riic.h
・・・
RIIC ドライバヘッダファイル
<\sample\ap_rza_0a_rtx\RTX\SRC\rscan フォルダ内>
rscan.c
・・・
RSCAN ドライバ
rscan.h
・・・
RSCAN ドライバヘッダファイル
<\sample\ap_rza_0a_rtx\RTX\SRC\rspi フォルダ内>
rspi.c
・・・
RSPI ドライバ
rspi.h
・・・
RSPI ドライバヘッダファイル
<\sample\ap_rza_0a_rtx\RTX\SRC\s35390a フォルダ内>
s35390a.c
・・・
S35390A ドライバ
s35390a.h
・・・
S35390A ドライバヘッダファイル
<\sample\ap_rza_0a_rtx\RTX\SRC\scif フォルダ内>
scif.c
・・・
シリアル通信ドライバ
scif.h
・・・
シリアル通信ドライバヘッダファイル
<\sample\ap_rza_0a_rtx\RTX\SRC\sflash フォルダ内>
sflash.c
・・・
シリアル FlashROM ドライバファイル
sflash.h
・・・
シリアル FlashROM ヘッダファイル
<\sample\ap_rza_0a_rtx\RTX\SRC\ssi フォルダ内>
ssi.c
・・・
SSI ドライバ
ssi.h
・・・
SSI ドライバヘッダファイル
<\sample\ap_rza_0a_rtx\RTX\SRC\vdc5 フォルダ内>
vdc5.c
・・・
ビデオディスプレイコントローラドライバファイル
vdc5.h
・・・
ビデオディスプレイコントローラドライバヘッダファイル
12
アプリケーションノート
3.
AN1602
ALPHA PROJECT Co.,LTD.
AP-RZA-0A サンプルプログラム
3.1
ビルド・デバッグ方法
3.1.1
プロジェクトのインポート
①
DS-5 を起動し、メニューバーの [ファイル]→ [インポート]を選択します。
②
[既存のプロジェクトをワークスペースへ]を選択し [次へ]を選択します。
13
アプリケーションノート
AN1602
ALPHA PROJECT Co.,LTD.
③
[ルート・ディレクトリーの選択]を選択し、[参照]からサンプルプログラムのフォルダを選択します。
④
[終了]を選択します。
14
アプリケーションノート
⑤
AN1602
ALPHA PROJECT Co.,LTD.
ナビゲータウィンドウにサンプルプログラムのプロジェクトが追加されていることを確認します。
15
アプリケーションノート
3.1.2
AN1602
ALPHA PROJECT Co.,LTD.
プロジェクトのビルド
メニューの「ビルド」アイコンを選択します。
構成が Debug の場合、\Debug ワークフォルダに RAM 動作用のオブジェクトファイルが、Release の場合、
\Release ワークフォルダ内に ROM 動作用のオブジェクトファイルが生成されます。
DS-5 の詳細な使用方法に関しては DS-5 のマニュアルを参照してください。
16
アプリケーションノート
3.1.3
AN1602
ALPHA PROJECT Co.,LTD.
RAM 上でのデバッグ
①
「「DS-5
デバッグ」
パースペクティブ」をクリックし、DS-5 のデバッグ画面へ移行します。
②
「実行」→「デバッグコンフィグレーション」を選択します。
17
アプリケーションノート
AN1602
ALPHA PROJECT Co.,LTD.
③
「DS-5 デバッガ」を選択し、[新規の起動構成]を選択します。
④
「名前(N)」に「ap_rza_0a_rtx_ram_sample」と入力し、ターゲットに「Renesas」→
「RZ/A1H R7S721001」→「BereMetal Debug」→「Debug Cortex-A9」を選択します。
18
アプリケーションノート
⑤
AN1602
ALPHA PROJECT Co.,LTD.
「ターゲット接続」を「ULINK2」に設定し、「接続」の「参照...」を選択して
ホスト PC に接続しているデバッガ(ULINK2)を選択します。
19
アプリケーションノート
⑥
AN1602
ALPHA PROJECT Co.,LTD.
「ファイル」タブを開き、「ワークスペース」から
RAM デバッグ用にビルドしたオブジェクトファイル(ap_rza_0a_rtx.axf)を選択します。
20
アプリケーションノート
⑦
AN1602
ALPHA PROJECT Co.,LTD.
「OS の認識機能」タブを開き、プルダウンメニューから「Keil CMSIS-RTOS RTX」を選択し、
「適用」を選択し、「閉じる」を選択します。
⑧
「ターゲットに接続」アイコンを選択します。
⑨
デバッガがターゲットに接続された後、デバッグを行います。
21
アプリケーションノート
3.1.4
AN1602
ALPHA PROJECT Co.,LTD.
ROM 上でのデバッグ
ROM デバッグを行う際には、事前にアプリケーションノート
「AN1604 AP-RZA-0A (RZ/A1H CPU BOARD) シリアル FlashROM の書き込み方法」を参考に、
ボード上のシリアルフラッシュにサンプルプログラム ROM 動作用バイナリファイルを書き込む必要がございます。
①
「「DS-5
デバッグ」
パースペクティブ」をクリックし、DS-5 のデバッグ画面へ移行します。
②
「実行」→「デバッグコンフィグレーション」を選択します。
22
アプリケーションノート
AN1602
ALPHA PROJECT Co.,LTD.
③
「DS-5 デバッガ」を選択し、[新規の起動構成]を選択します。
④
「名前(N)」に「ap_rza_0a_rtx_rom_sample」と入力し、ターゲットに「Renesas」→
「RZ/A1H R7S721001」→「BereMetal Debug」→「Debug Cortex-A9」を選択します。
23
アプリケーションノート
⑤
AN1602
ALPHA PROJECT Co.,LTD.
「ターゲット接続」を「ULINK2」に設定し、「接続」の「参照...」を選択して
ホスト PC に接続しているデバッガ(ULINK2)を選択します。
24
アプリケーションノート
⑥
AN1602
ALPHA PROJECT Co.,LTD.
「ファイル」タブを開き、「ワークスペース」から
ROM デバッグ用にビルドしたオブジェクトファイル(ap_rza_0a_rtx.axf)を選択します。
25
アプリケーションノート
⑦
AN1602
ALPHA PROJECT Co.,LTD.
「OS の認識機能」タブを開き、プルダウンメニューから「Keil CMSIS-RTOS RTX」を選択し、
「適用」を選択し、「閉じる」を選択します。
⑧
「ターゲットに接続」アイコンを選択します。
⑨
デバッガがターゲットに接続された後、デバッグを行います。
26
アプリケーションノート
3.2
AN1602
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
27
アプリケーションノート
3.2.2
AN1602
ALPHA PROJECT Co.,LTD.
サンプルプログラム概要
サンプルプログラムは、下記の動作を行います。
●
SCIF4 でエコーバックを行います。(送受信割り込み使用)
SCIF4 から受信した値をそのまま、SCIF4 へ送信します。
COM ポートの設定は、115200bps、ビット長 8、パリティなし、ストップビット1、フロー制御なしです。
動作確認は、ホスト PC 上のターミナルソフト(ハイパーターミナルなど)を使用して行って下さい。
起動後、サンプルプログラムはこの動作を行います。このとき、SCIF から EXT コード(0x03)を受信した
場合、後述するモニタプログラムが動作します。
●
LD1(緑の LED)を 500msec 間隔で ON/OFF します。(RTX OS タイマ使用)
●
拡張 I/O ポートより方形波を出力します。周期とピン番号を下記の表に示します。
タイミングの生成は RTXOS のタイマ機能を使用します。
●
上記を実行するためのスレッドとタイマを作成します。
各スレッド、タイマの設定については下記を参照してください。
方形波出力端子一覧
ピン番号
ピン名
周期
CN1.5
P5_8/LCD0_EXTCLK/IRQ0/DV1_CLK/DV0_CLK/CS2
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
信号名に#がついているものは負論理を表します。
RTXOS スレッド・タイマ一覧
種類
内容
優先度
スレッド
メインスレッド。RTXOS の初期化にて生成。
Normal
通常の main()のように扱われる。
スレッド
LED 点滅用スレッド。LED の点滅管理を行う。
Normal
スレッド
モニタスレッド。モニタプログラムの実行を行う。
Normal
タイマ
1 ミリ秒タイマ。
Normal
28
備考
アプリケーションノート
3.2.3
AN1602
ALPHA PROJECT Co.,LTD.
モニタプログラム概要
モニタプログラムは、シリアルコンソールを使用して AP-RZA-0A の動作を制御するプログラムです。
モニタプログラムはシリアルコンソールから別途定められたコマンドを受信することで動作を行います。
AP-RZA-0A とホスト PC モニタプログラム間の接続とコマンドのフォーマットを以下に記します。
USB ポートに接続
DC+5V
USB ケーブル
CN10
ホストコンピュータ
機種:PC/AT 互換機
OS :WindowsVista
Windows7
Windows8
PC-USB-04 など
RS232 レベル変換
アダプタ
AP-RZA-0A
MONITOR_CMD (ARG0) ARG1...<CR><LF>
●
MONITOR_CMD はコマンドを示します。
●
(ARG0) ARG1...はコマンドの引数を示します。コマンドによって有効な引数の数は変化します。
複数の引数を指定する場合はそれぞれの引数を半角スペースで区切ってください。
(ARG0)のように括弧で囲われている場合、その引数は省略することが可能です。
●
<CR><LF>はコマンドの終端を通知します。この 2byte の受信を待ってモニタプログラムは1つの
コマンドと認識します。
また、モニタプログラムにはディレクトリの概念が存在します。
全てのコマンドが常に実行可能ではなく、それぞれの機能を動作させるコマンドを実行するには
該当するディレクトリに移動する必要があります。
モニタプログラムが動作を開始した際、ディレクトリは最上位(root)に位置します。
29
アプリケーションノート
3.2.4
AN1602
ALPHA PROJECT Co.,LTD.
モニタプログラムコマンド一覧
モニタプログラムで使用可能なコマンドの一覧を以下に記します。
3.2.4.1
root ディレクトリコマンド一覧
コマンド
AUDIO<CR><LF>
説明
root ディレクトリから AUDIO ディレクトリに移動するコマンドで
す。
コマンド
CAN<CR><LF>
説明
root ディレクトリから CAN ディレクトリに移動するコマンドです。
コマンド
EEPROM<CR><LF>
説明
root ディレクトリから EEPROM ディレクトリに移動する
コマンドです。
コマンド
SERIAL<CR><LF>
説明
root ディレクトリから SERIAL ディレクトリに移動する
コマンドです。
root ディレクトリからのみ実行可能です。
コマンド実行後、モニタプログラムはシリアルエコーバック動作を
行います。終了する場合、シリアルコンソールから EXT コード
(0x03)を送信してください。
コマンド
VIDEO<CR><LF>
説明
root ディレクトリから VIDEO ディレクトリに移動する
コマンドです。
コマンド
RTCGET<CR><LF>
説明
RTC の値を読み出しシリアルコンソールに表示するコマンドです。
コマンド
RTCSET (YYYY/MM/DD) hh:mm:ss<CR><LF>
説明
RTC に時刻を設定するコマンドです。
YYYY/MM/DD : 年月日の設定となります。
hh:mm:ss
: 時分秒の設定となります。
30
アプリケーションノート
AN1602
ALPHA PROJECT Co.,LTD.
3.2.4.2 AUDIO ディレクトリコマンド一覧
AUDIO ディレクトリ内でのみ実行可能なコマンドを以下に記します。
コマンド
PLAY<CR><LF>
説明
RECORD コマンドで録音した音データを再生するコマンドです。
コマンド
RECORD SRC<CR><LF>
説明
AUDIO 入力端子からの入力音データを録音するコマンドです。
PLAY コマンドで録音したデータの再生が可能です。
SRC は録音データの種類を指定します。
3.2.4.3
LINE
: ライン入力データを録音します。
MIC
:
マイクロフォン入力データを録音します。
コマンド
REGREAD<CR><LF>
説明
外部サウンドデバイス IC のレジスタの値を読み出すコマンドです。
CAN ディレクトリコマンド一覧
CAN ディレクトリ内でのみ実行可能なコマンドを以下に記します。
CAN の通信ボーレートは 500kbps です。
コマンド
ECHO<CR><LF>
説明
受信した CAN のデータを同 ID・同データで送信するコマンドです。
コマンド実行後、シリアルコンソールから EXT コード(0x03)を
送信することでコマンド処理を終了します。
コマンド
LOG<CR><LF>
説明
受信した CAN のデータをシリアルコンソールに表示する
コマンドです。
コマンド実行後、シリアルコンソールから EXT コード(0x03)を
送信することでコマンド処理を終了します。
3.2.4.4
EEPROM ディレクトリコマンド一覧
EEPROM ディレクトリ内でのみ実行可能なコマンドを以下に記します。
コマンド
READ ADDR SIZE<CR><LF>
説明
EEPROM のデータを読み出しシリアルコンソールに表示する
コマンドです。
ADDR は読み出し開始アドレスを数値で指定します。
SIZE は読み出しデータサイズを数値で指定します。
31
アプリケーションノート
3.2.4.5
AN1602
ALPHA PROJECT Co.,LTD.
VIDEO ディレクトリコマンド一覧
※VIDEO コマンドディレクトリ内でのコマンドの実行には、
LCD-KIT-B01、LCD-KIT-C01、LCD-KIT-D01 いずれかの LCD-KIT が必要です。
※サンプルプログラムはデフォルトで LCD-KIT-B01 上で動作するように設定されております。
LCD-KIT-C01、あるいは、LCD-KIT-D01 上で動作を確認したい場合は、
下記ソースコードの赤字で示したマクロをそれぞれ「LCD_KIT_C01」あるいは「LCD_KIT_D01」に変更してください。
その後、DS-5 上で [プロジェクトをクリーンにする]を選択してから [プロジェクトのビルド]を選択して、
必ずプロジェクトの再ビルドを行ってください。
\sample\ap_rza_0a_rtx\SRC\monitor\mon_video.h(20 行目)
/* 対応 LCD */
#define LCD_KIT_DEFAULT_SELECT
LCD_KIT_B01
/* デフォルトでは LCD-KIT-B01 を設定 */
AP-RZA-0A と接続した LCD-KIT と、プロジェクトで設定した使用 LCD-KIT に相違がないように
マクロの変更とビルドには十分ご注意ください。
32
アプリケーションノート
AN1602
ALPHA PROJECT Co.,LTD.
VIDEO ディレクトリ内でのみ実行可能なコマンドを以下に記します。
コマンド
BACKLIGHT LX<CR><LF>
説明
LCD-KIT のバックライトを調整するコマンドです。
LX には明るさを 0 から 100 の値で指定します。
デフォルトの設定値は 100 となっています。
0 に近づけるほど画面は暗くなり、100 に近づけるほど画面は
明るくなります。
100 より大きい値を設定した場合、100 として実行されます。
コマンド
INPUT CH<CR><LF>
説明
ビデオ入力のチャンネルを指定します。
CH には 0 から 3 の値を指定します。
デフォルトの設定値は 0 となっており、CN7-1 の入力が LCD に
出力されます。
値を 1, 2, 3 と設定するとそれぞれ入力元が CN7-2, CN7-3, CN7-4
に設定されます。
33
アプリケーションノート
AN1602
ALPHA PROJECT Co.,LTD.
コマンド
TOUCH<CR><LF>
説明
LCD-KIT のタッチパネルを使用した動作を行います。
LCD をなぞるとその軌跡に線が引かれます。
LCD を一度タップすると、次から描く線の色が変わります。
LCD を二度続けてタップすると、現在描かれている線が全て
消去されます。
LCD を右あるいは左に弾くように擦る(フリックする)と、ビデオ
入力のチャンネルが変化します。
動作を終了するにはシリアルコンソールから 0x03(ETX)を
送信します。
※LCD-KIT-C01 で TOUCH コマンドを使用する時、キャリブレーション処理を行います。
LCD-KIT-C01 は、抵抗膜式タッチパネル付き LCD ボードです。
静電容量式の LCD-KIT-B01、LCD-KIT-D01 とは異なり、キャリブレーション処理を行う必要があります。
LCD-KIT-C01 使用時に TOUCH コマンドを実行すると、画面左上に赤色のポインタが表示されます。
ユーザはそのポインタに対してタッチ&リリースをしてください。
その後も順に右上、左下、右下の順にポインタが表示されますので、
同様にユーザは各ポインタに対してタッチ&リリースをしてください。
LCD-KIT-C01
①
②
③
④
画面に対して四回タッチ&リリースをするとキャリブレーション処理は終了です。
その後の動作は LCD-KIT-B01、LCD-KIT-D01 と同様です。
・キャリブレーション処理の補正は、リリースする直前のタッチ情報を基に計算されます。
TOUCH コマンド実行中に再度キャリブレーション処理を行いたい場合は、
シリアルコンソールから 0x01(SOH)を送信してください。
・TOUCH コマンドの動作を終了する際は、必ずキャリブレーション処理を終えてから 0x03(ETX)を
送信するようにしてください。
・LCD-KIT-C01 はマルチタッチに対応していません。同時に複数箇所に触れると誤動作する場合があります。
34
アプリケーションノート
AN1602
ALPHA PROJECT Co.,LTD.
接続の例として、AP-RZA-0A にビデオカメラと LCD-KIT-B01 を接続した場合、下図のような構成となります。
LCD-KIT-B01
ビデオ入力(NTSC)
CN12(背面)
CN7
LCD-KIT-B01 とボードの接続図
3.2.4.6
共通コマンド一覧
全てのディレクトリで実行可能なコマンドの一覧を以下に記します。
コマンド
..<CR><LF>
説明
1つ上位のディレクトリに移動するコマンドです。
全てのディレクトリから実行可能です。
root ディレクトリから実行した場合、何も行いません。
コマンド
HELP<CR><LF>
説明
現在のディレクトリで実行可能なコマンドの一覧をシリアル
コンソールに表示するコマンドです。
35
アプリケーションノート
3.3
AN1602
ALPHA PROJECT Co.,LTD.
RAM 動作時のメモリマップ
メモリマップを以下に示します。
36
アプリケーションノート
3.4
AN1602
ALPHA PROJECT Co.,LTD.
ROM 動作時のメモリマップ
メモリマップを以下に示します。
37
アプリケーションノート
AN1602
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]
38
Fly UP