• 検索結果がありません。

割込み管理機能

ドキュメント内 px100.book (ページ 110-115)

第 3 章 従来機能の変更 25

3.9 割込み管理機能

ATA_ISR

割込みサービスルーチンの追加(静的API,アクセス許可指定)

cra_isr

割込みサービスルーチンの生成(アクセス許可指定)

acra_isr

割込みサービスルーチンの生成(ID番号自動割付け,アクセス許可指定)

【静的 API】

ATA_ISR ( { ATR isratr, VP_INT exinf, INTNO intno, FP isr }, ACVCT acvct ) ;

【 C言語 API】

ER ercd = cra_isr ( ID isrid, T_CISR *pk_cisr, ACVCT *p_acvct ) ; ER_ID isrid = acra_isr ( T_CISR *pk_cisr, ACVCT *p_acvct ) ;

【パラメータ】

ID isrid 生成対象の割込みサービスルーチンの ID番号

T_CISR * pk_cisr 割込みサービスルーチン生成情報を入れたパ

ケットへのポインタ(静的 APIではパケットの 内容を直接記述する)

ACVCT acvct 割込みサービスルーチンのアクセス許可ベク

タ pk_cisrの内容( T_CISR型)

ATR isratr 割込みサービスルーチン属性

VP_INT exinf 割込みサービスルーチンの拡張情報

INTNO intno 割込みサービスルーチンを付加する割込み番

FP isr 割込みサービスルーチンの起動番地

(実装独自に他の情報を追加してもよい)

【リターンパラメータ】

cra_isrの場合

ER ercd 正常終了( E_OK)またはエラーコード acra_isrの場合

ER_ID isrid 生成した割込みサービスルーチンの ID番号(正

の値)またはエラーコード

【エラーコード】

E_ID 不正 ID番号( isridが不正あるいは使用できない)

E_NOID ID 番号不足(割付け可能な割込みサービスルーチン ID

がない)

E_RSATR 予約属性( isratrが不正あるいは使用できない)

E_PAR パラメータエラー( pk_cisr, intno, isr, p_acvct, acvct が不正)

E_OBJ オブジェクト状態エラー(対象割込みサービスルーチン

が登録済み)

【機能】

isridで指定される ID番号を持つ割込みサービスルーチンを, pk_cisrで指定さ れる割込みサービ スルーチン生成情報に 基づいて生成する. ATT_ISR/ cre_isr/ acre_isrとの違いは,生成する割込みサービスルーチンに, acvctで 指定されるアクセス許可ベクタを設定することのみである.

sac_isr

割込みサービスルーチンのアクセス許可ベクタの変更

【 C言語 API】

ER ercd = sac_isr ( ID isrid, ACVCT *p_acvct ) ;

【パラメータ】

ID isrid 変更対象の割込みサービスルーチンの ID番号

ACVCT acvct 割込みサービスルーチンのアクセス許可ベク

【リターンパラメータ】

ER ercd 正常終了( E_OK)またはエラーコード

【エラーコード】

E_ID 不正 ID番号( isridが不正あるいは使用できない)

E_PAR パラメータエラー( p_acvct, acvctが不正)

E_NOEXS オブジェクト未生成(対象割込みサービスルーチンが未

登録)

【機能】

isridで指定される割込みサービスルーチンに対するアクセス許可ベクタを,

acvctで指定されるアクセス許可ベクタに設定する.

ref_isr

割込みサービスルーチンの状態参照

【 C言語 API】

ER ercd = ref_isr ( ID isrid, T_RISR *pk_risr ) ;

【パラメータ】

ID isrid 状態参照対象の割込みサービスルーチンの ID

番号

T_RISR * pk_risr 割込みサービスルーチン状態を返すパケット

へのポインタ

【リターンパラメータ】

ER ercd 正常終了( E_OK)またはエラーコード pk_risrの内容( T_RISR型)

ACVCT acvct 割込みサービスルーチンのアクセス許可ベク

(実装独自に他の情報を追加してもよい)

【エラーコード】

E_ID 不正 ID番号( isridが不正あるいは使用できない)

E_PAR パラメータエラー( pk_risrが不正)

E_NOEXS オブジェクト未生成(対象割込みサービスルーチンが未

登録)

【機能】

isridで指定される割込みサービスルーチンに関する状態を参照し, pk_risrで 指定されるパケットに返す. µITRON4.0仕様との違いは, acvctに対象割込み サービスルーチンのアクセス許可ベクタを返すことのみである.

ドキュメント内 px100.book (ページ 110-115)