📄 cpu_defs.h
字号:
/* * TOPPERS/JSP Kernel * Toyohashi Open Platform for Embedded Real-Time Systems/ * Just Standard Profile Kernel * * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory * Toyohashi Univ. of Technology, JAPAN * * 惧淡螟侯涪荚は·笆布の (1)×(4) の掘凤か·Free Software Foundation * によって给山されている GNU General Public License の Version 2 に淡 * 揭されている掘凤を塔たす眷圭に嘎り·塑ソフトウェア∈塑ソフトウェア * を猖恃したものを崔むˉ笆布票じ∷を蝗脱ˇ剩澜ˇ猖恃ˇ浩芹邵∈笆布· * 网脱と钙ぶ∷することを痰浸で钓满するˉ * (1) 塑ソフトウェアをソ〖スコ〖ドの妨で网脱する眷圭には·惧淡の螟侯 * 涪山绩·この网脱掘凤および布淡の痰瘦沮惮年が·そのままの妨でソ〖 * スコ〖ド面に崔まれていることˉ * (2) 塑ソフトウェアを·ライブラリ妨及など·戮のソフトウェア倡券に蝗 * 脱できる妨で浩芹邵する眷圭には·浩芹邵に燃うドキュメント∈网脱 * 荚マニュアルなど∷に·惧淡の螟侯涪山绩·この网脱掘凤および布淡 * の痰瘦沮惮年を非很することˉ * (3) 塑ソフトウェアを·怠达に寥み哈むなど·戮のソフトウェア倡券に蝗 * 脱できない妨で浩芹邵する眷圭には·肌のいずれかの掘凤を塔たすこ * とˉ * (a) 浩芹邵に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟 * 侯涪山绩·この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ * (b) 浩芹邵の妨轮を·侍に年める数恕によって·TOPPERSプロジェクトに * 鼠桂することˉ * (4) 塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じるいかなる禄 * 巢からも·惧淡螟侯涪荚およびTOPPERSプロジェクトを倘勒することˉ * * 塑ソフトウェアは·痰瘦沮で捏丁されているものであるˉ惧淡螟侯涪荚お * よびTOPPERSプロジェクトは·塑ソフトウェアに簇して·その努脱材墙拉も * 崔めて·いかなる瘦沮も乖わないˉまた·塑ソフトウェアの网脱により木 * 儡弄または粗儡弄に栏じたいかなる禄巢に簇しても·その勒扦を砷わないˉ * * @(#) $Id: cpu_defs.h,v 1.11 2003/12/15 07:19:22 takayuki Exp $ *//* * プロセッサに巴赂する年盗∈Windows脱∷ */#ifndef _CPU_DEFS_H_#define _CPU_DEFS_H_#define OMIT_SIL_ACCESS#define WINDOWS#define INT_NUMINTERRUPTS 7 /* 充哈み塑眶 */#ifndef _MACRO_ONLY#include <itron.h>#include <vwindows.h>typedef UINT INHNO; /* 充哈みハンドラ戎规 */typedef UINT EXCNO; /* CPU毋嘲ハンドラ戎规 *//* * 充哈みエミュレ〖ション簇息 */#define INT_STAT_MASK 0x0000ffffu#define INT_STAT_PENDING 0x00000001u#define INT_STAT_RUNNING 0x00000002u#define INT_STAT_ENABLED 0x00000004u#define INT_MOD_MASK 0xff000000u#define INT_MOD_LOGMASK 0x01000000ustruct tagInterruptLevel{ HANDLE ThreadHandle; DWORD ThreadID; void * Routine; unsigned int Flags;};extern struct tagInterruptLevel InterruptLevel[INT_NUMINTERRUPTS];extern unsigned int CurrentInterruptLevel;/* 毋嘲簇息の年盗 */#define EXC_MAXITEMS 32struct tagExceptionLevel{ DWORD ExceptionCode; void * Routine;};extern struct tagExceptionLevel ExceptionLevel[EXC_MAXITEMS];/* * 充哈みエミュレ〖ション脱拎侯簇眶 */extern BOOL def_int( unsigned int ims, void * rtn); /* ハンドラ年盗 */extern BOOL ini_int( void ); /* 介袋步 */extern void fin_int( void );extern BOOL ras_int(unsigned int ims); /* 充哈み妥滇 */extern unsigned int sns_int( void ); /* Sense the highest pending request */extern HANDLE sch_int( void ); /* 充り哈みのスケジュ〖ル */extern BOOL set_intlogmask( unsigned int ims, BOOL mask ); /* 钓材と敦贿は苞眶に簇犯なく链钓材&链敦贿となる */extern ER ena_int(unsigned int ims); /* 钓材 */extern ER dis_int(unsigned int ims); /* 敦贿 */extern ER chg_ims(unsigned int ims); /* 充哈みレベルの肋年 */extern ER get_ims(unsigned int *p_ims); /* 充哈みレベルの艰评 */extern ER vget_ims(unsigned int *p_ims); /* 充哈みレベルの艰评 */extern BOOL def_exc(DWORD exc, void * routine);extern BOOL ini_exc(void);extern void fin_exc(void); /* * システムクリティカルセクション * 祸悸惧のCPUロックで、ここに掐っている粗ディスパッチは券栏しない */extern void enter_system_critical_section(BOOL *);extern void leave_system_critiacl_section(BOOL *); /* 回年されたタスクをシステムクリティカルセクション嘲で匿贿させる */extern ER wait_for_thread_suspension_completion(HANDLE thread); /* シミュレ〖ションタイマ扩告 */extern unsigned int current_timer_clock_unit; /* シミュレ〖ション箕癸のティックを饯赖する * clk : 办搀のタイマ充哈み髓に裁えるシミュレ〖ション箕粗 * (clk = 0 : 极脸な猛 (TIMER_CLOCK_WINDOWS)) */extern ER set_clk(unsigned int clk);#endif /* _MACRO_ONLY *//* * タイマ〖簇息 */#include <hw_timer.h>/* * タイムティックの年盗 */#define TIC_NUME current_timer_clock_unit /* タイムティックの件袋の尸灰 */#define TIC_DENO 1 /* タイムティックの件袋の尸熟 */#ifndef _MACRO_ONLY/* * 橙磨タイマ〖 (Pentium Timer) */typedef UD SYSUTIM;Inline ERvxget_tim(SYSUTIM * pk_sysutim){ QueryPerformanceCounter((LARGE_INTEGER *)pk_sysutim); return E_OK;}#endif /* _MACRO_ONLY */#endif /* _CPU_DEFS_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -