📄 ros33.h
字号:
/*************************************************************************
*
* Copyright (C) SEIKO EPSON CORP. 1997
* All Rights Reserved
*
* Filename : ros33.h
* Function : for C33 itron
* Revision :
* 1997/08/01 H.Matsuoka start
* 1999/08/26 H.Matsuoka Add message buffer function
* 1999/10/18 H.Matsuoka Add semapho count change function
* 1999/11/25 H.Matsuoka Add system call from interrupt handler
* 2000/02/28 H.Matsuoka Ver2.0
* 2000/11/21 Y.Taka Add Memory Pool Management
* 2001/01/16 Y.Taka Add tslp_tsk,twai_sem,twai_flg,trcv_msg
* 2002/04/26 Pessia Move INI_PSR to HAL header file
************************************************************************/
#include "itron.h"
/*
#if CHIP == EPSONC33209
#include "hardware\c33\epsonc33.h"
#endif
#if CHIP == DRAGONBALL_M68328
#include "hardware\drball\M68328.h"
#endif
*/
#include "M68328.h"
extern void release_dispatch( void );
extern void int_dispatch( void );
extern void schedule( void );
extern void ret_int( void );
extern void tmr_handler( void );
extern void ret_tmr( void );
extern void sys_clk( void );
extern ER is_slp_tsk(ID tskid);
#define slp_tsk() tslp_tsk(TMO_FEVR)
#define wai_sem(semid) twai_sem(semid, TMO_FEVR)
#define preq_sem(semid) twai_sem(semid, TMO_POL)
#define wai_flg(p_flgptn,flgid,waiptn,wfmode) \
twai_flg(p_flgptn,flgid,waiptn,wfmode,TMO_FEVR)
#define pol_flg(p_flgptn, flgid, waiptn, wfmode) \
twai_flg(p_flgptn,flgid,waiptn,wfmode,TMO_POL)
#define snd_mbf(mbfid, msg, msgsz) tsnd_mbf(mbfid, msg, msgsz, TMO_FEVR)
#define psnd_mbf(mbfid, msg, msgsz) tsnd_mbf(mbfid, msg, msgsz, TMO_POL)
#define rcv_mbf(mbfid, msg, msgsz) trcv_mbf(mbfid, msg, msgsz, TMO_FEVR)
#define prcv_mbf(mbfid, msg, msgsz) trcv_mbf(mbfid, msg, msgsz, TMO_POL)
#define rcv_msg(ppk_msg, mbxid) trcv_msg(ppk_msg, mbxid, TMO_FEVR)
#define prcv_msg(ppk_msg, mbxid) trcv_msg(ppk_msg, mbxid, TMO_POL)
#define get_blk(p_blk, mplid, blksz) tget_blk(p_blk, mplid, blksz, TMO_FEVR)
#define pget_blk(p_blk, mplid, blksz) tget_blk(p_blk, mplid, blksz, TMO_POL)
#define get_blf(p_blf, mpfid) tget_blf(p_blf, mpfid, TMO_FEVR)
#define pget_blf(p_blf, mpfid) tget_blf(p_blf, mpfid, TMO_POL)
// system call from interrupt handler
extern ER iwup_tsk( ID tskid );
extern ER isig_sem( ID semid );
extern ER iset_flg( ID flgid, UINT setptn );
extern ER isnd_msg( ID mbxid, T_MSG *pk_msg );
extern ER ipsnd_mbf( ID mbfid, VP msg, INT msgsz );
extern ER ipget_blk( VP *p_blk, ID mplid, INT blksz );
extern ER ipget_blf( VP *p_blf, ID mpfid );
extern ER irel_blk( ID mplid, VP blk );
extern ER irel_blf( ID mpfid, VP blf );
extern ER vcre_tsk( ID tskid, FP task, PRI tskpri, UW istkadr );
extern ER vcre_mbf( ID mbfid, VP msgbuf, INT bufsz, INT maxmsz );
extern ER vcre_mpl( ID mplid, VP start_addr, VP end_addr );
extern ER vcre_mpf( ID mpfid, VP start_addr, VP end_addr, INT blfsz );
extern ER vchg_semcnt(ID semid, UB semcnt);
extern int vchk_timer(void);
extern void sys_clk(void);
extern void sys_sta(void);
extern void sys_ini(void);
extern ER ini_sem( ID semid, UH smphMax, UH smphCnt );
// If you change resource number please edit following.
#define TSK_NUM 48 // max task, 1 to 255
#define SMPH_NUM 20 // max semaphore, 0 to 255
#define FLG_NUM 20 // max flag, 0 to 255
#define MLBX_NUM (TSK_NUM+1) // max mailbox, 0 to 255
#define MSGBUF_NUM 1 // max masage buffer, 0 to 255
#define MPLBLK_NUM 1 // max variable-memory pool block, 0 to 255
#define MPFBLK_NUM 1 // max fixed-memory pool block, 0 to 255
#define CYCHNDR_NUM 4 // max cyclic handler, 0 to 255
#define ALMHNDR_NUM 1 // max alarm handler, 0 to 255
#define MAX_TSKPRI 8 // max task priority, 1 to 9
#define SMPH_CNT 1 // semaphore count, 1 to 255
#define WUP_CNT 1 // max wakeup count 1 to 65535
#define INT_TIME 10 // timer interrupt time (msec)
// If you use global pointer please edit here
#ifdef USE_GP
#define GLOBAL_POINTER 0x00000000 // global pointer (%r8 value)
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -