cpu_defs.h
来自「嵌入式系统开发 TOPPERS and JSP Kernel Release 」· C头文件 代码 · 共 136 行
H
136 行
/* * TOPPERS/JSP Kernel * Toyohashi Open Platform for Embedded Real-Time Systems/ * Just Standard Profile Kernel * * Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory * Toyohashi Univ. of Technology, JAPAN * * 惧淡螟侯涪荚は·Free Software Foundation によって给山されている * GNU General Public License の Version 2 に淡揭されている掘凤か·笆 * 布の(1)×(4)の掘凤を塔たす眷圭に嘎り·塑ソフトウェア∈塑ソフトウェ * アを猖恃したものを崔むˉ笆布票じ∷を蝗脱ˇ剩澜ˇ猖恃ˇ浩芹邵∈笆布· * 网脱と钙ぶ∷することを痰浸で钓满するˉ * (1) 塑ソフトウェアをソ〖スコ〖ドの妨で网脱する眷圭には·惧淡の螟侯 * 涪山绩·この网脱掘凤および布淡の痰瘦沮惮年が·そのままの妨でソ〖 * スコ〖ド面に崔まれていることˉ * (2) 塑ソフトウェアを浩网脱材墙なバイナリコ〖ド∈リロケ〖タブルオブ * ジェクトファイルやライブラリなど∷の妨で网脱する眷圭には·网脱 * に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟侯涪山绩· * この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ * (3) 塑ソフトウェアを浩网脱稍材墙なバイナリコ〖ドの妨または怠达に寥 * み哈んだ妨で网脱する眷圭には·肌のいずれかの掘凤を塔たすことˉ * (a) 网脱に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟侯 * 涪山绩·この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ * (b) 网脱の妨轮を·侍に年める数恕によって·惧淡螟侯涪荚に鼠桂する * ことˉ * (4) 塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じるいかなる禄 * 巢からも·惧淡螟侯涪荚を倘勒することˉ * * 塑ソフトウェアは·痰瘦沮で捏丁されているものであるˉ惧淡螟侯涪荚は· * 塑ソフトウェアに簇して·その努脱材墙拉も崔めて·いかなる瘦沮も乖わ * ないˉまた·塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じたい * かなる禄巢に簇しても·その勒扦を砷わないˉ * * @(#) $Id: cpu_defs.h,v 1.4 2002/04/10 11:20:09 takayuki Exp $ *//* * プロセッサに巴赂する年盗∈Windows脱∷ */#ifndef _CPU_DEFS_H_#define _CPU_DEFS_H_#define WINDOWS#include "itron.h"#include "vwindows.h"#define INT_NUMINTERRUPTS 7 /* 充哈み塑眶 */#ifndef _MACRO_ONLYtypedef UINT INHNO; /* 充哈みハンドラ戎规 */typedef UINT EXCNO; /* CPU毋嘲ハンドラ戎规 *//* * 充哈みエミュレ〖ション簇息 */#define INT_STAT_PENDING 0x01#define INT_STAT_RUNNING 0x02#define INT_STAT_ENABLED 0x04struct tagInterruptLevel{ HANDLE ThreadHandle; DWORD ThreadID; void * Routine; unsigned char Status;};extern struct tagInterruptLevel InterruptLevel[INT_NUMINTERRUPTS];extern CRITICAL_SECTION InterruptCriticalSection;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 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 BOOL def_exc( DWORD exc, void * routine);extern BOOL ini_exc(void);extern void fin_exc(void);#endif /* _MACRO_ONLY */#include "hw_timer.h"/* * タイムティックの年盗 */#define TIC_NUME TIMER_CLOCK_WINDOWS /* タイムティックの件袋の尸灰 */#define TIC_DENO 1 /* タイムティックの件袋の尸熟 *//* * 橙磨タイマ〖 (Pentium Timer) */typedef UD SYSUTIM;Inline ERvxget_tim(SYSUTIM * pk_sysutim){ QueryPerformanceCounter((LARGE_INTEGER *)pk_sysutim); return E_OK;}#endif /* _CPU_DEFS_H_ */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?