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

📄 kernel_cfg.i

📁 免费的OS源代码 符合ITRON4.0规范 http://www.toppers.jp/official_release.html
💻 I
📖 第 1 页 / 共 4 页
字号:
INHINIB         #pragma define iniflg _kernel_iniflg #pragma define print_banner _kernel_print_banner #pragma define dispatch _kernel_dispatch#pragma define exit_and_dispatch _kernel_exit_and_dispatch#pragma define cpu_initialize _kernel_cpu_initialize#pragma define cpu_terminate _kernel_cpu_terminate#pragma define sys_initialize _kernel_sys_initialize#pragma define sys_exit _kernel_sys_exit#pragma define sys_putc _kernel_sys_putc #pragma define runtsk _kernel_runtsk#pragma define schedtsk _kernel_schedtsk#pragma define reqflg _kernel_reqflg#pragma define enadsp _kernel_enadsp#pragma define ready_queue _kernel_ready_queue#pragma define ready_primap _kernel_ready_primap#pragma define task_initialize _kernel_task_initialize#pragma define search_schedtsk _kernel_search_schedtsk#pragma define make_runnable _kernel_make_runnable#pragma define make_non_runnable _kernel_make_non_runnable#pragma define make_dormant _kernel_make_dormant#pragma define make_active _kernel_make_active#pragma define exit_task _kernel_exit_task#pragma define change_priority _kernel_change_priority#pragma define rotate_ready_queue _kernel_rotate_ready_queue#pragma define call_texrtn _kernel_call_texrtn#pragma define calltex _kernel_calltex #pragma define make_wait_tmout _kernel_make_wait_tmout#pragma define wait_complete _kernel_wait_complete#pragma define wait_tmout _kernel_wait_tmout#pragma define wait_tmout_ok _kernel_wait_tmout_ok#pragma define wait_cancel _kernel_wait_cancel#pragma define wait_release _kernel_wait_release#pragma define wobj_make_wait _kernel_wobj_make_wait#pragma define wobj_make_wait_tmout _kernel_wobj_make_wait_tmout#pragma define wobj_change_priority _kernel_wobj_change_priority #pragma define systim_offset _kernel_systim_offset#pragma define current_time _kernel_current_time#pragma define next_time _kernel_next_time#pragma define next_subtime _kernel_next_subtime#pragma define last_index _kernel_last_index#pragma define tmevt_initialize _kernel_tmevt_initialize#pragma define tmevt_up _kernel_tmevt_up#pragma define tmevt_down _kernel_tmevt_down#pragma define tmevtb_insert _kernel_tmevtb_insert#pragma define tmevtb_delete _kernel_tmevtb_delete #pragma define syslog_buffer _kernel_syslog_buffer#pragma define syslog_count _kernel_syslog_count#pragma define syslog_head _kernel_syslog_head#pragma define syslog_tail _kernel_syslog_tail#pragma define syslog_lost _kernel_syslog_lost#pragma define syslog_logmask _kernel_syslog_logmask#pragma define syslog_lowmask _kernel_syslog_lowmask#pragma define syslog_initialize _kernel_syslog_initialize#pragma define syslog_terminate _kernel_syslog_terminate #pragma define semaphore_initialize _kernel_semaphore_initialize #pragma define eventflag_initialize _kernel_eventflag_initialize#pragma define eventflag_cond _kernel_eventflag_cond #pragma define dataqueue_initialize _kernel_dataqueue_initialize#pragma define enqueue_data _kernel_enqueue_data#pragma define force_enqueue_data _kernel_force_enqueue_data#pragma define dequeue_data _kernel_dequeue_data#pragma define send_data_rwait _kernel_send_data_rwait#pragma define receive_data_swait _kernel_receive_data_swait #pragma define mailbox_initialize _kernel_mailbox_initialize #pragma define mempfix_initialize _kernel_mempfix_initialize#pragma define mempfix_get_block _kernel_mempfix_get_block #pragma define cyclic_initialize _kernel_cyclic_initialize#pragma define tmevtb_enqueue_cyc _kernel_tmevtb_enqueue_cyc#pragma define call_cychdr _kernel_call_cychdr #pragma define interrupt_initialize _kernel_interrupt_initialize #pragma define exception_initialize _kernel_exception_initialize #pragma define object_initialize _kernel_object_initialize#pragma define call_inirtn _kernel_call_inirtn#pragma define call_terrtn _kernel_call_terrtn#pragma define tmax_tskid _kernel_tmax_tskid#pragma define tinib_table _kernel_tinib_table#pragma define torder_table _kernel_torder_table#pragma define tcb_table _kernel_tcb_table#pragma define tmax_semid _kernel_tmax_semid#pragma define seminib_table _kernel_seminib_table#pragma define semcb_table _kernel_semcb_table#pragma define tmax_flgid _kernel_tmax_flgid#pragma define flginib_table _kernel_flginib_table#pragma define flgcb_table _kernel_flgcb_table#pragma define tmax_dtqid _kernel_tmax_dtqid#pragma define dtqcb_table _kernel_dtqcb_table#pragma define dtqinib_table _kernel_dtqinib_table#pragma define tmax_mbxid _kernel_tmax_mbxid#pragma define mbxcb_table _kernel_mbxcb_table#pragma define mbxinib_table _kernel_mbxinib_table#pragma define tmax_mpfid _kernel_tmax_mpfid#pragma define mpfinib_table _kernel_mpfinib_table#pragma define mpfcb_table _kernel_mpfcb_table#pragma define tmax_cycid _kernel_tmax_cycid#pragma define cycinib_table _kernel_cycinib_table#pragma define cyccb_table _kernel_cyccb_table#pragma define tnum_inhno _kernel_tnum_inhno#pragma define inhinib_table _kernel_inhinib_table#pragma define tnum_excno _kernel_tnum_excno#pragma define excinib_table _kernel_excinib_table#pragma define tmevt_heap _kernel_tmevt_heap                          #pragma define _int8_ char#pragma define _int16_ int#pragma define _int32_ long       #pragma inline sil_reb_mem#pragma inline sil_wrb_mem#pragma inline sil_reh_mem#pragma inline sil_wrh_mem#pragma inline sil_reh_lem#pragma inline sil_wrh_lem#pragma inline sil_reh_bem#pragma inline sil_wrh_bem#pragma inline sil_rew_mem#pragma inline sil_wrw_mem#pragma inline sil_rew_lem#pragma inline sil_wrw_lem#pragma inline sil_rew_bem#pragma inline sil_wrw_bem #pragma inline _t_perror#pragma inline _t_panic #pragma inline _syslog_0#pragma inline _syslog_1#pragma inline _syslog_2#pragma inline _syslog_3#pragma inline _syslog_4#pragma inline _syslog_5#pragma inline _syslog_6 #pragma inline enqueue_msg_pri #pragma inline bitmap_search #pragma inline tmevtb_delete_top #pragma inline make_non_wait#pragma inline queue_insert_tpri#pragma inline wobj_queue_insert #pragma inline queue_initialize#pragma inline queue_insert_prev#pragma inline queue_delete#pragma inline queue_delete_next#pragma inline queue_empty #pragma inline tmevtb_enqueue#pragma inline tmevtb_enqueue_evttim#pragma inline tmevtb_dequeue #pragma inline make_wait #pragma inline serial_snd_chr#pragma define asm __asm #pragma define Asm __ASM     #pragma define CHAR_BIT 8#pragma define SCHAR_MAX 127#pragma define SCHAR_MIN (-127)#pragma define SHRT_MAX 32767#pragma define SHRT_MIN (-32767)#pragma define LONG_MAX (2147483647)#pragma define LONG_MIN (-2147483647)#pragma define UCHAR_MAX 255U#pragma define UCHAR_MIN 0#pragma define USHRT_MAX 65535U#pragma define ULONG_MAX 4294967295U#pragma define USHRT_MIN 0#pragma define ULONG_MIN 0#pragma define MB_LEN_MAX 4#pragma define CHAR_MAX SCHAR_MAX#pragma define CHAR_MIN SCHAR_MIN#pragma define INT_MAX SHRT_MAX#pragma define INT_MIN SHRT_MIN#pragma define UINT_MAX USHRT_MAX#pragma define UINT_MIN USHRT_MIN                  typedef	long		ptrdiff_t;typedef unsigned int	size_t;typedef int		wchar_t;#pragma define NULL ((void *)0) #pragma define _bool_ int typedef	signed char		B;	 typedef	unsigned char		UB;	 typedef	char			VB;	 typedef	signed int		H;	 typedef	unsigned int 	UH;	 typedef	int			VH;	 typedef	signed long		W;	 typedef	unsigned long	UW;	 typedef	long			VW;	 typedef	void		*VP;		 typedef	void		(*FP)();	 typedef signed int	INT;		 typedef unsigned int	UINT;		 typedef int		BOOL;		 typedef INT		FN;		 typedef	INT		ER;		 typedef	INT		ID;		 typedef	UINT		ATR;		 typedef	UINT		STAT;		 typedef	UINT		MODE;		 typedef	INT		PRI;		 typedef	size_t		SIZE;		 typedef	INT		TMO;		 typedef	UINT		RELTIM;		 typedef	UW		SYSTIM;		 typedef	VP		VP_INT;		 typedef	INT		ER_BOOL;	 typedef	INT		ER_ID;		 typedef	INT		ER_UINT;	   #pragma define TRUE 1#pragma define FALSE 0#pragma define E_OK 0 #pragma define E_SYS (-5)#pragma define E_NOSPT (-9)#pragma define E_RSFN (-10)#pragma define E_RSATR (-11)#pragma define E_PAR (-17)#pragma define E_ID (-18)#pragma define E_CTX (-25)#pragma define E_MACV (-26)#pragma define E_OACV (-27)#pragma define E_ILUSE (-28)#pragma define E_NOMEM (-33)#pragma define E_NOID (-34)#pragma define E_OBJ (-41)#pragma define E_NOEXS (-42)#pragma define E_QOVR (-43)#pragma define E_RLWAI (-49)#pragma define E_TMOUT (-50)#pragma define E_DLT (-51)#pragma define E_CLS (-52)#pragma define E_WBLK (-57)#pragma define E_BOVR (-58) #pragma define TA_NULL 0u #pragma define TMO_POL 0#pragma define TMO_FEVR (-1)#pragma define TMO_NBLK (-2)       typedef	unsigned long SYSUTIM;	  #pragma define TIC_NUME 1u#pragma define TIC_DENO 1uextern void start(void); #pragma inline kernel_abortvoidkernel_abort(){	start();	 }   typedef	UINT	INHNO;		 typedef	UINT	EXCNO;		  typedef	UINT	IPM;		 extern ER	chg_ipm(IPM ipm) ;extern ER	get_ipm(IPM *p_ipm) ; #pragma define SIL_ENDIAN SIL_ENDIAN_LITTLE    #pragma define LOG_TYPE_INH 0x01u#pragma define LOG_TYPE_ISR 0x02u#pragma define LOG_TYPE_CYC 0x03u#pragma define LOG_TYPE_EXC 0x04u#pragma define LOG_TYPE_TEX 0x05u#pragma define LOG_TYPE_TSKSTAT 0x06u#pragma define LOG_TYPE_DSP 0x07u#pragma define LOG_TYPE_SVC 0x08u#pragma define LOG_TYPE_COMMENT 0x09u#pragma define LOG_TYPE_ASSERT 0x0au#pragma define LOG_ENTER 0x00u#pragma define LOG_LEAVE 0x80u #pragma define LOG_EMERG 0u#pragma define LOG_ALERT 1u#pragma define LOG_CRIT 2u#pragma define LOG_ERROR 3u#pragma define LOG_WARNING 4u#pragma define LOG_NOTICE 5u#pragma define LOG_INFO 6u#pragma define LOG_DEBUG 7u #pragma define TMAX_LOGINFO 6typedef struct {		UINT	logtype;		 		SYSTIM	logtim;			 		VP_INT	loginfo[6];	 	} SYSLOG;  extern ER	vwri_log(UINT prio, SYSLOG *p_log) ; extern ER_UINT	vrea_log(SYSLOG *p_log) ; extern ER	vmsk_log(UINT logmask, UINT lowmask) ;  ER_syslog_0(UINT prio, UINT type){	SYSLOG	log;	log.logtype = type;	return(vwri_log(prio, &log));} ER_syslog_1(UINT prio, UINT type, VP_INT arg1){	SYSLOG	log;	log.logtype = type;	log.loginfo[0] = arg1;	return(vwri_log(prio, &log));} ER_syslog_2(UINT prio, UINT type, VP_INT arg1, VP_INT arg2){	SYSLOG	log;	log.logtype = type;	log.loginfo[0] = arg1;	log.loginfo[1] = arg2;	return(vwri_log(prio, &log));} ER_syslog_3(UINT prio, UINT type, VP_INT arg1, VP_INT arg2, VP_INT arg3){	SYSLOG	log;	log.logtype = type;	log.loginfo[0] = arg1;	log.loginfo[1] = arg2;	log.loginfo[2] = arg3;	return(vwri_log(prio, &log));} ER_syslog_4(UINT prio, UINT type, VP_INT arg1, VP_INT arg2,				VP_INT arg3, VP_INT arg4){	SYSLOG	log;	log.logtype = type;	log.loginfo[0] = arg1;	log.loginfo[1] = arg2;	log.loginfo[2] = arg3;	log.loginfo[3] = arg4;	return(vwri_log(prio, &log));} ER_syslog_5(UINT prio, UINT type, VP_INT arg1, VP_INT arg2,				VP_INT arg3, VP_INT arg4, VP_INT arg5){	SYSLOG	log;	log.logtype = type;	log.loginfo[0] = arg1;	log.loginfo[1] = arg2;	log.loginfo[2] = arg3;	log.loginfo[3] = arg4;	log.loginfo[4] = arg5;	return(vwri_log(prio, &log));} ER_syslog_6(UINT prio, UINT type, VP_INT arg1, VP_INT arg2, VP_INT arg3,				VP_INT arg4, VP_INT arg5, VP_INT arg6){	SYSLOG	log;	log.logtype = type;	log.loginfo[0] = arg1;	log.loginfo[1] = arg2;	log.loginfo[2] = arg3;	log.loginfo[3] = arg4;	log.loginfo[4] = arg5;	log.loginfo[5] = arg6;	return(vwri_log(prio, &log));}  extern ER	syslog(UINT prio, const char *format, ...) ; extern void	syslog_printf(const char *format, VP_INT *args,						void (*putc)(char)) ;extern void	syslog_print(SYSLOG *p_log, void (*putc)(char)) ;extern void	syslog_output(void (*putc)(char)) ;  typedef	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;  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(const 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) ;extern BOOL	vsns_ini(void) ; #pragma define TA_HLNG 0x00u#pragma define TA_ASM 0x01u#pragma define TA_TFIFO 0x00u#pragma define TA_TPRI 0x01u#pragma define TA_MFIFO 0x00u#pragma define TA_MPRI 0x02u#pragma define TA_ACT 0x02u#pragma define TA_WSGL 0x00u#pragma define TA_CLR 0x04u#pragma define TA_STA 0x02u #pragma define TWF_ANDW 0x00u#pragma define TWF_ORW 0x01u #pragma define TSK_SELF 0#pragma define TSK_NONE 0#pragma define TPRI_SELF 0#pragma define TPRI_INI 0  #pragma define TMIN_TPRI 1#pragma define TMAX_TPRI 16#pragma define TMIN_MPRI 1#pragma define TMAX_MPRI 16 #pragma define TKERNEL_MAKER 0x0118u#pragma define TKERNEL_PRID 0x0001u#pragma define TKERNEL_SPVER 0x5402u#pragma define TKERNEL_PRVER 0x1041u #pragma define TMAX_ACTCNT 1#pragma define TMAX_WUPCNT 1#pragma define TMAX_SUSCNT 1 #pragma define TBIT_TEXPTN (sizeof(TEXPTN) * CHAR_BIT)					 #pragma define TBIT_FLGPTN (sizeof(FLGPTN) * CHAR_BIT)					              #pragma define TNUM_PORT 1#pragma define TNUM_SIOP 1 #pragma define LOGTASK_PORTID 1#pragma define CONSOLE_PORTID 1 extern void	_kernel_sys_initialize(void); extern void	_kernel_sys_exit(void); extern void	_kernel_sys_putc(char c);     #pragma define activate_r _kernel_activate_r#pragma define ret_int _kernel_ret_int#pragma define interrupt _kernel_interrupt#pragma define task_intmask _kernel_task_intmask#pragma define int_intmask _kernel_int_intmask    #pragma inline current_srUHcurrent_sr(){	__ASM("	push	sr");	__ASM("	pop		hl");	return(__HL);} #pragma inline set_srvoidset_sr(UH sr){	__HL = sr;	__ASM("	push	hl");	__ASM("	pop		sr");}  #pragma inline disintvoiddisint(){	__ASM("	ei	7	");} #pragma inline enaintvoidenaint(){	__ASM("	ei	0	");} #pragma inline bitmap_searchUINTbitmap_search(UINT bitmap){	 	__HL = bitmap;	__ASM("	bs1f	a, hl");	return (UINT)__A;}  #pragma define TBIT_TCB_TSTAT 8#pragma define TBIT_TCB_PRIORITY 4 typedef struct task_context_block {	VP	xsp;		 	FP	pc;		 } CTXB; extern UINT	intcnt;

⌨️ 快捷键说明

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