📄 kernel_cfg.i
字号:
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 + -