⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kernel.h

📁 嵌入式系统开发 TOPPERS and JSP Kernel Release 1.3 TOPPERS = Toyohashi Open Platform for Embedded Real-Tim
💻 H
字号:
/* *  TOPPERS/JSP Kernel *      Toyohashi Open Platform for Embedded Real-Time Systems/ *      Just Standard Profile Kernel *  *  Copyright (C) 2000,2001 by Embedded and Real-Time Systems Laboratory *                              Toyohashi Univ. of Technology, JAPAN *  *  惧淡螟侯涪荚は·Free Software Foundation によって给山されている  *  GNU General Public License の Version 2 に淡揭されている掘凤か·笆 *  布の(1)×(4)の掘凤を塔たす眷圭に嘎り·塑ソフトウェア∈塑ソフトウェ *  アを猖恃したものを崔むˉ笆布票じ∷を蝗脱ˇ剩澜ˇ猖恃ˇ浩芹邵∈笆布· *  网脱と钙ぶ∷することを痰浸で钓满するˉ *  (1) 塑ソフトウェアをソ〖スコ〖ドの妨で网脱する眷圭には·惧淡の螟侯 *      涪山绩·この网脱掘凤および布淡の痰瘦沮惮年が·そのままの妨でソ〖 *      スコ〖ド面に崔まれていることˉ *  (2) 塑ソフトウェアを浩网脱材墙なバイナリコ〖ド∈リロケ〖タブルオブ *      ジェクトファイルやライブラリなど∷の妨で网脱する眷圭には·网脱 *      に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟侯涪山绩· *      この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ *  (3) 塑ソフトウェアを浩网脱稍材墙なバイナリコ〖ドの妨または怠达に寥 *      み哈んだ妨で网脱する眷圭には·肌のいずれかの掘凤を塔たすことˉ *    (a) 网脱に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟侯 *        涪山绩·この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ *    (b) 网脱の妨轮を·侍に年める数恕によって·惧淡螟侯涪荚に鼠桂する *        ことˉ *  (4) 塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じるいかなる禄 *      巢からも·惧淡螟侯涪荚を倘勒することˉ *  *  塑ソフトウェアは·痰瘦沮で捏丁されているものであるˉ惧淡螟侯涪荚は· *  塑ソフトウェアに簇して·その努脱材墙拉も崔めて·いかなる瘦沮も乖わ *  ないˉまた·塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じたい *  かなる禄巢に簇しても·その勒扦を砷わないˉ *  *  @(#) $Id: kernel.h,v 1.7 2002/04/08 05:29:20 hiro Exp $ *//* *	μITRON4.0慌屯筛洁インクル〖ドファイル * *  このファイルでは·スタンダ〖ドプロファイルで涩妥なものだけを年盗し *  ているˉデ〖タ房の年盗は·スタンダ〖ドプロファイルを塔たすちょうど *  の墓さにはしていないˉ *  アセンブリ咐胳のソ〖スファイルやシステムコンフィギュレ〖ションファ *  イルからこのファイルをインクル〖ドする箕は·_MACRO_ONLY を年盗して *  おくことで·マクロ年盗笆嘲の淡揭を近くことができるˉ */#ifndef _KERNEL_H_#define _KERNEL_H_/* *  ITRON慌屯鼎奶惮年のデ〖タ房ˇ年眶ˇマクロ */#include <itron.h>/* *  システムやプロセッサに巴赂する年盗 */#include <sys_defs.h>#include <cpu_defs.h>/* *  输锦マクロ */#define	TROUND_VP(sz)	(((sz) + sizeof(VP) - 1) & ~(sizeof(VP) - 1))#define	TCOUNT_VP(sz)	(((sz) + sizeof(VP) - 1) / sizeof(VP))/* *  デ〖タ房の年盗 */#ifndef _MACRO_ONLYtypedef	UINT		TEXPTN;		/* タスク毋嘲妥傍のビットパタ〖ン */typedef	UINT		FLGPTN;		/* イベントフラグのビットパタ〖ン */typedef	struct t_msg {			/* メ〖ルボックスのメッセ〖ジヘッダ */	struct t_msg	*next;} T_MSG;typedef	struct t_msg_pri {		/* 庭黎刨烧きメッセ〖ジヘッダ */	T_MSG		msgque;		/* メッセ〖ジヘッダ */	PRI		msgpri;		/* メッセ〖ジ庭黎刨 */} T_MSG_PRI;#endif /* _MACRO_ONLY *//* *  サ〖ビスコ〖ルの离咐 */#ifndef _MACRO_ONLY/* *  タスク瓷妄怠墙 */extern ER	act_tsk(ID tskid);extern ER	iact_tsk(ID tskid);extern ER_UINT	can_act(ID tskid);extern void	ext_tsk(void);extern ER	ter_tsk(ID tskid);extern ER	chg_pri(ID tskid, PRI tskpri);extern ER	get_pri(ID tskid, PRI *p_tskpri);/* *  タスク烧掳票袋怠墙 */extern ER	slp_tsk(void);extern ER	tslp_tsk(TMO tmout);extern ER	wup_tsk(ID tskid);extern ER	iwup_tsk(ID tskid);extern ER_UINT	can_wup(ID tskid);extern ER	rel_wai(ID tskid);extern ER	irel_wai(ID tskid);extern ER	sus_tsk(ID tskid);extern ER	rsm_tsk(ID tskid);extern ER	frsm_tsk(ID tskid);extern ER	dly_tsk(RELTIM dlytim);/* *  タスク毋嘲借妄怠墙 */extern ER	ras_tex(ID tskid, TEXPTN rasptn);extern ER	iras_tex(ID tskid, TEXPTN rasptn);extern ER	dis_tex(void);extern ER	ena_tex(void);extern BOOL	sns_tex(void);/* *  票袋ˇ奶慨怠墙 */extern ER	sig_sem(ID semid);extern ER	isig_sem(ID semid);extern ER	wai_sem(ID semid);extern ER	pol_sem(ID semid);extern ER	twai_sem(ID semid, TMO tmout);extern ER	set_flg(ID flgid, FLGPTN setptn);extern ER	iset_flg(ID flgid, FLGPTN setptn);extern ER	clr_flg(ID flgid, FLGPTN clrptn);extern ER	wai_flg(ID flgid, FLGPTN waiptn,			MODE wfmode, FLGPTN *p_flgptn);extern ER	pol_flg(ID flgid, FLGPTN waiptn,			MODE wfmode, FLGPTN *p_flgptn);extern ER	twai_flg(ID flgid, FLGPTN waiptn,			MODE wfmode, FLGPTN *p_flgptn, TMO tmout);extern ER	snd_dtq(ID dtqid, VP_INT data);extern ER	psnd_dtq(ID dtqid, VP_INT data);extern ER	ipsnd_dtq(ID dtqid, VP_INT data);extern ER	tsnd_dtq(ID dtqid, VP_INT data, TMO tmout);extern ER	fsnd_dtq(ID dtqid, VP_INT data);extern ER	ifsnd_dtq(ID dtqid, VP_INT data);extern ER	rcv_dtq(ID dtqid, VP_INT *p_data);extern ER	prcv_dtq(ID dtqid, VP_INT *p_data);extern ER	trcv_dtq(ID dtqid, VP_INT *p_data, TMO tmout);extern ER	snd_mbx(ID mbxid, T_MSG *pk_msg);extern ER	rcv_mbx(ID mbxid, T_MSG **ppk_msg);extern ER	prcv_mbx(ID mbxid, T_MSG **ppk_msg);extern ER	trcv_mbx(ID mbxid, T_MSG **ppk_msg, TMO tmout);/* *  メモリプ〖ル瓷妄怠墙 */extern ER	get_mpf(ID mpfid, VP *p_blk);extern ER	pget_mpf(ID mpfid, VP *p_blk);extern ER	tget_mpf(ID mpfid, VP *p_blk, TMO tmout);extern ER	rel_mpf(ID mpfid, VP blk);/* *  箕粗瓷妄怠墙 */extern ER	set_tim(SYSTIM *p_systim);extern ER	get_tim(SYSTIM *p_systim);extern ER	isig_tim(void);extern ER	sta_cyc(ID cycid);extern ER	stp_cyc(ID cycid);/* *  システム觉轮瓷妄怠墙 */extern ER	rot_rdq(PRI tskpri);extern ER	irot_rdq(PRI tskpri);extern ER	get_tid(ID *p_tskid);extern ER	iget_tid(ID *p_tskid);extern ER	loc_cpu(void);extern ER	iloc_cpu(void);extern ER	unl_cpu(void);extern ER	iunl_cpu(void);extern ER	dis_dsp(void);extern ER	ena_dsp(void);extern BOOL	sns_ctx(void);extern BOOL	sns_loc(void);extern BOOL	sns_dsp(void);extern BOOL	sns_dpn(void);/* *  悸刘迫极サ〖ビスコ〖ル */extern BOOL	vxsns_ctx(VP p_excinf);extern BOOL	vxsns_loc(VP p_excinf);extern BOOL	vxsns_dsp(VP p_excinf);extern BOOL	vxsns_dpn(VP p_excinf);extern BOOL	vxsns_tex(VP p_excinf);#endif /* _MACRO_ONLY *//* *  オブジェクト掳拉の年盗 */#define TA_HLNG		0x00		/* 光甸咐胳脱インタフェ〖ス */#define TA_ASM		0x01		/* アセンブリ咐胳脱インタフェ〖ス */#define TA_TFIFO	0x00		/* タスクの略ち乖误をFIFO界に */#define TA_TPRI		0x01		/* タスクの略ち乖误を庭黎刨界に */#define TA_MFIFO	0x00		/* メッセ〖ジキュ〖をFIFO界に */#define TA_MPRI		0x02		/* メッセ〖ジキュ〖を庭黎刨界に */#define TA_ACT		0x02		/* タスクを弹瓢された觉轮で栏喇 */#define TA_WSGL		0x00		/* イベントフラグの略ちタスクを1つに */#define TA_CLR		0x04		/* イベントフラグのクリア回年 */#define	TA_STA		0x02		/* 件袋ハンドラを瓢侯觉轮で栏喇 *//* *  サ〖ビスコ〖ルの瓢侯モ〖ドの年盗 */#define	TWF_ANDW	0x00		/* イベントフラグのAND略ち */#define	TWF_ORW		0x01		/* イベントフラグのOR略ち *//* *  その戮の年眶の年盗 */#define	TSK_SELF	0		/* 极タスク回年 */#define	TSK_NONE	0		/* 澈碰するタスクがない */#define	TPRI_SELF	0		/* 极タスクのベ〖ス庭黎刨の回年 */#define	TPRI_INI	0		/* タスクの弹瓢箕庭黎刨の回年 *//* *  菇喇年眶とマクロ *//* *  庭黎刨の认跋 */#define	TMIN_TPRI	1		/* タスク庭黎刨の呵井猛 */#define	TMAX_TPRI	16		/* タスク庭黎刨の呵络猛 */#define	TMIN_MPRI	1		/* メッセ〖ジ庭黎刨の呵井猛 */#define	TMAX_MPRI	16		/* メッセ〖ジ庭黎刨の呵络猛 *//* *  バ〖ジョン攫鼠 */#define	TKERNEL_MAKER	0x0002		/* カ〖ネルのメ〖カ〖コ〖ド */#define	TKERNEL_PRID	0x0101		/* カ〖ネルの急侍戎规 */#define	TKERNEL_SPVER	0x5401		/* ITRON慌屯のバ〖ジョン戎规 */#define	TKERNEL_PRVER	0x1030		/* カ〖ネルのバ〖ジョン戎规 *//* *  キュ〖イング】ネスト搀眶の呵络猛 */#define	TMAX_ACTCNT	1		/* 弹瓢妥滇キュ〖イング眶の呵络猛 */#define	TMAX_WUPCNT	1		/* 弹静妥滇キュ〖イング眶の呵络猛 */#define	TMAX_SUSCNT	1		/* 动扩略ち妥滇ネスト眶の呵络猛 *//* *  ビットパタ〖ンのビット眶 */#define	TBIT_TEXPTN	(sizeof(TEXPTN) * 8)	/* タスク毋嘲妥傍のビット眶 */#define	TBIT_FLGPTN	(sizeof(FLGPTN) * 8)	/* イベントフラグのビット眶 */#endif /* _KERNEL_H_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -