...

RX64M グループ カメラ活用センサソリューション

by user

on
Category: Documents
246

views

Report

Comments

Transcript

RX64M グループ カメラ活用センサソリューション
アプリケーションノート
RX64M グループ
カメラ活用センサソリューション
RX Driver Package Application
R01AN2462JJxxxx
Rev.x.xx
2014.11.10
要旨
本資料は、カメラ活用センサソリューションのアプリケーションノートです。人物検知、動体検知、歪み補
正を実現しています。
評価には、RX64M 搭載のGR-KAEDE (以下、GR-KAEDE)が必要です。
Webカメラシステムは、GR-KAEDE搭載のカメラモジュールから取り込んだデータをJPEGファイルにエン
コードし、Webサーバシステムを使ってWebブラウザ上に表示します。
本アプリケーションノートでは、メインプログラムと Web サーバを、RX64M グループ用 RX Driver Package
に入っている TCP/IP プロトコルスタック(M3S-T4-Tiny)、Ethernet ドライバ等と組み合わせて評価するま
での手順について説明します。
動作確認デバイス
RX64M グループ(GR-KAEDE)
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 1 of 65
RX64M グループ
カメラ活用センサソリューション
RX Driver Package Application
目次
概要 ..................................................................................................................................5
1.
1.1
本アプリケーションノートについて............................................................................................. 5
1.2
動作環境 ........................................................................................................................................ 5
1.3
モジュール構成 ............................................................................................................................. 6
開発環境の入手 ................................................................................................................ 9
2.
2.1
e² studio を使用する場合 .............................................................................................................. 9
2.1.1
e² studio の入手とインストール方法 ...................................................................................... 9
2.1.2
コンパイラパッケージの入手方法 ........................................................................................ 10
2.1.3
3.0.1.09 へのアップデート ................................................................................................... 10
2.2
CubeSuite+を使用する場合 ........................................................................................................ 11
2.2.1
CubeSuite+の入手とインストール方法 ................................................................................ 11
評価環境にプロジェクトを読み込む .............................................................................. 13
3.
3.1
共通作業 ...................................................................................................................................... 13
3.2
e² studio を使用する場合 ............................................................................................................ 13
3.2.1
ワークスペースの作成 .......................................................................................................... 13
3.2.2
プロジェクトのインポート ................................................................................................... 14
3.3
CubeSuite+を使用する場合 ........................................................................................................ 17
動作確認 ......................................................................................................................... 18
4.
4.1
プロジェクトのビルド ................................................................................................................ 18
4.1.1
e² studio を使用する場合 ...................................................................................................... 18
4.1.2
CubeSuite+を使用する場合 .................................................................................................. 19
4.2
デバッグの準備 ........................................................................................................................... 19
4.2.1
機器の構成 ............................................................................................................................ 19
4.2.2
クライアント PC の設定 ....................................................................................................... 21
4.3
プロジェクトのデバッグ............................................................................................................. 24
4.3.1
e2 studio を使用する場合 ..................................................................................................... 24
4.3.2
CubeSuite+を使用する場合 .................................................................................................. 27
4.3.3
共通操作 ................................................................................................................................ 28
5.
LED 仕様 ........................................................................................................................ 34
6.
メインプログラム仕様.................................................................................................... 35
6.1
ファイル一覧 ............................................................................................................................... 35
6.2
モジュール一覧 ........................................................................................................................... 36
6.3
処理フロー .................................................................................................................................. 37
7.
Web サーバ仕様 ............................................................................................................. 38
7.1
性能概要 ...................................................................................................................................... 38
7.2
動作概要 ...................................................................................................................................... 38
7.3
CGI 機能 ...................................................................................................................................... 38
7.4
コンフィグレーション ................................................................................................................ 39
7.5
ファイル一覧 ............................................................................................................................... 40
7.6
API リファレンス ........................................................................................................................ 41
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 2 of 65
RX64M グループ
カメラ活用センサソリューション
RX Driver Package Application
7.6.1
R_httpd .................................................................................................................................. 41
7.6.2
R_httpd_pending_release_request ....................................................................................... 41
7.6.3
R_T4_HTTP_SERVER_GetVersion ..................................................................................... 41
7.7
ユーザ定義関数リファレンス (ファイル関連)....................................................................... 42
7.7.1
データ構造体......................................................................................................................... 42
7.7.2
change_dir ............................................................................................................................ 43
7.7.3
file_close ............................................................................................................................... 43
7.7.4
file_delete .............................................................................................................................. 44
7.7.5
file_open ................................................................................................................................ 44
7.7.6
file_read ................................................................................................................................ 45
7.7.7
file_rename ........................................................................................................................... 45
7.7.8
file_exist ................................................................................................................................ 46
7.7.9
file_write ................................................................................................................................ 46
7.7.10 get_file_info ........................................................................................................................... 47
7.7.11 get_file_list_info .................................................................................................................... 47
7.7.12 get_file_size .......................................................................................................................... 48
7.7.13 make_dir ............................................................................................................................... 48
7.7.14 remove_dir ............................................................................................................................ 49
7.8
ユーザ定義関数リファレンス(システムタイマ関連).............................................................. 49
7.8.1
データ構造体......................................................................................................................... 49
7.8.2
get_sys_time ......................................................................................................................... 50
7.9
サンプル CGI 関数 ...................................................................................................................... 51
7.9.1
cgi_sample_function ............................................................................................................. 51
Web カメラ仕様 ............................................................................................................. 52
8.
8.1
性能概要 ...................................................................................................................................... 52
8.2
動作概要 ...................................................................................................................................... 52
8.3
コンフィグレーション ................................................................................................................ 52
8.3.1
r_pdc_rx_config.h.................................................................................................................. 52
8.3.2
ov_image_sensor.h ............................................................................................................... 53
8.3.3
r_jpeg_enc_apl.h................................................................................................................... 53
8.3.4
r_pdc_apl.h ........................................................................................................................... 53
8.4
ファイル一覧 ............................................................................................................................... 53
8.5
API リファレンス ........................................................................................................................ 54
8.5.1
R_image_sensor_init ............................................................................................................ 54
8.5.2
R_image_sensor_write ......................................................................................................... 54
8.5.3
R_image_sensor_read .......................................................................................................... 54
8.5.4
R_jpeg_compress_init .......................................................................................................... 55
8.5.5
R_get_jpeg_output_adr ........................................................................................................ 55
8.5.6
R_get_jpeg_output_area_num ............................................................................................. 55
8.5.7
R_pdc_init ............................................................................................................................. 55
8.5.8
R_pdc_create ........................................................................................................................ 56
8.5.9
R_pdc_receive_again ........................................................................................................... 56
9.
画像処理仕様 .................................................................................................................. 57
9.1
性能概要 ...................................................................................................................................... 57
9.2
動作概要 ...................................................................................................................................... 57
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 3 of 65
RX64M グループ
カメラ活用センサソリューション
RX Driver Package Application
9.3
コンフィグレーション ................................................................................................................ 57
9.4
ファイル一覧 ............................................................................................................................... 58
9.5
API リファレンス ........................................................................................................................ 58
9.5.1
Mdl_IP_Init ............................................................................................................................ 58
9.5.2
Mdl_IP_PersonDetection ...................................................................................................... 58
9.5.3
Mdl_IP_PersonDetection_ParamChg ................................................................................... 59
9.5.4
Mdl_IP_MovingDetection ...................................................................................................... 59
9.5.5
Mdl_IP_MovingDetection_ParamChg ................................................................................... 60
9.5.6
Mdl_IP_ImgRevise ................................................................................................................ 60
9.5.7
Mdl_IP_ImgRevise_ParamChg............................................................................................. 61
10. e2 studio 使用時の注意点 ................................................................................................ 62
10.1 フォルダ名について .................................................................................................................... 62
10.2 ソースコードのエディットについて........................................................................................... 62
11. 補足 ................................................................................................................................ 62
11.1 無償評価版の「RX ファミリ用 C/C++コンパイラパッケージ」を利用する場合の注意事項 .... 62
11.2 Web ブラウザ上でのキャプチャデータ更新遅延について ......................................................... 62
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 4 of 65
RX64M グループ
1.
1.1
カメラ活用センサソリューション
RX Driver Package Application
概要
本アプリケーションノートについて
本資料は、カメラ活用ソリューションのアプリケーションノートです。
本アプリケーションノートは、GR-KAEDE 上で動作します。
1.2
動作環境
本アプリケーションノートの動作環境を以下に示します。
表 1.2.1 動作環境
対応MCU
評価ボード
RX64Mグループ
GR-KAEDE
統合開発環境
(IDE)
e² studio V3.0.1.09以降
または、
CubeSuite+ V2.02.00以降
RXファミリ用C/C++コンパイラパッケージV2.02.00以降
E1(別途購入必要)
Internet Explorer8
Internet Explorer11(互換表示設定で「192.168.0.3」を追加してください)
クロスツール
エミュレータ
Webブラウザ
図 1.2.1 動作環境の例
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 5 of 65
RX64M グループ
1.3
カメラ活用センサソリューション
RX Driver Package Application
モジュール構成
本アプリケーションノートのモジュール構成とモジュール一覧を以下に示します。
図 1.3.1 モジュール構成
表 1.3.1 モジュール一覧
FITモジュール名
r_bsp
バージョン
2.60
コンペアマッチタイマ(CMT)
イーサネットコントローラ(ETHERC)
DMA コントローラ(DMAC)
r_cmt_rx
r_ether_rx
r_dmaca_rx
2.30
1.00
1.01
SCI IIC Driver
SCI 簡易 IIC ドライバ
r_sci_iic_rx
1.30
Device Driver
PDC Driver
パラレルデータキャプチャ(PDC)
r_pdc_rx
1.00
Middleware
Ether Driver Interface
r_t4_driver_rx64m
1.00
Middleware
M3S-T4-Tiny
r_t4_rx
2.00
Middleware
Application
Application
M3S-TFAT_Tiny
HTTP Server
M3S-T4-Tiny インタフェース変換モ
ジュール
TCP/IPプロトコルスタックライブラリ
(M3S-T4-Tiny)
FATファイルシステム(M3S-TFAT-Tiny)
HTTPサーバ
Webサーバシステムメインプログラム
r_tfat_rx
r_t4_http_server_rx
r_httpd_main_rx64m
3.00
1.03
1.00
種類
Board Support
Package
Device Driver
Device Driver
Device Driver
図1.3.1上表記
BSP Modlue
モジュール名
CMT Driver
Ethernet Driver
DMACA Driver
Device Driver
ボードサポートパッケージ(BSPモ
ジュール)
※ 各 FIT モジールの詳細は、各 FIT モジュールの「doc」フォルダ内のドキュメントをご覧ください。。
(FIT モジュールは、提供プロジェクト内に同名フォルダで存在しています)
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 6 of 65
RX64M グループ
カメラ活用センサソリューション
RX Driver Package Application
表 1.3.2 FIT 対象外モジュール一覧(renesas_sw_library フォルダ内)
種類
図 1.3.1 上表記
モジュール名
フォルダ名
バージョン
備考
Middleware
Image processer
人物検知などの画
像処理ソフト
image_proc
1.00
ここはヘッダのみで
す。
実体はモトローラファ
イルで提供されます。
Middleware
JPEG encoder
JPEG エンコーダ
ipeg_encoder_rx
1.00
Web ブラウザで表示す
る為に、画像データを
JPEG へエンコードし
ます。
Device Driver
MMC driver
MMC ドライバ
mmc_driver
---
画像を GR-KAEDE 搭
載の microSD カードへ
書き込みます。「5.LED
仕様」参照。
※JEPG エンコーダ、MMC ドライバは、ルネサス HP より資料入手可能です。
※画像処理ソフトに関しては、別途提供モトローラファイル付属のドキュメントをご覧ください。
※Web Camera System Main Program 部分は、「6. メインプログラム仕様」をご覧ください。
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 7 of 65
RX64M グループ
カメラ活用センサソリューション
RX Driver Package Application
【補足】
FIT とは、Firmware Integration Technology の略でとは、各周辺機能モジュールドライバの組み込みの容易化、
及び RX マイコン間の移植性向上を重点とし、RX ファミリを使用したソフトウェア開発者のプログラム開発、
ソフトウェア資産管理の負担を軽減することを目的とした、まったく新しい概念です。
http://japan.renesas.com/products/mpumcu/rx/child/fit.jsp
2
e studio には FIT モジュールのプラグイン機能があり、簡単にプロジェクトに反映できます。
例えば、コンペアタイマ機能を使いたい場合は、「r_cmt_rx」を e2 studio のプラグイン機能で読み込み、指
定の API を使って設定するだけで、コンペアタイマ機能が使用できます。
提供しているプロジェクトは、必要とする FIT モジュールを組み込んだ状態で提供しています。
新たにインポートする必要はありません。
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 8 of 65
RX64M グループ
2.
カメラ活用センサソリューション
RX Driver Package Application
開発環境の入手
開発環境としては、e² studio と CubeSuite+に対応してあります。通常は、FIT モジュールのインポートのし
やすさから e2 studio を推奨していますが、今回は、各 FIT モジュールを組み込んだ形でのプロジェクト一式
を提供していますので、お好きな方でお試しください。各章では、両評価環境での手順を載せています。
e² studio を使用する場合
2.1
2.1.1
e² studio の入手とインストール方法
e² studio は、ルネサスのホームページからダウンロードできます。
1.
以下の URL にアクセスし、e² studio のダウンロードページを表示します。
http://japan.renesas.com/e2studio_download
2. 表示された項目の中から、「統合開発環境 e² studio 3.0.0.22 インストーラ」をクリックします。(分割ダ
ウンロード版と一括ダウンロード版がありますが、内容の違いはありません。)
その後表示されたページの指示に従い、e² studio のインストーラをダウンロードします。
いずれかのリンクを
クリックします
3.
ダウンロードした e² studio のインストーラを実行し、e² studio を PC にインストールします。
インストール方法は「e² studio
統合開発環境
ユーザーズマニュアル入門ガイド」を参照してください。
http://documentation.renesas.com/doc/products/tool/doc/r20ut2858jj0100_e2_start_s.pdf
4.
「e² studio 3.0.1.09 差分アップ―デート」をクリックします。(その時点で最新のを選択してください。)
その後表示されたページの指示に従い、e² studio のインストーラをダウンロードします
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 9 of 65
RX64M グループ
2.1.2
カメラ活用センサソリューション
RX Driver Package Application
コンパイラパッケージの入手方法
本ファームウェアをビルドするには、RX ファミリ用 C/C++コンパイラパッケージ V2.02.00 以降が必要で
す。持っていない場合は、無償評価版の「RX ファミリ用 C/C++コンパイラパッケージ(統合開発環境なし)」
をインストールします。
1.
以下の URL にアクセスし、e² studio のダウンロードページを表示します。
http://japan.renesas.com/e2studio_download
2.
示された項目の中から、「【無償評価版】RX ファミリ用 C/C++コンパイラパッケージ V2(統合開発環
境なし)V2.02.00」をクリックします。
その後表示されたページの指示に従い、コンパイラのインストーラをダウンロードします。
リンクをクリックします
3.
ダウンロードしたコンパイラのインストーラを実行し、コンパイラを PC にインストールします。
2.1.3
3.0.1.09 へのアップデート
PC にインストールした e² studio を、最新版(現時点では Ver.3.0.1.09)にアップデートします。
1.
以下の URL にアクセスし、e² studio のダウンロードページを表示します。
http://japan.renesas.com/e2studio_download
2.
表示されたページの右側にあるバージョン情報のリンクをクリックします。
リンクをクリックします
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 10 of 65
RX64M グループ
カメラ活用センサソリューション
RX Driver Package Application
3. 表示された項目の中から、「Eclipse ベース 統合開発環境 e2 studio V3.0.1.09 へのリビジョンアップのお知
らせ」をクリックします。
その後表示されたページの指示に従い、e² studio のアップデートを実施してください。
リンクをクリックします
V.3.0.01.09 より最新版がリリースされていましたら、そちらをご使用ください。
2.2
2.2.1
CubeSuite+を使用する場合
CubeSuite+の入手とインストール方法
CubeSuite+は、ルネサスのホームページからダウンロードできます。
1. 以下の URL にアクセスし、CubeSuite+のダウンロードページを表示します。
http://japan.renesas.com/cubesuite+_download
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 11 of 65
RX64M グループ
カメラ活用センサソリューション
RX Driver Package Application
2.
表示された項目の中から、「【無償評価版】統合開発環境 CubeSuite+ V2.02.00」をクリックします。
(分割ダウンロード版と一括ダウンロード版がありますが、内容の違いはありません。)
その後表示されたページの指示に従い、CubeSuite+のインストーラをダウンロードします。
リンクをクリック
します
3.
ダウンロードした CubeSuite+のインストーラを実行し、CubeSuite+ を PC にインストールします。
インストール方法は「CubeSuite+ V2.02.00 統合開発環境 ユーザーズマニュアル 起動編」を参照してくだ
さい。
http://documentation.renesas.com/doc/products/tool/doc/r20ut2865jj0100_qsst.pdf
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 12 of 65
RX64M グループ
3.
カメラ活用センサソリューション
RX Driver Package Application
評価環境にプロジェクトを読み込む
共通作業
3.1
1. 提供したプロジェクト(rx64m_gr_kaede_Hi_Solution)を任意の場所に置きます。
2. 画像処理用ソフトを用意。
別途提供される ImgProcessingLib.mot を「rx64m_gr_kaede_Hi_Solution」フォルダ直下に置きます。
3.2
3.2.1
e² studio を使用する場合
ワークスペースの作成
1. e² studio を起動します。
2. 表示されたダイアログに、任意のワークスペースフォルダを入力し、「OK」をクリックします。
ワークスペースフォルダ
を入力します
「OK」をクリックします
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 13 of 65
RX64M グループ
カメラ活用センサソリューション
RX Driver Package Application
3. 以下の画面が表示されたら、「Workbench」をクリックします。
「Workbench」を
クリックします
3.2.2
プロジェクトのインポート
「rx64m_gr_kaede_Hi_Solution」プロジェクトを、作成したワークスペースにインポートします。
1.
e² studio の「ファイル」メニューの「インポート」をクリックします。
クリックします
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 14 of 65
RX64M グループ
2.
カメラ活用センサソリューション
RX Driver Package Application
「一般」から「既存プロジェクトをワークスペースへ」を選択し、「次へ」をクリックします。
「既存プロジェクトを
ワークスペースへ」を
選択して「次へ」をク
リックします
3.
「参照」をクリックします。
クリックします
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 15 of 65
RX64M グループ
4.
カメラ活用センサソリューション
RX Driver Package Application
「rx64m_gr_kaede_Hi_Solution」を選択し、「OK」をクリックします。
プロジェクトフォルダを選
択してクリックします
5.
「プロジェクトをワークスペースにコピー」にチェックを入れ、「完了」をクリックします。
チェックを入れ、
クリックします
※「プロジェクトをワークスペースにコピー」へのチェックは必須ではありません。チェックしない場合は、
「ルート・ディレクトリーの選択」で指定されたフォルダがビルド対象になります。
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 16 of 65
RX64M グループ
3.3
カメラ活用センサソリューション
RX Driver Package Application
CubeSuite+を使用する場合
1. 「rx64m_gr_kaede_Hi_Solution」フォルダ直下にある「rx64m_gr_kaede_Hi_Solution.mtpj」をダブルクリッ
クして、CubeSuite+を起動します。
2. 「OK」をクリックします。
クリックします
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 17 of 65
RX64M グループ
4.
カメラ活用センサソリューション
RX Driver Package Application
動作確認
プロジェクトのビルド
4.1
4.1.1
e² studio を使用する場合
以下の手順に従い、プロジェクトをビルドしてロードモジュールを生成します。
1.
「プロジェクト・エクスプローラ」からビルドするプロジェクトをクリックします。
クリックします
2.
「プロジェクト」メニューの「すべてをビルド」をクリックします。
クリックします
3.
「コンソールパネル」に「'Build complete.'」と表示されたらビルド完了です。
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 18 of 65
RX64M グループ
4.1.2
カメラ活用センサソリューション
RX Driver Package Application
CubeSuite+を使用する場合
1. 「ビルド」メニューの「ビルド・プロジェクト」をクリックします。
4.2
デバッグの準備
ここでは、用意が必要な機器、PC 側のネットワーク設定について説明します。
4.2.1
機器の構成
デバッグを開始する前に、評価ボードを準備します。
必要な機器の一覧と構成を以下に示します。
表 5.2.1.1 機器構成
No.
1
2
3
4
機器
開発 PC
GR-KAEDE
クライアント PC(Web ブラウザ)
クライアント PC と GR-KAEDE(Web サーバ)を
接続するためのネットワーク環境として以下のいず
れか
1. スイッチング・ハブを使用する場合
a. スイッチング・ハブ
b. LAN ケーブル(ストレート) 2 本
2. クロスケーブルを使用する場合
a. LAN ケーブル(クロス) 1 本
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
補足
開発を行う PC です。
開発 PC で代用可能です。
Page 19 of 65
RX64M グループ
カメラ活用センサソリューション
RX Driver Package Application
スイッチング・ハブ構成
クロスケーブル構成
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 20 of 65
RX64M グループ
4.2.2
カメラ活用センサソリューション
RX Driver Package Application
クライアント PC の設定
クライアント PC のネットワークを設定します。
1.クライアント PC の「コントロールパネル」を開き、「ネットワークとインターネット」をクリックしま
す。
クリックします
2.「ネットワークと共有センター」をクリックします。
クリックします
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 21 of 65
RX64M グループ
カメラ活用センサソリューション
RX Driver Package Application
3. 「アダプターの設定の変更」をクリックします。
クリックします
4. 「ローカル エリア接続」を右クリックして、プロパティをクリックします。
クリックします
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 22 of 65
RX64M グループ
カメラ活用センサソリューション
RX Driver Package Application
5. 「インターネットプロトコルバージョン 4 (TCP/IPv4)」を選択して「プロパティ」をクリックします。
クリックします
6. IP アドレス等の設定情報が表示されます。以下のように設定し「OK」をクリックします。
クリックします
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 23 of 65
RX64M グループ
4.3
カメラ活用センサソリューション
RX Driver Package Application
プロジェクトのデバッグ
以下の手順に従い、プロジェクトのデバッグを開始します。
4.3.1
e2 studio を使用する場合
1.
開発 PC と E1 エミュレータを USB ケーブルで接続します。
2.
GR-KAEDE にアダプタを接続し、電源を入れます。
3.
e² studio の「実行」メニューの「デバッグ構成」をクリックします。
クリックします
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 24 of 65
RX64M グループ
カメラ活用センサソリューション
RX Driver Package Application
4. 「Renesas GDB Hardware Debugging」の「rx64m_gr_kaede HardwareDebug」をクリックし、「デバッグ」
をクリックします。
クリックします
以下のメッセージが表示されたら、「はい」をクリックします。
クリックします
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 25 of 65
RX64M グループ
カメラ活用センサソリューション
RX Driver Package Application
ロードモジュールのダウンロードが完了すると、「デバッグ」パースペクティブが開きます。
5.
ツールバーの「再開」をクリックします。プログラムが実行され、main 関数の先頭でブレークします。
クリックします
main 関数の先頭でブレークした後に、もう一度ツールバーの「再開」をクリックします。
※Main 関数先頭でのブレークは、e2 studio のデバック構成で解除可能です。
続けて、「4.3.3 共通操作」に進んでください。
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 26 of 65
RX64M グループ
4.3.2
カメラ活用センサソリューション
RX Driver Package Application
CubeSuite+を使用する場合
1.
開発 PC と E1 エミュレータを USB ケーブルで接続します。
2.
GR-KAEDE にアダプタを接続し、電源を入れます。
3.
CubeSuite+の「デバッグ」メニューの「デバッグ・ツールへダウンロード」をクリックします。
クリックします
ロードモジュールのダウンロードが完了すると、main 関数の先頭でブレークします。
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 27 of 65
RX64M グループ
カメラ活用センサソリューション
RX Driver Package Application
ツールバーの「実行」をクリックします。
クリックします
続けて、「4.3.3 共通操作」に進んでください。
4.3.3
1.
共通操作
クライアント PC で Web ブラウザを起動し、以下のアドレスを入力します。
Web サーバアドレス:http://192.168.0.3
【注】Web サーバアドレスは、コンフィギュレーションで変更可能です。
( rx64m_gr_kaede _Hi_Solution/r_t4_rx/src/config_tcpudp.c )
2. Web ブラウザ上に、ファイルの一覧が表示されます。
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 28 of 65
RX64M グループ
3-1.
カメラ活用センサソリューション
RX Driver Package Application
2.の画面で「demo_top.htm」をクリックすると以下のような画面が表示されます。
[デモトップ画面:画像更新はしない]
上記各番号の上に置かれたビットマップをクリックすると
下記動作をします。
1. 当画面をリロード。
2. キャプチャ画面(ノーマル)へ遷移。
3. キャプチャ画面(人物検知)へ遷移。
4. キャプチャ画面(動体検知)へ遷移。
5. キャプチャ画面(歪み補正調整画面)へ遷移。
6. 当画面へ遷移(リロード相当)。
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 29 of 65
RX64M グループ
3-2.
カメラ活用センサソリューション
RX Driver Package Application
2.の画面で「demo_ru1.htm」をクリックすると以下のような画面が表示されます。
[キャプチャ画面(ノーマル):一定周期でキャプチャデータを更新します]
上記各番号の上に置かれたビットマップをクリックすると
下記動作をします。
1. デモトップ画面へ遷移。
2. 当画面をリロード。
3. キャプチャ画面(人物検知)へ遷移。
4. キャプチャ画面(動体検知)へ遷移。
5. キャプチャ画面(歪み補正調整画面)へ遷移。
6. ノーマルモードを維持したままキャプチャ更新停止。
この画面では 2 つ機能のパラメータ変更が可能です。
上段は、現在値(設定後の結果)を表します。
・JPEG QUALITY : JPEG エンコード時の品質 1(最低画質)〜
128(最高画質)
・IMAG SENSOR Read DT: カメラモジュール内のイメージセ
ンサのレジスタ値を表示します。下段で書き込んだレジス
タに対するリード結果を表示します。(一部 Write only のレ
ジスタもあります)
下段では、各パラメータを更新できます。
空白欄に値を記載後、”SET”ボタンをクリックしてください。
(一旦ページが切り替わるのは、HTTP サーバ FIT モジュール
の仕様です。)
IMAGE SENSOR のレジスタ情報については、本アプリケー
ションノートでは公開していません。使用される場合は、使
用者の責任でご使用ください。
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 30 of 65
RX64M グループ
3-3.
カメラ活用センサソリューション
RX Driver Package Application
2.の画面で「demo_ru2.htm」をクリックすると以下のような画面が表示されます。
[キャプチャ画面(人物検知):検出部分が赤枠で表示されます]
上記各番号の上に置かれたビットマップをクリックすると
下記動作をします。
1. デモトップ画面へ遷移。
2. キャプチャ画面(ノーマル)へ遷移。
3. 当画面をリロード。
4. キャプチャ画面(動体検知)へ遷移。
5. キャプチャ画面(歪み補正調整画面)へ遷移。
6. 人物検知モードを維持したままキャプチャ更新停止。
この画面では、動体検知結果の表示と 2 つ機能のパラメータ変
更が可能です。
上段は、検知結果とパラメータの現在値(設定後の結果)を表し
ます。
・Moving result : 動体検知結果です。1 画面を 9 エリアに
分割し、各エリアでの検出結果を表示します。エリアをまた
ぐ場合はいずれか 1 エリアのみにカウントされます。
キャプチャデータに対する各エリアの割り当ては WEB ブラ
ウザ右上部”division area name”の通りです。
・THRESHOLD :動体を検出する際の判別しきい値です。
・sensitivity :動体を検出する際、画像差分(1 枚目と 2 枚
目、2 枚目と 3 枚目)で明るさの変化があったかを判別する
しきい値です。
下段では、THRESHOLD と SENSITIVITY 設定値を変更できます。
空白欄に値を記載後、”SET”ボタンをクリックしてください。
(一旦ページが切り替わるのは、HTTP サーバ FIT モジュールの
仕様です。)
・THRESHOLD :動体の検出が行われにくい場合は設定
値を小さくし、過検出する場合は設定値を大きくしてくだ
さい。
・sensitivity :し明るさの変化が小さい箇所を検出したい場
合は設定値を小さくし、検出しなくする場合は設定値を大き
くてください。
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 31 of 65
RX64M グループ
3-4.
カメラ活用センサソリューション
RX Driver Package Application
2.の画面で「demo_ru3.htm」をクリックすると以下のような画面が表示されます。
[キャプチャ画面(動体検知):変化を検知した部分が赤く表示されます。]
上記各番号の上に置かれたビットマップをクリックすると
下記動作をします。
1. デモトップ画面へ遷移。
2. キャプチャ画面(ノーマル)へ遷移。
3. キャプチャ画面(人物検知)へ遷移。
4. 当画面をリロード。
5. キャプチャ画面(歪み補正調整画面)へ遷移。
6. 動体検知モードを維持したままキャプチャ更新停止。
この画面では、動体検知結果の表示と 2 つ機能のパラメータ変更が可
能です。
上段は、検知結果とパラメータの現在値(設定後の結果)を表します。
・Moving result : 動体検知結果です。1 画面を 9 エリアに分割し、
各エリアでの検出結果を表示します。エリアをまたぐ場合はいずれ
か 1 エリアのみにカウントされます。
キャプチャデータに対する各エリアの割り当ては WEB ブラウザ右上
部”division area name”の通りです。
・THRESHOLD :動体を検出する際の判別しきい値です。
・sensitivity :動体を検出する際、画像差分(1枚目と2枚目、2枚
目と3枚目)で明るさの変化があったかを判別するしきい値です。
下段では、THRESHOLD と SENSITIVITY 設定値を変更できます。空白欄
に値を記載後、”SET”ボタンをクリックしてください。(一旦ページ
が切り替わるのは、HTTP サーバ FIT モジュールの仕様です。)
・THRESHOLD :動体の検出が行われにくい場合は設定
値を小さくし、過検出する場合は設定値を大きくしてください。
・sensitivity :し明るさの変化が小さい箇所を検出したい場合
は設定値を小さくし、検出しなくする場合は設定値を大きくてくだ
さい。
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 32 of 65
RX64M グループ
3-5.
カメラ活用センサソリューション
RX Driver Package Application
2.の画面で「demo_ru4.htm」をクリックすると以下のような画面が表示されます。
[キャプチャ画面(歪み補正調整画面):歪み補正の設定を変更できます。]
上記各番号の上に置かれたビットマップをクリックすると
下記動作をします。
1. デモトップ画面へ遷移。
2. キャプチャ画面(ノーマル)へ遷移。
3. キャプチャ画面(人物検知)へ遷移。
4. キャプチャ画面(動体検知)へ遷移。
5. 当画面をリロード。
6. 歪み補正調整モードを維持したままキャプチャ更新停止。
この画面では、動体検知結果の表示と 2 つ機能のパラメータ
変更が可能です。
上段は、検知結果とパラメータの現在値(設定後の結果)を表
します。
・function : 歪み補正機能状態を表示します。
・H-correction :歪み補正を行う際の基準点X座標を画像中
心位置からのオフセットで設定します。(水平方向への補
正)
・V-correction :歪み補正を行う際の基準点Y座標を画像中
心位置からのオフセットで設定します。(垂直方向への補
正)
下段では、設定値を変更できます。空白欄に値を記載後、”
SET”ボタンをクリックしてください。(一旦ページが切り替
わるのは、HTTP サーバ FIT モジュールの仕様です。)
・function : 歪み補正を有効にする場合は、1 を設定してく
ださい。
・H-correction : 画像中心からのオフセット値を設定しま
す。左方向は負値、右方向は正値
・V-correction : 画像中心からのオフセット値を設定しま
す。上方向は負値、下方向は正値
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 33 of 65
RX64M グループ
5.
カメラ活用センサソリューション
RX Driver Package Application
LED 仕様
各 LED の番号割り当ては上記の通りです。
GR-KAEDE ボードには、4 個のチップ LED が搭載さ
れています。
※画像は、メインボードのみの状態です。実使用時
は、上部にカメラモジュールとメインボード接続用
の変換ボードが付きますので、点灯確認は側面から
のご確認ください。
LED1 : 各初期設定終了後に点灯
LED2 : キャプタデータの microSD 保存モード時に
点灯します。(※1)
LED3 : microSD カード挿入確定時に点灯
(メインボードの裏面に挿入口があり
ます。)
LED4 : 未使用。
※1 本ソフトでは、画像処理、JPEG エンコードなど
複数処理段階があります。どの段階のデータを保存
するかはコンパイルオプションで切り替えられま
す。
デフォルトは、JPEG エンコード後のデータ(WEB ブ
ラウザに表示されるデータと同等)になります。
【補足】キャプタデータの microSD(2G 以下)保存モード
上部画像の○枠が”USER” Switch です。
ここを 3 秒押下することで、キャプチャデータの microSD 保存モードに入ります。
モードを抜ける場合もボタン押下になります。
※反対側にも似たような Switch がありますが、Reset ボタンになりますのでご注意ください。
※本ソフトでは、画像処理、JPEG エンコードなど複数処理段階があります。どの段階のデータを保
存するかはコンパイルオプションで切り替えられます。デフォルト設定では、JPEG エンコード後の
データ(WEB ブラウザに表示されるデータと同等)が保存されます。
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 34 of 65
RX64M グループ
6.
6.1
カメラ活用センサソリューション
RX Driver Package Application
メインプログラム仕様
ファイル一覧
メインプログラムのファイル一覧を以下に示します。
表 9.1.1 メインプログラムファイル一覧
フォ
ルダ
名
src
ファイル名
内容
main.c
img_proc.c
メインソースファイル
画像処理ライブラリコントロール用ソースファイル
led.h
ov_image_sensor.h
ov7740.c
このファイル内のAPIを通して、画像処理ソフトの初期設定や、人物検知
用APIなどを呼び出します。
画像処理ライブラリコントロール用ヘッダファイル
LED初期化処理ソースファイル
(未使用)
LED初期化処理ヘッダファイル
「8.4 ファイル一覧」参照
「8.4 ファイル一覧」参照
ov7740config.h
r_dmac_apl.c
このファイル内のAPIを通して、カメラモジュールの制御(IICバス経由)
を行います。
「8.4 ファイル一覧」参照
DMAドライバコントロール用ソースファイル
r_dmac_apl.h
r_file_driver.c
このファイル内のAPIを通して、FITモジュール「r_dmaca_rx」内のAPI
を呼び出します。また、DMA転送終了割り込み時のコールバックAPIも
入っています。
DMAドライバコントロール用ヘッダファイル
Webサーバ用ファイルシステムインタエースソースファイル
img_proc.h
led.c
r_http_server_cgi_sample.c
このファイルを通して、Webブラウザで表示されるグラフィックデータ
などを呼び出します。
Webサーバ用ファイルシステムインタエースヘッダファイル
機能選択コンパイルオプション用ヘッダファイル
(評価用)
CGIサンプルソースファイル
r_jpeg_enc_apl.c
このファイル内のAPIは、WEBブラウザ上でパラメータ設定変更を行っ
たときに呼ばれます。
「8.4 ファイル一覧」参照
r_jpeg_enc_apl.h
r_mmc_apl.c
このファイル内のAPIを通して、JPEGエンコーダ「ipeg_encoder_rx」内の
APIを呼び出します。 また、エンコード終了をしらせるコールバックAPI
も本ファイル内にあります。
「8.4 ファイル一覧」参照
MMCドライバコントロール用ソースファイル
r_mmc_apl.h
r_pdc_apl.c
このファイル内のAPIを通して、FITモジュール「r_tfat_rx」内のAPIを呼
び出します
MMCドライバコントロール用ヘッダファイル
「8.4 ファイル一覧」参照
r_file_driver.h
r_func_option.h
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 35 of 65
RX64M グループ
カメラ活用センサソリューション
RX Driver Package Application
このファイル内のAPIを通して、FITモジュール「r_pdc_rx」内のAPIを呼
び出します。カメラモジュールから画像取り込む為の設定や1フレーム取
り込み完了割り込み発生時のコールバックAPIも入っています。
「8.4 ファイル一覧」参照
簡易IICドライバコントロール用ソースファイル
r_pdc_apl.h
r_sci_iic_apl.c
このファイル内のAPIを通して、FITモジュール「r_sci_iic_rx」内のAPI
を呼び出します。
簡易IICドライバコントロール用ヘッダファイル
Webサーバ用システムタイマソースファイル
(未使用)
Webサーバ用システムタイマヘッダファイル
「表10.1 ユーザ定義関数一覧」参照
r_sci_iic_apl.h
r_sys_time.c
r_sys_time.h
r_tfat_drv_if.c
M3S_TFAT_TinyとMMC driverの間に入るインタフェースAPI群です。
sdram.c
sdram.h
外付けSDRAM用設定ソースファイル
外付けSDRAM用設定ヘッダファイル
モジュール一覧
6.2
メインプログラムのモジュール一覧を以下に示します。
表 9.2.1 メインプログラムモジュール一覧
ファイル名
main.c
モジュー
ル名
main
r_file_driver.c
-
メインプログラムのメイン処理。
各FITモジュールの初期化処理を呼び出し、WebサーバとEthernetドラ
イバのメイン処理を駆動する(無限ループによる周期起動)。
「7.7ユーザ定義関数リファレンス(ファイル関連)」参照
r_http_server_cgi_sample.c
-
クライアントPCからの要求を受けて呼ばれます。
「7.9サンプルCGI関数」参照
r_sys_time.c
-
内容
クライアントPCからの要求を受けて呼ばれます。
「7.8ユーザ定義関数リファレンス(システムタイマ関連)」参照
(未使用)
※ 上記の他、主な割り込みとしては、
・カメラモジュールからの 1 フレーム取り込み完了割り込み(コールバック r_pdc_apl.c/pdc_frame_end( ) )
・イーサネット用のコンペアタイマ割り込み(10msec) (コールバック t4_driver.c /timer_interrupt())
があります。表 9.2.1 と上記 2 割り込みを抑えておけば全体把握しやすいと思います。
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 36 of 65
RX64M グループ
6.3
カメラ活用センサソリューション
RX Driver Package Application
処理フロー
メインプログラムの各モジュールの処理フローを以下に示します。
1. main()
ボードサポートパッケージ(BSP モジュール)のスタートアップルーチンから最初に呼ばれるメイン関数
です。
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 37 of 65
RX64M グループ
カメラ活用センサソリューション
RX Driver Package Application
7.
Web サーバ仕様
7.1
性能概要
本 Web サーバは、簡易的な Web サーバを HTTP/1.0 の仕様に基づき実現しています。本 Web サーバは、ユー
ザが組み込み製品向けに独自の Web サーバプログラムを M3S-T4-Tiny (以下 T4 と称す)上で開発する際のベー
スとなることを目的としています。本 Web サーバは、SYN-FLOOD 攻撃等のアタックに対する対策等が盛り
込まれておらず、またセキュリティ機能を搭載していないため、インターネットに接続して www ポート(80
番)を待ち受けてサーバ動作させるような用途には適しません。サンプルプログラムは事務所/工場内ネット
ワーク等の悪意のあるアタッカーが存在しないローカルのネットワークにおいて限定して使用することを想
定しています。また扱えるファイル名はショートファイル名に限られます。
また、本 Web サーバは、ファイル I/O を除くと特別なメモリを必要とせずマイコン内蔵メモリのみで動作
します。処理性能は RAM 容量に左右されますが、これを柔軟に設定出来るようにプログラム上で定義して
います。本 Web サーバでは、RX64M の ROM/RAM 容量に合わせ適切なメモリ設定を行っています。
本 Web サーバの性能は以下の通りです。
表 6.1.1 Web サーバ性能
項目
性能
ROM size
約 6.6 Kbyte
RAM size
約 36 Kbyte (約 5 Kbyte × 同時接続クライアント数+ α)
同時接続数
5 クライアント (設定可能)
CGI 機能
Web ブラウザからマイコンをリモートコントロール出来る機能。
7.2
動作概要
本 Web サーバは、インターネットで広く使われている一般的な Web サーバ(Apache 等)と比べ、実装機能を
最小限にとどめています。また組み込み用途で使いやすいようにノンブロッキングコールを用いて実装され
ており、アプリケーション側は定期的に R_httpd() 関数を呼び出すのみで Web サーバの処理が可能です。
R_httpd() 関数では通信に使用する全通信端点(一般的にはソケットと呼ばれます)を監視し、切断状態になっ
ていたら接続待ちに遷移させます。通信処理は T4 の API、_process_tcpip()で実行されていて、本 Web サーバ
ではこの API をタイマ割り込みと Ethernet 割り込みの中で呼び出しています。_process_tcpip()は処理完了通知
のためコールバック関数を呼び出します。HTTP のデータ解析処理、データ生成処理はこのコールバックルー
チンの中にあります。_process_tcpip()の起動を含むこれらの割り込み処理は送受信ドライバの性能やコール
バックルーチンの実装次第で処理時間が大幅に変動するため、必要に応じてこれら割り込み処理の優先度を
下げたり、割り込み禁止にしたりしてアプリケーションの動作を優先させても構いません。
また、コンフィグファイル(r_t4_http_server_rx_config.h)のマクロ定義を変更することで Web サーバの挙動
をカスタマイズすることができます。
7.3
CGI 機能
本 Web サーバは簡易的な CGI(Common Gateway Interface)機能を持っています。CGI とは Web ブラウザから
の要求に従い、Web サーバ上でユーザプログラムを実行する仕掛けです。本 Web サーバでは CGI ファイル
として予め設定された URL が要求されると、対応する内部関数を呼び出します。
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 38 of 65
RX64M グループ
7.4
カメラ活用センサソリューション
RX Driver Package Application
コンフィグレーション
コンフィグファイル(r_t4_http_server_rx_config.h)のマクロ定義を変更することで Web サーバの挙動をカス
タマイズすることができます。
• Server ヘッダフィールド:HTTPD_VERSION_CODE
Web ブラウザとの通信時に、Web ブラウザに送信する Server ヘッダフィールドに格納するデータを指定
することが出来ます。
• ルートディレクトリ:ROOT_DIR
外部メモリ上のどのディレクトリをルートディレクトリにするかを指定することが出来ます。
例: #define ROOT_DIR “”
#define ROOT_DIR “user”
#define ROOT_DIR “user/root_dir”
• インデックスページの表示/非表示:INDEXES
Web ブラウザからディレクトリ指定された場合の挙動を指定することが出来ます。
1 を指定した場合、ディレクトリの内容をレスポンスします。
0 を指定した場合、DEFAULT_FILE_NAME で指定されているファイルをレスポンスします。
• インデックスページ非表示の場合にレスポンスするファイル:DEFAULT_FILE_NAME
INDEXES に 0 を指定した場合にレスポンスするファイルです。
このファイルが見つからない場合は 404 Not Found レスポンスを返します。
• 対応する Content-Type の数:MAX_EXTENSION
外部メモリに格納するファイルの拡張子リストの定義数です。
• 対応する Content-Type:EXTENSION_TYPE_TABLE_LIST
外部メモリに格納するファイルの拡張子リストです。
ここに定義していない拡張子のファイルを転送する場合、リストの先頭に定義されている拡張子の設
定でファイルをレスポンスします。
• 登録された CGI ファイルの個数:MAX_CGI_FILE
• CGI ファイル名と対応する内部関数のテーブル:CGI_FILE_NAME_TABLE_LIST
• インデックスページの生成に用いられる改行コード:LF_CODE
• 同時に受け付け可能な最大クライアント数:TCP_CEP_NUM
T4 の config_tcpudp.c で定義されている通信端点の個数と合わせてください。
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 39 of 65
RX64M グループ
カメラ活用センサソリューション
RX Driver Package Application
• インデックスページに表示可能な最大ファイル数:MAX_FILE_LIST
BODY_BUF_SIZE を超えないように設定してください。
• 受信バッファサイズ:RCV_BUF_SIZE
• ヘッダフィールド用の送信バッファサイズ:HDR_BUF_SIZE
• ボディフィールド用の送信バッファサイズ:BODY_BUF_SIZE
7.5
ファイル一覧
Web サーバのファイル一覧を以下に示します。
表 6.5.1 Web サーバファイル一覧
フォルダ名
ファイル名
内容
r_t4_http_server_rx/src
r_http_server.c
Web サーバソースファイル
r_http_server_config.c
Web サーバコンフィギュレーションソー
スファイル
r_http_server_config.h
Web サーバコンフィギュレーションヘッ
ダファイル
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 40 of 65
RX64M グループ
7.6
7.6.1
カメラ活用センサソリューション
RX Driver Package Application
API リファレンス
R_httpd
Description
アプリケーションは本関数を定期的に呼び出します。R_httpd()は、HTTPの通信に必要な通信端点を
管理します。本関数は通信端点の管理のみを行い、通信自体はT4が割り込み駆動により自動的に行
います。
Usage
#include “r_t4_http_server_rx_if.h”
void R_httpd (void);
Parameters
無し
Return Value
無し
Remark
無し
7.6.2
R_httpd_pending_release_request
Description
アプリケーションはCGI応答保留を解除する時に本関数を呼び出します。
使用方法は、6.9.1cgi_sample_functionを参照してください。
Usage
#include “r_t4_http_server_rx_if.h”
void R_httpd_pending_release_request(ID cepid);
Parameters
cepid
入力
Return Value
通信端点ID
無し
Remark
無し
7.6.3
R_T4_HTTP_SERVER_GetVersion
Description
本関数は、現在インストールされているモジュールのバージョンを返します。バージョン番号はコー
ド化されています。最初の2 バイトがメジャーバージョン番号で、後の2 バイトがマイナーバージョ
ン番号です。例えば、バージョンが4.25 の場合、戻り値は‘0x00040019’ となります。
Usage
#include “r_t4_http_server_rx_if.h”
uint32_t R_T4_HTTP_SERVER_GetVersion(void);
Parameters
無し
Return Value
Webサーバのバージョン
Remark
無し
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 41 of 65
RX64M グループ
7.7
カメラ活用センサソリューション
RX Driver Package Application
ユーザ定義関数リファレンス (ファイル関連)
本 Web サーバは本関数群を呼び出します。ユーザはファイルシステムに応じて適切に本関数の処理内容を
定義します。また、Web サーバは本データ構造体を使用し、外部メモリの情報を取得することが出来ます。
本 Web サーバでは TFAT を用いた例を定義しています。
表 6.7.1 ファイル関連ユーザ定義関数一覧
関数名
機能概要
関数名
機能概要
change_dir()
作業ディレクトリの変更
file_write()
ファイルの書き込み
file_close()
ファイルのクローズ
get_file_info()
ファイル情報の取得
file_delete()
ファイルの削除
get_file_list_info()
ファイルリストの取得
file_open()
ファイルのオープン
get_file_size()
ファイルサイズの取得
file_read()
ファイルの読み込み
make_dir()
ディレクトリの作成
file_rename()
ファイル名の変更
remove_dir()
ディレクトリの削除
file_exist()
ファイルの有無を確認
【注】上記関数群のうち本 Web サーバで使用しない関数はグレーアウト表記にしています。
7.7.1
データ構造体
【日付情報構造体】
typedef struct date_info_
{
uint16_t year; // 2011, 2012, …
uint8_t month[4]; // Jan, Feb, Mar, …
uint8_t day; // 1-31
uint8_t day_of_the_week[4]; // Sun, Mon, Tus, …
uint16_t hour; // 0-23
uint16_t min; // 0-59
uint16_t sec; // 0-59
}DATE_INFO;
【ファイルリスト構造体】
typedef struct file_list_
{
uint8_t file_name[13];
uint32_t file_size;
uint32_t file_attr;
DATE_INFO date_info;
}FILE_LIST;
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 42 of 65
RX64M グループ
カメラ活用センサソリューション
RX Driver Package Application
【マクロ定義】
#define FILE_WRITE (0x10)
#define FILE_READ (0x01)
#define FILE_ATTR_RDO 0x01 /* Read only */
#define FILE_ATTR_HID 0x02 /* Hidden */
#define FILE_ATTR_SYS 0x04 /* System */
#define FILE_ATTR_VOL 0x08 /* Volume label */
#define FILE_ATTR_DIR 0x10 /* Directory */
#define FILE_ATTR_ARC 0x20 /* Archive */
7.7.2
change_dir
Description
本関数は引数で指定されたディレクトリパスを作業ディレクトリに設定します。ディレクトリパスは
フルパスで指定します。作業ディレクトリの情報は、通信端点毎に管理されます。
Usage
#include <stdint.h>
#include “r_file_driver.h”
int32_t change_dir(uint8_t *dir_path);
Parameters
dir_path
入力
指定されたディレクトリパスの格納先
Return Value
-1
0
Remark
ディレクトリが存在しない
ディレクトリが存在する
dir_path の終端には’/’が付く場合と付かない場合があります。使用するファイルシステムにあわせて’/’
の有無を調整してください。
7.7.3
file_close
Description
本関数は引数で指定された ID 値に対応するファイルをクローズし、管理情報を破棄します。
Usage
#include <stdint.h>
#include “r_file_driver.h”
int32_t file_close(int32_t file_id);
Parameters
file_id
入力
クローズするファイルの ID 値
Return Value
-1
0
Remark
エラー
正常終了
無し
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 43 of 65
RX64M グループ
7.7.4
カメラ活用センサソリューション
RX Driver Package Application
file_delete
Description
本関数は引数で指定されたファイルを削除します。ファイルの指定はルートディレクトリからのフル
パスで指定します。
Usage
#include <stdint.h>
#include “r_file_driver.h”
int32_t file_delete(uint8_t *file_path);
Parameters
file_path 入力 ファイルのフルパスの格納先
Return Value
-1
0
Remark
エラー
正常終了
無し
7.7.5
file_open
Description
本関数は第 1 引数で指定されたファイルを第 2 引数で指定されたモードでオープンし、管理情報を
独自で保存します。また、保存した管理情報を Web サーバが ID 参照できるように、戻り値として
管理情報の ID 値を指定します。保存した管理情報はファイルのクローズ関数で ID 値が指定される
まで保持しなければなりません。
Usage
#include <stdint.h>
#include “r_file_driver.h”
int32_t file_open(uint8_t *file_path, uint8_t mode_flag);
Parameters
file_path
mode_flag
Return Value
-1
0 以上
Remark
入力
入力
ファイルのフルパスの格納先
ファイルオープンのモード(FILE_WRITE または FILE_READ)
エラー
オープンしたファイルの ID 値
ファイルオープンの状態はファイルのクローズ関数で対応する ID 値が指定されるまで保持しなけ
ればなりません。
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 44 of 65
RX64M グループ
7.7.6
カメラ活用センサソリューション
RX Driver Package Application
file_read
Description
本関数は第 1 引数で指定された ID 値に対応するファイルデータを、第 2 引数が示すアドレスに、最
大第 3 引数の値で示すサイズ分読み込まれます。第1引数の ID 値に対応する管理情報内のファイル
ポインタは読み込んだ分だけ更新され、ファイルのクローズ関数が呼び出されるまで保持します。
Usage
#include <stdint.h>
#include “r_file_driver.h”
int32_t file_read(int32_t file_id, uint8_t *buf, int32_t read_size);
Parameters
file_id
入力
buf
出力
read_size 入力
Return Value
-1
0 以上
Remark
読み込むファイルの ID 値
読み込んだファイルデータの格納先
読み込むファイルサイズ
エラー
読み込んだデータサイズ
無し
7.7.7
file_rename
Description
本関数は第 1 引数で指定されたファイルまたはディレクトリを第 2 引数で指定された名前に変更しま
す。第 1 引数、第 2 引数ともにルートディレクトリからのフルパスで指定します。
Usage
#include <stdint.h>
#include “r_file_driver.h”
int32_t file_rename(uint8_t *old_name, uint8_t *new_name);
Parameters
old_name
new_name
Return Value
入力
入力
-1
0
Remark
エラー
正常終了
変更対象のファイルまたはディレクトリ
変更後の名前
無し
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 45 of 65
RX64M グループ
7.7.8
カメラ活用センサソリューション
RX Driver Package Application
file_exist
Description
本関数は引数で指定されたファイルまたはディレクトリの有無を確認します。引数はルートディレク
トリからのフルパスで指定します。
Usage
#include <stdint.h>
#include “r_file_driver.h”
int32_t file_exist(uint8_t *file_path);
Parameters
file_path
入力
有無を確認するファイルまたはディレクトリ
Return Value
-1
0
Remark
存在しない
存在する
無し
7.7.9
file_write
Description
本関数は第 1 引数で指定された ID 値に対応するファイルに対し、第 2 引数で指定されたアドレスか
ら第 3 引数で指定されたサイズ分のデータを書き込みます。第 1 引数の ID 値に対応する管理情報内
のファイルポインタは書き込んだ分だけ更新され、ファイルのクローズ関数が呼び出されるまで保持
します。
Usage
#include <stdint.h>
#include “r_file_driver.h”
int32_t file_write(int32_t file_id, uint8_t *buf, int32_t write_size);
Parameters
file_id
入力
buf
入力
write_size 入力
Return Value
-1
0
Remark
書き込むファイルの ID 値
書き込むデータの先頭アドレス
書き込むサイズ
エラー
正常終了
無し
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 46 of 65
RX64M グループ
7.7.10
カメラ活用センサソリューション
RX Driver Package Application
get_file_info
Description
本関数は第 1 引数で指定された ID 値に対応するファイルの管理情報を読み込み、ファイルの日付情
報を第 2 引数で示す日付情報構造体に書き出します。
Usage
#include <stdint.h>
#include “r_file_driver.h”
int32_t get_file_info(int32_t file_id, DATE_INFO *date_info);
Parameters
file_id
入力
date_info 出力
Return Value
-1
0
Remark
読み込むファイルの ID 値
日付情報の格納先
エラー
正常終了
無し
7.7.11
get_file_list_info
Description
本関数は第 1 引数で指定されたディレクトリパスに格納されているファイルまたはディレクトリの
情報を第 2 引数で指定されたファイルリスト構造体に書き出します。一度に書き出す最大情報個数は
第 3 引数で指定し、第 4 引数でファイルリストの読み出し開始位置を指定します。
Usage
#include <stdint.h>
#include “r_file_driver.h”
int32_t get_file_list_info(uint8_t *dir_path, FILE_LIST *file_list, uint32_t num_file_list, int32_t read_index);
Parameters
dir_path
file_list
入力
出力
num_file_list 入力
read_index
入力
Return Value
-1
0 以上
Remark
読み出すディレクトリパスの格納先
読み出したファイルリストの格納先
リストの最後にはファイル名格納領域の先頭に’¥0’を格納します。
一度に読み出すファイルリスト情報の最大個数
ファイルリストの読み出し開始位置
エラー
読み出したファイルの個数
戻り値が num_file_list より小さい値を返した場合は、ファイルリスト情報の読み出しが終了したこと
を示し、num_file_list と同じ値を返した場合はファイルリスト情報に続きがあることを示します。本
関数はファイルリストの続きを読み出す際に、read_index にファイルリストの読み出し開始位置を指
定して呼び出します。
dir_path の終端には’/’が付く場合と付かない場合があります。
使用するファイルシステムにあわせて’/’
の有無を調整してください。
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 47 of 65
RX64M グループ
7.7.12
カメラ活用センサソリューション
RX Driver Package Application
get_file_size
Description
本関数は引数で指定された ID 値に対応するファイルの管理情報を読み込み、ファイルサイズを返し
ます。
Usage
#include <stdint.h>
#include “r_file_driver.h”
int32_t get_file_size(int32_t file_id);
Parameters
file_id
入力
読み込むファイルの ID 値
Return Value
-1
0 以上
Remark
エラー
ファイルサイズ
無し
7.7.13
make_dir
Description
本関数は引数で指定されたディレクトリを作成します。ディレクトリパスはフルパスで指定します。
Usage
#include <stdint.h>
#include “r_file_driver.h”
int32_t make_dir(uint8_t *dir_path);
Parameters
dir_path
入力
作成するディレクトリ名
Return Value
-1
0
Remark
エラー
正常終了
dir_path の終端には’/’が付く場合と付かない場合があります。
使用するファイルシステムにあわせて’/’
の有無を調整してください。
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 48 of 65
RX64M グループ
7.7.14
カメラ活用センサソリューション
RX Driver Package Application
remove_dir
Description
本関数は引数で指定されたディレクトリを削除します。ディレクトリパスはフルパスで指定します。
Usage
#include <stdint.h>
#include “r_file_driver.h”
int32_t remove_dir(uint8_t *dir_path);
Parameters
dir_path
入力
削除するディレクトリ名
Return Value
-1
0
Remark
エラー
正常終了
dir_path の終端には’/’が付く場合と付かない場合があります。
使用するファイルシステムにあわせて’/’
の有無を調整してください。
7.8
ユーザ定義関数リファレンス(システムタイマ関連)
Web サーバは本関数群を呼び出します。ユーザはシステムタイマを定義します。
表 6.8.1 システムタイマ関連ユーザ定義関数一覧
7.8.1
関数名
機能概要
get_sys_time()
システムタイマの先頭アドレス取得
データ構造体
【システムタイマ構造体】
typedef struct sys_time_
{
uint32_t
uint32_t
uint32_t
uint32_t
uint32_t
uint32_t
}SYS_TIME;
R01AN2462JJxxxx
2014.11.10
sec;
min;
hour;
day;
month;
year;
Rev.x.xx
Page 49 of 65
RX64M グループ
7.8.2
カメラ活用センサソリューション
RX Driver Package Application
get_sys_time
Description
本関数はシステムタイマの先頭アドレスを取得します。
Usage
#include <stdint.h>
#include “r_t4_http_server_rx_config.h”
SYS_TIME *get_sys_time( void );
Parameters
無し
Return Value
システムタイマの先頭アドレス
Remark
システムタイマを管理する変数はユーザが定義してください。
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 50 of 65
RX64M グループ
7.9
カメラ活用センサソリューション
RX Driver Package Application
サンプル CGI 関数
7.9.1
cgi_sample_function
Description
本関数は、”R_t4_http_server_config.h”の CGI_FILE_NAME_TABLE_LIST マクロで定義されている CGI
関数です。CGI_FILE_NAME_TABLE_LIST の第 2 要素(CGI 関数ポインタ) は、Web サーバで定義し
た cgi ファイルの URL を要求したときに呼び出されます。
次に、HTTPd が CGI 関数を呼び出します。
HTTPd の動作は、戻り値によって変わります。
ケース:正常終了
CGI 処理が本関数で正常終了
ケース:内部エラー
CGI 処理エラーが本関数で発生
CGI process errors occur in this function.
ケース: CGI 応答保留
CGI 処理が本関数で終了しない(応答保留)、CGI_FILE_NAME_TABLE_LIST の第 3 要素(CGI
関数ポインタ)は、CGI 処理終了するとき、ユーザが R_httpd_pending_release_request()を呼び出し
たとき、呼び出されます。
Usage
#include "r_t4_itcpip.h"
#include "r_http_server_config.h"
#include "r_t4_http_server_rx_if.h"
ER cgi_sample_function(ID cepid, void *res_info);
Parameters
cepid
入力
res_info 入力
出力
出力
CGI 関数実行の要求が有った通信端点 ID
(HTTPD_RESOURCE_INFO*)res_info->param
Web ブラウザから要求のあった URL に付属するパラメータ
(HTTPD_RESOURCE_INFO*)res_info->res.body
応答として返す HTML 文字列
(HTTPD_RESOURCE_INFO*)res_info->res.body_size
応答として返す HTML 文字列の長さ
Return Value
-1
内部エラー
-2
CGI 応答保留
0
正常終了
Remark
なし
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 51 of 65
RX64M グループ
カメラ活用センサソリューション
RX Driver Package Application
8.
Web カメラ仕様
8.1
性能概要
GR-KAEDE 搭載のカメラモジュールから取り込んだ画像を「6. Web サーバ仕様」に沿って Web ブラウザ
上で表示させます。
表 6.1.1 Web カメラ性能
項目
性能
ROM サイズ
計:約 15.1kbyte
1. カメラモジュール制御
約 0.7kbyte
2. 画像取り込み
約 3.0kbyte
3. JPEG エンコード
約 11.4kbyte
RAM サイズ
計:約 257kbyte(stack 除く)
1. カメラモジュール制御
約 5byte
2. 画像取り込み
約 50byte
3. JPEG エンコード
約 1.7kbyte
4. JPEG ファイル格納領域
約 200kbyte
画像サイズ(最終)
QVGA(320x240)YCbCr4:2:2
取り込み周期
120-130msec
(画像処理機能オフ時)
T.B.D
取り込み周期
(画像処理機能オン時)
動作概要
8.2
RX64M 内蔵のパラレルデータキャプチャユニット(以後、PDC)を使って、カメラモジュールから画像デー
タを取得します。ピクセルクロックは約 15MHz です。動作モードにより 320x240 YCbCr4:2:2:か、640x480
YCbCr4:2:2 のデータを取得します。取得タイミングは、フレーム間隔でなく、その後行われる画像処理、JPEG
エンコード時間に依存します。Web ブラウザ上での更新周期も画像処理モードなどに応じて変更しています。
コンフィグレーション
8.3
8.3.1
r_pdc_rx_config.h
コンフィグファイル(r_pdc_rx_config.h)のマクロ定義を変更することでカメラモジュールからの画像データ
取り込み速度を変更することができます。

