📄 itron.h
字号:
/****************************************************************************/
/* */
/* */
/* HI-SH7 header file (C language) ( Ver. 1.0 ) */
/* */
/* */
/* Copyright (c) Hitachi, Ltd. 1993. */
/* Licensed Material of Hitachi, Ltd. */
/* */
/* HI-SH7(HS0700ITCN1SM) V1.0 */
/* */
/* */
/****************************************************************************/
/****************************************************************************/
/*SPECIFICATIONS ; */
/* FILE = itron.h ; */
/* DATE = 93/02/01 ; */
/* AUTHOR = Hitachi, Ltd. ; */
/* FUNCTION = HI-SH7 header file (C language) ; */
/* ATTRIBUTE = PUBLIC ; */
/* HISTORY = V1.0 ; */
/*END OF SPECIFICATIONS ; */
/****************************************************************************/
/****************************************************************************/
/* */
/* type definition */
/* */
/****************************************************************************/
/*--------------------------------- common ---------------------------------*/
typedef char B; /* signed 8 bit integer */
typedef short H; /* signed 16 bit integer */
typedef long W; /* signed 32 bit integer */
typedef unsigned char UB; /* unsigned 8 bit integer */
typedef unsigned short UH; /* unsigned 16 bit integer */
typedef unsigned long UW; /* unsigned 32 bit integer */
typedef char VB; /* variable data type (8 bit) */
typedef short VH; /* variable data type (16 bit) */
typedef long VW; /* variable data type (32 bit) */
typedef void *VP; /* pointer to variable data type */
typedef void (*FP)(); /* program start address */
typedef H ID; /* object ID (xxxid) */
typedef H HNO; /* handler number */
typedef H TPRI; /* task priority */
typedef W ER; /* error code */
typedef W FN; /* function code */
typedef W TMO; /* time out */
/*------------------ data type related to task & handler -------------------*/
typedef void TASK; /* task */
typedef void INTHDR; /* interrupt handler */
typedef void TMRHDR; /* timer handler */
typedef void INIHDR; /* initialization handler */
typedef ER SVCHDR; /* extended SVC handler */
/*---------------------- pointer to task & handler -------------------------*/
typedef TASK (*TASKP)(); /* pointer to task */
typedef INTHDR (*INTHDRP)(); /* pointer to interrupt handler */
typedef TMRHDR (*TMRHDRP)(); /* pointer to timer handler */
typedef INIHDR (*INIHDRP)(); /* pointer to initialize handler */
typedef SVCHDR (*SVCHDRP)(); /* pointer to extended SVC handler */
/*----------------- data type related to SH architecture -------------------*/
typedef UW SR; /* SR */
/****************************************************************************/
/* */
/* fixed number & packet form (common) */
/* */
/****************************************************************************/
/*--------------------------------- whole ----------------------------------*/
#define NADR (-1) /* invalid address */
#define TRUE 1 /* true */
#define FALSE 0 /* false */
/*--------------------------------- tmout ----------------------------------*/
#define TMO_FEVR (TMO)(-1) /* forever wait */
/*--------------------------------- tskid ----------------------------------*/
#define TSK_SELF (ID)0 /* self task */
/*--------------------------------- tskpri ---------------------------------*/
#define TPRI_INI (TPRI)0 /* initial priority of starting task*/
#define TPRI_RUN (TPRI)0 /* highest priority in running task */
/*--------------------------------- imask ----------------------------------*/
#define SR_IMS00 (SR)0x00000000 /* imask0 */
#define SR_IMS01 (SR)0x00000001 /* imask1 */
#define SR_IMS02 (SR)0x00000002 /* imask2 */
#define SR_IMS03 (SR)0x00000003 /* imask3 */
#define SR_IMS04 (SR)0x00000004 /* imask4 */
#define SR_IMS05 (SR)0x00000005 /* imask5 */
#define SR_IMS06 (SR)0x00000006 /* imask6 */
#define SR_IMS07 (SR)0x00000007 /* imask7 */
#define SR_IMS08 (SR)0x00000008 /* imask8 */
#define SR_IMS09 (SR)0x00000009 /* imask9 */
#define SR_IMS10 (SR)0x0000000a /* imask10 */
#define SR_IMS11 (SR)0x0000000b /* imask11 */
#define SR_IMS12 (SR)0x0000000c /* imask12 */
#define SR_IMS13 (SR)0x0000000d /* imask13 */
#define SR_IMS14 (SR)0x0000000e /* imask14 */
#define SR_IMS15 (SR)0x0000000f /* imask15 */
/*--------------------------------- tskstat --------------------------------*/
#define TTS_RDY 0x0010 /* READY */
#define TTS_WAI 0x0020 /* WAIT */
#define TTS_SUS 0x0040 /* SUSPEND */
#define TTS_WAS 0x0060 /* WAIT-SUSPEND */
#define TTS_DMT 0x0080 /* DORMANT */
#define TTS_STK 0x4000 /* STACK WAIT */
#define TTW_SLP 0x0100 /* wait (slp_tsk) */
#define TTW_WAI 0x0200 /* wait (wai_tsk) */
#define TTW_FLG 0x0400 /* wait (wai_flg) */
#define TTW_SEM 0x0800 /* wait (wai_sem) */
#define TTW_MBX 0x1000 /* wait (rcv_msg) */
#define TTW_MPL 0x2000 /* wait (get_blk) */
/*--------------------------------- wfmode ---------------------------------*/
#define TWF_ANDW (UW)0x00000000 /* AND wait */
#define TWF_ORW (UW)0x00000002 /* OR wait */
#define TWF_CLR (UW)0x00000001 /* clear */
/*----------------------------- trace attribute ----------------------------*/
#define TATR_SVC (UH)0x0001 /* call SVC */
#define TATR_RTN (UH)0x0002 /* return SVC */
#define TATR_CONT (UH)0x0003 /* continue task */
#define TATR_IDLE (UH)0x0004 /* change idle */
/*--------------------------------- t_msg ----------------------------------*/
typedef struct t_msg {
UW msghead; /* message head (OS management area)*/
VB msgcont[1]; /* message contents */
} T_MSG;
/*-------------------- t_cio (for sample console driver) -------------------*/
typedef struct t_cio {
UW msghead; /* message head (OS management area)*/
FN fncd; /* function code (0:input, 1:output)*/
ID mbxid; /* mailbox id (for end information) */
union
{
struct
{
B inbuf; /* input buffer */
UB siossr; /* serial I/O status (SCI SSR) */
} ci;
struct
{
B *outbufp; /* pointer to output buffer */
} co;
} cio;
} T_CIO;
/*--------------------------------- t_tim ----------------------------------*/
typedef struct t_tim {
H utime; /* current date/time (upper) */
UW ltime; /* current date/time (lower) */
} T_TIM;
/*--------------------------------- t_ver ----------------------------------*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -