00001 /** \file cec.h 00002 * \brief コア・イベント管理ヘッダーファイル 00003 * \author アナログ・デバイセズ株式会社 00004 * 00005 * コア・イベント・ハンドラ登録用のヘッダーファイルである。イベント・ハンドラの 00006 * 記述方法については \ref cec を参照。 00007 */ 00008 00009 #pragma once 00010 00011 /** コア・イベント管理 00012 * 00013 * アプリケーション・プログラム用のコア・イベント管理名前空間。 00014 * Blackfinコアの各イベントに対応するイベント・ハンドラをこの名前空間 00015 * におく。通常は割込みに対応するイベント・ハンドラを置く。 00016 * 00017 * cecの中のイベント・ハンドラ内部には処理の実体をおかず、各デバイスの 00018 * サービス・ルーチンを呼ぶようにする。サービス・ルーチン内部は 00019 * 呼び出されたら自分が担当する割り込みが発生しているかを調べ、 00020 * 発生しているなら処理を行って真を返す。発生していないなら 00021 * 偽を返す。 00022 * cec内部のイベント・ハンドラ内部では 00023 * \code 00024 if ( デバイス1の割り込みサービス・ルーチン() ) 00025 return; 00026 if ( デバイス2の割り込みサービス・ルーチン() ) 00027 return; 00028 if ( デバイス3の割り込みサービス・ルーチン() ) 00029 return; 00030 * \endcode 00031 * のようにハンドラを並べることで、同じイベント順位に複数のデバイスからの割り込みが 00032 * 同居している場合も記述を簡潔に行える 00033 */ 00034 namespace cec{ 00035 /** コア・イベント・ハンドラの登録 00036 * 00037 * cec内部のイベントハンドラをシステムに登録する 00038 */ 00039 void init(void); 00040 /** 処理の開始 00041 * 00042 * ダミー関数。何もしない。 00043 */ 00044 void start(void); 00045 00046 }; 00047