www.pudn.com > hos-v4_os.rar > knl_exc.h


/* ------------------------------------------------------------------------ */ 
/*  Hyper Operating System V4  μITRON4.0仕様 Real-Time OS                  */ 
/*    カーネル依存情報定義ヘッダ CPU例外ハンドラ管理                        */ 
/*                                                                          */ 
/*                                  Copyright (C) 1998-2002 by Project HOS  */ 
/*                                  http://sourceforge.jp/projects/hos/     */ 
/* ------------------------------------------------------------------------ */ 
 
 
#ifndef __HOS_V4__knl_exc_h__ 
#define __HOS_V4__knl_exc_h__ 
 
 
#include "knl_hos.h" 
 
 
 
/* ------------------------------------------ */ 
/*                  定数定義                  */ 
/* ------------------------------------------ */ 
 
/* 割り込み番号の範囲 */ 
#define KERNEL_TMIN_EXCNO	(kernel_min_excno)	/* CPU例外ハンドラ番号の最小値 */ 
#define KERNEL_TMAX_EXCNO	(KERNEL_TMIN_EXCNO + kernel_exccb_cnt - 1) 
												/* CPU例外ハンドラ番号の最大値 */ 
 
 
 
/* ------------------------------------------ */ 
/*                 型定義                     */ 
/* ------------------------------------------ */ 
 
/* CPU例外ハンドラコントロールブロック */ 
typedef struct t_kernel_exccb 
{ 
	FP exchdr;			/* CPU例外ハンドラの起動番地 */ 
} T_KERNEL_EXCCB; 
 
 
 
/* ---------------------------------- */ 
/*        グローバル変数宣言          */ 
/* ---------------------------------- */ 
 
/*  CPU例外ハンドラ管理 */ 
extern T_KERNEL_EXCCB  kernel_exccb_tbl[];	/* CPU例外ハンドラコントロールブロックテーブル */ 
extern const INT       kernel_exccb_cnt;	/* CPU例外ハンドラ番号数 */ 
extern const EXCNO     kernel_min_excno;	/* CPU例外ハンドラ番号最小値 */ 
 
 
 
/* ------------------------------------------ */ 
/*                関数宣言                    */ 
/* ------------------------------------------ */ 
 
#ifdef __cplusplus 
extern "C" { 
#endif 
 
/* CPU例外ハンドラ管理 */ 
void    kernel_sta_exc(void);			/* CPU例外ハンドラの開始 */ 
void    kernel_end_exc(void);			/* CPU例外ハンドラの終了 */ 
void    kernel_exe_exc(INTNO excno);	/* CPU例外ハンドラ処理実行 */ 
 
#ifdef __cplusplus 
} 
#endif 
 
 
 
#endif	/*  __HOS_V4__knl_exc_h__ */ 
 
 
/* ------------------------------------------------------------------------ */ 
/*  Copyright (C) 1998-2002 by Project HOS                                  */ 
/* ------------------------------------------------------------------------ */