PCKO Frequency Division Ratio Select :PDC_CFG_PCKO_DIV
ただし、GR-KAEDE で使用しているカメラモジュールの入力クロック許容範囲は、6~27MHz です。
その範囲が GR-KAEDE 使用時の PDC_CFG_PCKO_DIV 設定範囲となります。
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 52 of 65
RX64M グループ
8.3.2
カメラ活用センサソリューション
RX Driver Package Application
ov_image_sensor.h
カメラモジュールからの出力解像度を調整することができます。

水平解像度 :IMG_SENSOR_OUTPUT_WIDTH

垂直解像度:IMG_SENSOR_OUTPUT_HEIGHT
8.3.3
r_jpeg_enc_apl.h
JPEG エンコードの品質設定や JPEG エンコード後の格納バッファサイズ等の変更ができます。

品質設定[1-128] : JPEG_QUALITY
高いほど高品質な画像になります。(ファイルサイズも大きくなります)

カラーフォーマット:JPEG_OUTPUT_FMT
JPEG ファイルにエンコード時のカラーフォーマットを定義しています。

JPEG ファイル展開用バッファ:JPEG_OUTPUT_AREA_SIZE
JPEG ファイルを展開する領域のサイズを定義しています。
8.3.4

r_pdc_apl.h
取り込み領域ブロック数 :D_PDC_MAX_PICTURE_BLOCK
本アプリケーションノートでは、3 ブロック(=3 フレーム)分確保しています。
8.4
ファイル一覧
フォルダ名
ファイル名
内容
src
ov7740.c
カメラモジュール制御用ソース
ファイル
ov_image_sensor.h
カメラモジュール制御用ヘッダ
ファイル
ov7740config.h
カメラモジュールレジスタ初期値
テーブル
r_jpeg_enc_apl.c
JPEG エンコード機能コントロー
ル用ソースファイル
r_jpeg_enc_apl.h
JPEG エンコード機能コントロー
ル用ヘッダファイル
r_pdc_apl.c
パラレルデータキャプチャ機能コ
ントロール用ソースファイル
r_pdc_apl.h
パラレルデータキャプチャ機能コ
ントロール用ヘッダファイル
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 53 of 65
RX64M グループ
8.5
8.5.1
カメラ活用センサソリューション
RX Driver Package Application
API リファレンス
R_image_sensor_init
Description
カメラモジュール内のイメージセンサの初期設定を行います。
Usage
#include “ov_image_sensor.h”
uint8_t R_image_sensor_init( void )
Parameters
無し
Return Value
無し
Remark
制御対象デバイスのスレーブアドレスは、ov_image_sensor.h の「IMG_SENSOR_SLV_ADDRESS」で
定義されています。初期設定値は、ov7740config.h に格納されています。
8.5.2
R_image_sensor_write
Description
カメラモジュール内のイメージセンサに対してレジスタライトを行います。
Usage
#include “ov_image_sensor.h”
uint8_t R_image_sensor_write( uint8_t reg_adr, uint8_t reg_data, uint32_t size )
Parameters
reg_adr
入力
レジスタアドレス
reg_data
入力
ライトデータ
size
入力
ライトデータサイズ(1 固定)
Return Value
1 固定
Remark
制御対象デバイスのスレーブアドレスは、ov_image_sensor.h の「IMG_SENSOR_SLV_ADDRESS」で
定義されています。本 API は CGI 機能を使って Web ブラウザから制御させるデモ用として用意して
います。イメージセンサへの通常制御は、「7.5.1 R_image_sensor_init」で完結します。
8.5.3
R_image_sensor_read
Description
カメラモジュール内のイメージセンサに対してレジスタリードを行います。
Usage
#include “ov_image_sensor.h”
uint8_t R_image_sensor_read( uint8_t reg_adr, uint8_t *reg_data, uint32_t size )
Parameters
reg_adr
入力
レジスタアドレス
reg_data
出力
リードデータ
size
入力
リードデータサイズ
Return Value
1 固定
Remark
制御対象デバイスのスレーブアドレスは、ov_image_sensor.h の「IMG_SENSOR_SLV_ADDRESS」で
定義されています。本 API は CGI 機能を使って Web ブラウザから制御させるデモ用として用意して
います。
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 54 of 65
RX64M グループ
8.5.4
カメラ活用センサソリューション
RX Driver Package Application
R_jpeg_compress_init
Description
JPEG エンコードライブラリに対して初期設定を行います。
Usage
#include “r_jpeg_enc_apl.h”
void R_jpeg_compress_init( void )
Parameters
無し
Return Value
無し
Remark
無し
8.5.5
R_get_jpeg_output_adr
Description
JPEG エンコード後の格納エリアを複数持つ場合に、指定エリアの先頭アドレスを返します。
Usage
#include “r_jpeg_enc_apl.h”
uint8_t *R_get_jpeg_output_adr( uint8_t area_num )
Parameters
area_num
入力
JPEG ファイルの格納エリア番号
Return Value
指定エリアの先頭アドレス
Remark
本アプリケーションノートでは、格納エリアを 2 面持たせています。JPEG エンコードタイミングと
WEB カメラの更新タイミングとで同期をとっていない為、エンコード処理中のエリアをアクセスさ
せない目的です。
8.5.6
R_get_jpeg_output_area_num
Description
JPEG エンコードライブラリで使用中の格納エリア番号を返します。
Usage
#include “r_jpeg_enc_apl.h”
uint8_t R_get_jpeg_output_area_num( void )
Parameters
無し
Return Value
格納エリア番号
Remark
本アプリケーションノートでは、格納エリアを 2 面持たせています。JPEG エンコードタイミングと
WEB カメラの更新タイミングとで同期をとっていない為、エンコード処理中のエリアをアクセスさ
せない目的です。
8.5.7
R_pdc_init
Description
PDC ユニットに対して初期設定を行います。
Usage
#include “r_pdc_apl.h”
void R_pdc_init( void )
Parameters
無し
Return Value
無し
Remark
「7.5.8 R_pdc_Create」とセットで使用してください。
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 55 of 65
RX64M グループ
8.5.8
カメラ活用センサソリューション
RX Driver Package Application
R_pdc_create
Description
PDC ユニットに対して初期設定を行います。
Usage
#include “r_pdc_apl.h”
void R_pdc_create ( void )
Parameters
無し
Return Value
無し
Remark
「7.5.7 R_pdc_init」とセットで使用してください。本 API を後で呼んでください。
本 API 使用時は、GR-KAEDE にカメラモジュールが接続されていることを確認してから使用してくだ
さい。未接続の場合は、本 API から戻ってきません。
8.5.9
R_pdc_receive_again
Description
パラレルデータ(画像データ)の取り込みを開始します。
Usage
#include “r_pdc_apl.h”
void R_pdc_receive_again( uint8_t continue_flag );
Parameters
Continue_flag
入力
(1 固定)
Return Value
無し
Remark
正常ケースでは、データの取り込みは 1 フレームごとの単発で行われます。本 API を呼ぶことで取
り込みが再スタートとなります。実際の取り込み開始タイミングは V-SYNC と同期します。
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 56 of 65
RX64M グループ
9.
カメラ活用センサソリューション
RX Driver Package Application
画像処理仕様
9.1
性能概要
本アプリケーションノートで実現できるカメラ活用ソリューションでは、人物検知機能、動体検知機能、
歪み補正機能が対応されています。Web サーバシステム、Web カメラシステムを使って、検知結果を Web
ブラウザ上に表示します。本ソリューションでは、特定用途向けではなく性能などを確認してもらう為のデ
モンストレーションとの位置付けとなり、対応画素数なども固定になります。
また、本処理を動作させるには、内蔵 RAM の特定領域と外部メモリが必要となります。本ソリューション
では、外部メモリとして外付け SDRAM を使用しています。
表 8.1.1 スペック
項目
性能
ROM size
65Kbyte
RAM size
内蔵
:135Kbyte(stack 除く)
(特定領域:アドレス 0x00004100 ~ 0x00025ed7 含む)
外付け :3.5Mbyte
9.2
動作概要
表 8.2.1 機能一覧
No
機能
機能名称
概要
1
人物検知機能
人物切出し機能
画像の中から立っている人、及び座ってい
る人が居る位置を切出す。
人数計測機能
画像を9エリアに分割し、各エリアに存在
する人数を計測する。
2
3
動体検知機能
画像比較機能
連続して取り込んだ3枚の画像をそれぞ
れ比較し、変化があった箇所を抽出する。
4
歪み補正機能
画像補正機能
使用するカメラとレンズの組合せで求め
た歪み特性データを用いて、画像の座標変
換を行う。
9.3
コンフィグレーション
無し
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 57 of 65
RX64M グループ
9.4
カメラ活用センサソリューション
RX Driver Package Application
ファイル一覧
画像処理のファイル一覧を以下に示します。
表 8.5.1 画像処理ファイル一覧
フォルダ名
ファイル名
内容
renesas_sw_library/image_proc
Mdl_IP_main.h
画像処理 API ヘッダ
Mdl_IP_ex.h
-
Mdl_IP_prot.h
各モード構造体定義
9.5
9.5.1
API リファレンス
Mdl_IP_Init
Description
アプリケーションは本関数を画像処理機能使用開始前に1度だけ呼び出します。本関数は、画
像処理ミドルウェア内の内部変数確保、初期化を実行します。
Usage
#include "Mdl_IP_ex.h"
void Mdl_IP_Init( unsigned char *wk_adr );
Parameters
wk_adr
入力
ワーク用先頭アドレス
Return Value
無し
Remark
引数は、画像処理ミドルウェア内で使用するワーク用メモリ(320x240:4 面、160x120:2 面)
の先頭アドレスとする。
9.5.2
Mdl_IP_PersonDetection
Description
本関数は、第1引数で指定されたアドレスに格納されている画像に対し、人物が存在する位置
検出及び人数計測を実行する。
実行結果詳細を第2引数で指定された人物検知結果構造体のアドレスに書き出し、実行結果画
像を第3引数で指定されたアドレスに書き出す。
Usage
#include "Mdl_IP_ex.h"
int Mdl_IP_PersonDetection(
unsigned char *in_img, PersonDetection_Rslt *rslt, unsigned char *extension );
Parameters
in_img
入力
入力画像格納先頭アドレス
rslt
出力
人物検知処理結果詳細
extension 出力
拡張機能(NULL を指定のこと)
Return Value
0
正常終了
-1
初期化処理 Mdl_IP_Init( ) 未実行
Remark
無し
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 58 of 65
RX64M グループ
9.5.3
カメラ活用センサソリューション
RX Driver Package Application
Mdl_IP_PersonDetection_ParamChg
Description
本関数は、「1.3.3 Mdl_IP_PersonDetection」の内部で使用する画像処理パラメータに対し、
第1引数でパラメータの種別を指定して、第2引数で指定された設定値に変更する。
Usage
#include "Mdl_IP_ex.h"
int Mdl_IP_PersonDetection_ParamChg( int kind, int val );
Parameters
Kind
入力
パラメータ種別
val
入力
設定値
Return Value
0
正常終了
-1
初期化処理 Mdl_IP_Init( ) 未実行
-2
パラメータ種別範囲外
-3
設定値範囲外
Remark
パラメータ種別
0:人物検出しきい値(設定値範囲:1~9)
人物を検出する際の人物らしさを判別するしきい値を指定する。人物の検出が行われ
にくい場合は設定値を小さくし、過検出する場合は設定値を大きくする。(デフォルト
値:7)
1:人物検出感度(設定値範囲:1~15)
人物を検出する際、検出候補箇所のコントラスト(明暗)及び鮮やかさ(色数)を判
別するしきい値を指定する。コントラストが小さく、鮮やかさが乏しい箇所を有効する
場合は設定値を小さくし、無効とする場合は設定値を大きくする。(デフォルト値:7)
9.5.4
Mdl_IP_MovingDetection
Description
本関数は、第1引数から第3引数で指定されたアドレスに格納されている連続取込した画像に
対し、移動体の検出処理を実行する。
実行結果詳細を第4引数で指定された動体検知結果構造体のアドレスに書き出し、実行結果画
像を第5引数で指定されたアドレスに書き出す。
Usage
#include "Mdl_IP_ex.h"
int Mdl_IP_MovingDetection( unsigned char *in_img1, unsigned char *in_img2
unsigned char *in_img3, MovingDetection_Rslt *rslt, unsigned char *extension );
Parameters
in_img1
入力
入力画像1格納先頭アドレス
in_img2
入力
入力画像2格納先頭アドレス
in_img3
入力
入力画像3格納先頭アドレス
rslt
出力
動体検知処理結果詳細
extension
出力
拡張機能(NULL を指定のこと)
Return Value
0
正常終了
-1
初期化処理 Mdl_IP_Init( ) 未実行
Remark
無し
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 59 of 65
RX64M グループ
9.5.5
カメラ活用センサソリューション
RX Driver Package Application
Mdl_IP_MovingDetection_ParamChg
Description
本関数は、「1.3.5 Mdl_IP_MovingDetection」の内部で使用する画像処理パラメータに対し、
第1引数でパラメータの種別を指定して、第2引数で指定された設定値に変更する。
Usage
#include "Mdl_IP_ex.h"
int Mdl_IP_MovingDetection_ParamChg( int kind, int val );
Parameters
無し
Return Value
0
正常終了
-1
初期化処理 Mdl_IP_Init( ) 未実行
-2
パラメータ種別範囲外
-3
設定値範囲外
Remark
パラメータ種別
0:動体検出しきい値(設定値範囲:1~10)
動体を検出する際の判別しきい値を指定する。動体の検出が行われにくい場合は設定
値を小さくし、過検出する場合は設定値を大きくする。(デフォルト値:4)
1:動体検出感度(設定値範囲:1~10)
動体を検出する際、画像差分(1枚目と2枚目、2枚目と3枚目)で明るさの変化が
あったかを判別するしきい値を指定する。明るさの変化が小さい箇所を検出したい場合
は設定値を小さくし、検出しなくする場合は設定値を大きくする。(デフォルト値:3)
2:処理領域
3:処理領域
4:処理領域
5:処理領域
上辺(設定値範囲:0~9)
下辺(設定値範囲:0~9)
左辺(設定値範囲:0~9)
右辺(設定値範囲:0~9)
動体検出を行う処理領域の画像端からの補正値を10%刻みで指定する。上辺・下辺は
画像高さに対する割合、左辺・右辺は画像幅に対する割合とする。(デフォルト値:0)
9.5.6
Mdl_IP_ImgRevise
Description
本関数は、第1引数で指定されたアドレスに格納されている画像に対し、歪み補正処理を実行
する。
実行結果画像を第2引数で指定されたアドレスに書き出す。
Usage
#include "Mdl_IP_ex.h"
int Mdl_IP_ImgRevise ( unsigned char *in_img, unsigned char *out_img );
Parameters
in_img
入力
入力画像格納先頭アドレス
out_img
出力
歪み補正処理結果画像格納先頭アドレス
Return Value
0
正常終了
-1
初期化処理 Mdl_IP_Init( ) 未実行
Remark
歪み補正処理結果画像の格納先は、入力画像と同サイズのエリアが確保されていなければなり
ません。
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 60 of 65
RX64M グループ
9.5.7
カメラ活用センサソリューション
RX Driver Package Application
Mdl_IP_ImgRevise_ParamChg
Description
本関数は、「1.3.7 Mdl_IP_ImgRevise」の内部で使用する歪み補正パラメータに対し、第1
引数でパラメータの種別を指定して、第2引数で指定された設定値に変更する。
Usage
#include "Mdl_IP_ex.h"
int Mdl_IP_ImgRevise_ParamChg( int kind, int val );
Parameters
kind
入力
パラメータ種別
val
入力
設定値
Return Value
0
正常終了
-1
初期化処理 Mdl_IP_Init( ) 未実行
-2
パラメータ種別範囲外
-3
設定値範囲外
Remark
パラメータ種別
0:歪み補正有効/無効(設定値範囲:0~1)
歪み補正処理を行うかどうかを指定する。有効時は1、無効時は0とする。
(デフォルト値:1)
1:水平方向補正値(設定値範囲:-127~127)
歪み補正を行う際の基準点X座標を画像中心位置からのオフセットで指定する。画像
中心から左方向は負値、右方向は正値とする。(デフォルト値:-2)
2:垂直方向補正値(設定値範囲:-127~127)
歪み補正を行う際の基準点Y座標を画像中心位置からのオフセットで指定する。画像
中心から上方向は負値、下方向は正値とする。(デフォルト値:-42)
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 61 of 65
RX64M グループ
カメラ活用センサソリューション
RX Driver Package Application
10. e2 studio 使用時の注意点
10.1
フォルダ名について
一部絶対パスが入ってしまう設定があり、フォルダ名に日本語が入っていると、ビルドに失敗します。
10.2
ソースコードのエディットについて
日本語文字コードを含むソースコードを、e2 studio(通常設定)のエディタで開いて保存した場合、日
本語文字コードが文字化けしますのでご注意ください。
※申し訳ありませんが、提供したプロジェクトには、日本語コメントが残っています。
11. 補足
11.1
無償評価版の「RX ファミリ用 C/C++コンパイラパッケージ」を利用する場合の注
意事項
無償評価版の「RX ファミリ用 C/C++コンパイラパッケージ」には、使用期限と使用制限があります。使用
期限が過ぎた場合、使用制限によりロードモジュールが正しく生成されなくなる場合があります。
詳しくは、ルネサスのホームページにある、評価版ソフトウェアツールのページを参照してください。
URL:http://japan.renesas.com/products/tools/evaluation_software/index.jsp
11.2
Web ブラウザ上でのキャプチャデータ更新遅延について
お使いのクライアント PC の状態等によっては、スムーズなキャプチャ更新ができない場合があ
ります。そのようなケースでは、コンフィグファイルの通信端点数を増やすことによって、改善で
きます。
本ファームウェアでは、内蔵 RAM のみでの実装となっている為、通信端点の上限は約 16 程度と
なっています。
変更箇所は、下記 3 ファイルの計 4 か所です。増減数はそろえるようにしてください。
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 62 of 65
RX64M グループ
カメラ活用センサソリューション
RX Driver Package Application
【rx64m_gr_kaede/r_t4_rx/src/config_tcpudp.c】
1. TCP 受付口の設定
/*** Definition of TCP reception point (only port number needs to be set) ***/
T_TCP_CREP tcp_crep[] =
{
/* { attribute of reception point, {local IP address, local port number}} */
{ 0x0000, { 0, 80 }},
{ 0x0000, { 0, 80 }},
変更前の受け口を 4 とする
{ 0x0000, { 0, 80 }},
{ 0x0000, { 0, 80 }},
{ 0x0000, { 0, 80 }},
-受け口 5
{ 0x0000, { 0, 80 }},
-受け口 6
追加時イメージ
・
・
};
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 63 of 65
RX64M グループ
カメラ活用センサソリューション
RX Driver Package Application
2. TCP 通信端点の設定
/*** Definition of TCP communication end point
(only receive window size needs to be set) ***/
T_TCP_CCEP tcp_ccep[] =
{
/* { attribute of TCP communication end point,
top address of transmit window buffer, size of transmit window buffer,
top address of receive window buffer, size of receive window buffer,
address of callback routine }
*/
{ 0, 0, 0, 0, 1460, http_callback },
{ 0, 0, 0, 0, 1460, http_callback },
変更前の通信端点を 4 とする
{ 0, 0, 0, 0, 1460, http_callback },
{ 0, 0, 0, 0, 1460, http_callback },
{ 0, 0, 0, 0, 1460, http_callback }, -通信端点 5
追加時イメージ
{ 0, 0, 0, 0, 1460, http_callback }, -通信端点 6
・
・
}
【rx64m_gr_kaede/r_config/r_t4_http_server_rx_config.h】
3. HTTP サーバで使用する通信端点
#define
HTTP_TCP_CEP_NUM
【rx64m_gr_kaede/src/main.c】
4. T4(TCP/IP プロトコルスタック)で使用するワークエリア
この値は、一度プログラムを動かして tcpudp_get_ramsize()の戻り値を元に設定しています。
対象処理は、同ファイル内にあります。
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 64 of 65
RX64M グループ
カメラ活用センサソリューション
RX Driver Package Application
ホームページとサポート窓口
ルネサス エレクトロニクスホームページ
http://japan.renesas.com/
お問合せ先
http://japan.renesas.com/contact/
すべての商標および登録商標は,それぞれの所有者に帰属します。
R01AN2462JJxxxx
2014.11.10
Rev.x.xx
Page 65 of 65
改訂記録
Rev.
0.00
発行日
2014.11.10
ページ
-
改訂内容
ポイント
プロジェクト一式リリース版作成
A-1
製品ご使用上の注意事項
ここでは、マイコン製品全体に適用する「使用上の注意事項」について説明します。個別の使用上の注意
事項については、本ドキュメントおよびテクニカルアップデートを参照してください。
1.
未使用端子の処理
【注意】未使用端子は、本文の「未使用端子の処理」に従って処理してください。
CMOS製品の入力端子のインピーダンスは、一般に、ハイインピーダンスとなっています。未使用
端子を開放状態で動作させると、誘導現象により、LSI周辺のノイズが印加され、LSI内部で貫通電
流が流れたり、入力信号と認識されて誤動作を起こす恐れがあります。未使用端子は、本文「未使用
端子の処理」で説明する指示に従い処理してください。
2.
電源投入時の処置
【注意】電源投入時は,製品の状態は不定です。
電源投入時には、LSIの内部回路の状態は不確定であり、レジスタの設定や各端子の状態は不定で
す。
外部リセット端子でリセットする製品の場合、電源投入からリセットが有効になるまでの期間、端子
の状態は保証できません。
同様に、内蔵パワーオンリセット機能を使用してリセットする製品の場合、電源投入からリセットの
かかる一定電圧に達するまでの期間、端子の状態は保証できません。
3.
リザーブアドレス(予約領域)のアクセス禁止
【注意】リザーブアドレス(予約領域)のアクセスを禁止します。
アドレス領域には、将来の機能拡張用に割り付けられているリザーブアドレス(予約領域)がありま
す。これらのアドレスをアクセスしたときの動作については、保証できませんので、アクセスしない
ようにしてください。
4.
クロックについて
【注意】リセット時は、クロックが安定した後、リセットを解除してください。
プログラム実行中のクロック切り替え時は、切り替え先クロックが安定した後に切り替えてくださ
い。
リセット時、外部発振子(または外部発振回路)を用いたクロックで動作を開始するシステムでは、
クロックが十分安定した後、リセットを解除してください。また、プログラムの途中で外部発振子
(または外部発振回路)を用いたクロックに切り替える場合は、切り替え先のクロックが十分安定し
てから切り替えてください。
5.
製品間の相違について
【注意】型名の異なる製品に変更する場合は、製品型名ごとにシステム評価試験を実施してくださ
い。
同じグループのマイコンでも型名が違うと、内部ROM、レイアウトパターンの相違などにより、電
気的特性の範囲で、特性値、動作マージン、ノイズ耐量、ノイズ輻射量などが異なる場合がありま
す。型名が違う製品に変更する場合は、個々の製品ごとにシステム評価試験を実施してください。
ご注意書き
1. 本資料に記載された回路、ソフトウェアおよびこれらに関連する情報は、半導体製品の動作例、応用例を説明するものです。お客様の機器・システムの設計におい
て、回路、ソフトウェアおよびこれらに関連する情報を使用する場合には、お客様の責任において行ってください。これらの使用に起因して、お客様または第三
者に生じた損害に関し、当社は、一切その責任を負いません。
2. 本資料に記載されている情報は、正確を期すため慎重に作成したものですが、誤りがないことを保証するものではありません。万一、本資料に記載されている情報
の誤りに起因する損害がお客様に生じた場合においても、当社は、一切その責任を負いません。
3. 本資料に記載された製品デ-タ、図、表、プログラム、アルゴリズム、応用回路例等の情報の使用に起因して発生した第三者の特許権、著作権その他の知的財産権
に対する侵害に関し、当社は、何らの責任を負うものではありません。当社は、本資料に基づき当社または第三者の特許権、著作権その他の知的財産権を何ら許
諾するものではありません。
4. 当社製品を改造、改変、複製等しないでください。かかる改造、改変、複製等により生じた損害に関し、当社は、一切その責任を負いません。
5. 当社は、当社製品の品質水準を「標準水準」および「高品質水準」に分類しており、
各品質水準は、以下に示す用途に製品が使用されることを意図しております。
標準水準:
コンピュータ、OA機器、通信機器、計測機器、AV機器、
家電、工作機械、パーソナル機器、産業用ロボット等
高品質水準:輸送機器(自動車、電車、船舶等)、交通用信号機器、
防災・防犯装置、各種安全装置等
当社製品は、直接生命・身体に危害を及ぼす可能性のある機器・システム(生命維持装置、人体に埋め込み使用するもの等) 、もしくは多大な物的損害を発生さ
せるおそれのある機器・システム(原子力制御システム、軍事機器等)に使用されることを意図しておらず、使用することはできません。 たとえ、意図しない用
途に当社製品を使用したことによりお客様または第三者に損害が生じても、当社は一切その責任を負いません。 なお、ご不明点がある場合は、当社営業にお問い
合わせください。
6. 当社製品をご使用の際は、当社が指定する最大定格、動作電源電圧範囲、放熱特性、実装条件その他の保証範囲内でご使用ください。当社保証範囲を超えて当社製
品をご使用された場合の故障および事故につきましては、当社は、一切その責任を負いません。
7. 当社は、当社製品の品質および信頼性の向上に努めていますが、半導体製品はある確率で故障が発生したり、使用条件によっては誤動作したりする場合がありま
す。また、当社製品は耐放射線設計については行っておりません。当社製品の故障または誤動作が生じた場合も、人身事故、火災事故、社会的損害等を生じさせ
ないよう、お客様の責任において、冗長設計、延焼対策設計、誤動作防止設計等の安全設計およびエージング処理等、お客様の機器・システムとしての出荷保証
を行ってください。特に、マイコンソフトウェアは、単独での検証は困難なため、お客様の機器・システムとしての安全検証をお客様の責任で行ってください。
8. 当社製品の環境適合性等の詳細につきましては、製品個別に必ず当社営業窓口までお問合せください。ご使用に際しては、特定の物質の含有・使用を規制する
RoHS指令等、適用される環境関連法令を十分調査のうえ、かかる法令に適合するようご使用ください。お客様がかかる法令を遵守しないことにより生じた損害に
関して、当社は、一切その責任を負いません。
9. 本資料に記載されている当社製品および技術を国内外の法令および規則により製造・使用・販売を禁止されている機器・システムに使用することはできません。ま
た、当社製品および技術を大量破壊兵器の開発等の目的、軍事利用の目的その他軍事用途に使用しないでください。当社製品または技術を輸出する場合は、「外
国為替及び外国貿易法」その他輸出関連法令を遵守し、かかる法令の定めるところにより必要な手続を行ってください。
10. お客様の転売等により、本ご注意書き記載の諸条件に抵触して当社製品が使用され、その使用から損害が生じた場合、当社は何らの責任も負わず、お客様にてご負
担して頂きますのでご了承ください。
11. 本資料の全部または一部を当社の文書による事前の承諾を得ることなく転載または複製することを禁じます。
注1. 本資料において使用されている「当社」とは、ルネサス エレクトロニクス株式会社およびルネサス エレクトロニクス株式会社がその総株主の議決権の過半数
を直接または間接に保有する会社をいいます。
注2. 本資料において使用されている「当社製品」とは、注1において定義された当社の開発、製造製品をいいます。
http://www.renesas.com
■営業お問合せ窓口
※営業お問合せ窓口の住所は変更になることがあります。最新情報につきましては、弊社ホームページをご覧ください。
ルネサス エレクトロニクス株式会社 〒100-0004 千代田区大手町2-6-2 (日本ビル)
■技術的なお問合せおよび資料のご請求は下記へどうぞ。
総合お問合せ窓口:http://japan.renesas.com/contact/
© 2014 Renesas Electronics Corporation. All rights reserved.
Colophon 3.0
Fly UP