00001 /** \mainpage 00002 * \Author アナログ・デバイセズ株式会社 00003 * 00004 * このプログラムは、ADSP-BF537を搭載する評価基板、EZ-KIT BF537のデモ・プログラムである。 00005 * 00006 * ::main 関数を実行すると、各種の初期化を行い、割り込みハンドラを cec::initで登録した後、 00007 * 割り込みとDMAを許可してオーディオ信号の送受信を行う。オーディオ信号はSPORT0経由で入力 00008 * し、DMAによってメモリ上に格納される。2次元DMAの各行が終わるたびにオーディオ信号受信割り込み 00009 * が発生し、 afw::ISRが呼び出される。 00010 * 00011 * afw::ISRは割り込みをクリアし、トリプルバッファの制御を行う。そしてしかるべきデータを 00012 * DMAの受信バッファから取り出すと、使いやすいよう並べなおしてユーザー定義のコールバック関数 00013 * afw::processDataを呼び出す。 00014 * 00015 * afw::processDataは実際に信号処理を行う場所であるが、このアプリケーションはフレームワークで 00016 * あり、処理の部分は空になっている。ユーザーはこの空の部分を自由に書き直して自身の 00017 * アプリケーションに変える。 afw::processData は送信したいデータがあるならば出力バッファに格納して呼び出し関数に戻る。 00018 * 00019 * 呼び出した関数である afw::ISRは出力データを並べ替えて然るべきDMAバッファに 00020 * 格納する。 00021 * 00022 * EZ-KIT Lite BF-537のディップスイッチの設定は以下のとおり 00023 - SW1 : すべてOFF 00024 - SW7 : すべてON 00025 - SW8 : 1-2をON、残りはすべてOFF 00026 */ 00027 00028 /** \file main.cpp 00029 * \brief メイン関数定義ファイル 00030 * \author アナログ・デバイセズ株式会社 00031 * 00032 * このファイルはVisualDSP++ 4.5のサンプル・アプリケーション、TalkTrhoughから 00033 * 派生させたものである。EZ-KIT BF537のリソースを初期化し、48Ksample/Sのオーディオ 00034 * フレームワークを起動する。受信データはコールバック関数 afw::processData によって 00035 * 処理される。 00036 */ 00037 #include <ccblkfn.h> 00038 #include "afw.h" 00039 #include "cec.h" 00040 #include "utilbf537.h" 00041 00042 00043 00044 /** メイン関数 00045 * 00046 * 各ペリフェラルを初期化後、割り込み待ちに入る。 00047 */ 00048 void main(void) 00049 { 00050 utilbf537::initPLL(); // PLLを設定する 00051 00052 // 各ライブラリの初期化 00053 cec::init(); // コア・イベント 00054 afw::init(); // オーディオ・フレームワーク 00055 00056 // 作業開始 00057 cec::start(); // コア・イベント 00058 afw::start(); // オーディオ処理開始 00059 00060 while(1) 00061 idle(); // 割り込み待ち 00062 }