📄 os.h
字号:
/*****************************************************
*
* created by ProOSEK 4 Configurator
*
* (c) 1998-2002 3SOFT GmbH
* Frauenweiherstr. 14
* 91058 Erlangen
* GERMANY
*
* see: www.3SOFT.de
*
*****************************************************
* Host-System : Windows XP
* Date : 5/15/06 7:31 PM
* Licence : ARCH_HC12-AUTOSOFT-203566-15Feb2006, 15:48-01Mar2007-1577067287
*****************************************************
* This file is generated automatically. DO NOT EDIT!!
*****************************************************/
#ifndef __OSEK__OS_H
#define __OSEK__OS_H
#define INCLUDE_OSEKOS 1
/*****************************************************
* RevisionNumber : 2
* RevisionDate : 2004-12-07
*
*****************************************************/
#define __PROOSEK__ 1
#define OSEKOS_V_2_2 1
# include"board.h"
typedef unsigned char OSEK_U8;
typedef unsigned char OSServiceIdType;
typedef void (*OSEKOS_VOIDFUNCPTR)(void);
# ifndef STATUSTYPEDEFINED
typedef unsigned char StatusType;
#define STATUSTYPEDEFINED 1
#define E_OK 0
# endif
#define OSEKOS_BCC1 0
#define OSEKOS_BCC2 1
#define OSEKOS_ECC1 2
#define OSEKOS_ECC2 3
#define OSServiceId_ActivateTask 3
#define OSServiceId_TerminateTask 5
#define OSServiceId_ChainTask 7
#define OSServiceId_GetTaskState 9
#define OSServiceId_GetTaskID 11
#define OSServiceId_Schedule 13
#define OSServiceId_GetResource 15
#define OSServiceId_ReleaseResource 17
#define OSServiceId_SetEvent 19
#define OSServiceId_ClearEvent 21
#define OSServiceId_WaitEvent 23
#define OSServiceId_GetEvent 25
#define OSServiceId_GetAlarm 27
#define OSServiceId_GetAlarmBase 29
#define OSServiceId_SetRelAlarm 31
#define OSServiceId_SetAbsAlarm 33
#define OSServiceId_CancelAlarm 35
#define OSServiceId_SuspendOSInterrupts 37
#define OSServiceId_ResumeOSInterrupts 39
#define OSServiceId_SuspendAllInterrupts 41
#define OSServiceId_ResumeAllInterrupts 43
#define OSServiceId_DisableAllInterrupts 45
#define OSServiceId_EnableAllInterrupts 47
#define OSServiceId_AdvanceCounter 63
#define OSServiceId_IAdvanceCounter 65
#define NON 0
#define FULL 1
#define MIX 2
# ifdef OSEKOS_USE_COV
# include "cov.h"
# else
#define OSEKOS_COV(a) 0
# endif
# if (defined(__HIWARE__))
# if (defined(__BANKED__))
# pragma CODE_SEG NON_BANKED
# pragma CONST_SEG CONST_NON_BANKED
# endif
# endif
typedef unsigned short OSEK_U16;
typedef unsigned long OSEK_U32;
typedef unsigned char * OSEKOSSaveType;
typedef unsigned long OSEKOStimestamp_t;
extern void OSEKOSUserMain(void);
/*****************************************************
* RevisionNumber : 2
* RevisionDate : 2004-12-07
*
*****************************************************/
#ifndef INCLUDE_LocalInclude
#include "MCS912DP256.h"
#else
#include "MCS912DP256.h"
#endif
#define __ARCH_HC12__ 1
#define __uC_MCS912DP256__ 1
#define OSEK_CONST const
#define GENERATION_ID_OS_H 936444223UL
#define __PROOSEK_VER__ 4
#define __PROOSEK_REV__ 2
#define __PROOSEK_CORE_BUILD__ 20041207
#define __PROOSEK_ARCH_BUILD__ 20041207
#define SCHEDULING MIX
#ifdef __HIWARE__
typedef void OSEK_TASK;
#else
#ifdef __COSMIC__
#ifdef __BANKED__
typedef @far void OSEK_TASK;
#else
typedef void OSEK_TASK;
#endif
#else
typedef void OSEK_TASK;
#endif
#endif
#define OSEK_CC 1
#define OSEKOS_EXTENDED_MODE 1
#define STARTUPHOOK
#ifndef INCLUDE_LocalInclude
#include "timerHC12.h"
#else
#include "timerHC12.h"
#endif
#define PMAX 6
typedef OSEK_U8 OSEKOSPrioType;
enum {
Loop
,
InitTask
,
Cyclic
,
KlineCommunicationTask
,
CreatRespMesKWP2000Task
,
KLineTimerTask
};
extern OSEK_TASK OSEKOS_T_Loop(void);
extern OSEK_TASK OSEKOS_T_InitTask(void);
extern OSEK_TASK OSEKOS_T_Cyclic(void);
extern OSEK_TASK OSEKOS_T_KlineCommunicationTask(void);
extern OSEK_TASK OSEKOS_T_CreatRespMesKWP2000Task(void);
extern OSEK_TASK OSEKOS_T_KLineTimerTask(void);
extern OSEK_TASK OSEKOS_Twrap_Loop(void);
extern OSEK_TASK OSEKOS_Twrap_InitTask(void);
extern OSEK_TASK OSEKOS_Twrap_Cyclic(void);
extern OSEK_TASK OSEKOS_Twrap_KlineCommunicationTask(void);
extern OSEK_TASK OSEKOS_Twrap_CreatRespMesKWP2000Task(void);
extern OSEK_TASK OSEKOS_Twrap_KLineTimerTask(void);
#define ETMAX 0
#define BTMAX 6
#define TMAX 6
typedef OSEK_U8 TaskType;
#define SIZEOF_TaskType 1
typedef OSEK_U8 TaskStateType;
#define SMAX 2
extern OSEK_CONST OSEK_U32 OSEKOStaskStartAddressBanked[];
#define ATMAX 7
#define INT_STACK_SIZE 30
#define OSEKOS_STARTOF_ISRSTACK 14
#define OSEKOStotal_stack_size 198
#define OSEKOS_MAX_STACK_TASK Loop
typedef OSEK_U8 EventMaskType;
/****************************************************/
/* Resource Data */
/****************************************************/
#define RMAX 2
#define RES_SCHEDULER 1
#define INVALID_RESOURCE 2
#define OSEKOS_ARCH_MAX_LEVEL 1
typedef OSEK_U8 ResourceType;
#define Res_CounterVar 0
extern ResourceType OSEKOSresLIFOindex;
#define C_SysCounter 0
#define SysCounter 0
#define SysCounter_ACtr() AdvCntr(SysCounter)
#define SysCounter_IACtr() IAdvCntr(SysCounter)
#define CMAX 1
typedef OSEK_U8 CounterType;
#define CMAX_STD 1
#ifdef INCLUDE_OSEKOS_20
#define OSMAXTICK 1000
#define OSTICKSPERTIME 100
#endif
#define OSMAXALLOWEDVALUE 1000
#define OSTICKSPERBASE 100
#define OSMINCYCLE 1
#define OSTICKDURATION boardGetTimeInNsNOT_USED()
#define OSMAXALLOWEDVALUE_SysCounter 1000
#define OSTICKSPERBASE_SysCounter 100
#define OSMINCYCLE_SysCounter 1
typedef OSEK_U16 TickType;
#define AlarmActCyclic 0
#define AlarmActKLineTimer 1
#define AMAX 2
typedef OSEK_U8 AlarmType;
#define AMAX_STD AMAX
#define ISR(NAME) void OSEKOS_ISR_##NAME(void)
#ifdef __HIWARE__
#define ISR1(name) OSEKOS_ISR_##name (void)
#endif
#ifdef __COSMIC__
#ifdef __BANKED__
#define ISR1(name) @near @interrupt void name(void)
#else
#define ISR1(name) @interrupt void name(void)
#endif
#endif
#define OSEKOSEnableSystemTimers() do{OSEKOS_timerInit_RTI();}while(0)
#ifdef INCLUDE_VectorTable
#ifndef DC_FLARE_VECTORTABLE
extern const OSEK_U16 OSEKOSVectorTable[];
#else /*DC_FLARE_VECTORTABLE*/
typedef struct{
char opcode;
const OSEK_U16 vectab;
} tIntJmpTable;
extern const tIntJmpTable ApplIntJmpTable[];
#endif /*DC_FLARE_VECTORTABLE*/
#endif
#define INVALIDMESSAGE 0
#define ___ActivateTask(A) __ActivateTask(A)
#define ___TerminateTask() __TerminateTask()
#define ___ChainTask(A) __ChainTask(A)
#define ___GetTaskState(A,B) __GetTaskState(A,B)
#define ___GetTaskID(A) __GetTaskID(A)
#define ___Schedule() __Schedule()
#define ___GetResource(A) __GetResource(A)
#define ___ReleaseResource(A) __ReleaseResource(A)
#define ___SetEvent(A,B) __SetEvent(A,B)
#define ___ClearEvent(A) __ClearEvent(A)
#define ___WaitEvent(A) __WaitEvent(A)
#define ___GetEvent(A,B) __GetEvent(A,B)
#define ___GetAlarm(A,B) __GetAlarm(A,B)
#define ___GetAlarmBase(A,B) __GetAlarmBase(A,B)
#define ___SetRelAlarm(A,B,C) __SetRelAlarm(A,B,C)
#define ___SetAbsAlarm(A,B,C) __SetAbsAlarm(A,B,C)
#define ___CancelAlarm(A) __CancelAlarm(A)
#define ___AdvCntr(A) __AdvCntr(A)
#define ___IAdvCntr(A) __IAdvCntr(A)
#define ___SuspendOSInterrupts() OSEKOSSuspendOSInterrupts()
#define ___ResumeOSInterrupts() OSEKOSResumeOSInterrupts()
#define ___SuspendAllInterrupts() OSEKOSSuspendAllInterrupts()
#define ___ResumeAllInterrupts() OSEKOSResumeAllInterrupts()
#define ___DisableAllInterrupts() OSEKOSDisableAllInterrupts()
#define ___EnableAllInterrupts() OSEKOSEnableAllInterrupts()
# ifndef INCLUDE_RealOSEKFunctions
#define ActivateTask(A) (OSEKOS_COV(445),___ActivateTask(((TaskType)A)))
#define TerminateTask() (OSEKOS_COV(446),___TerminateTask())
#define ChainTask(A) (OSEKOS_COV(447),___ChainTask(((TaskType)A)))
#define GetTaskState(A,B) (OSEKOS_COV(448),___GetTaskState(((TaskType)A),B))
#define GetTaskID(A) (OSEKOS_COV(449),___GetTaskID(A))
#define Schedule() (OSEKOS_COV(450),___Schedule())
#define GetResource(A) (OSEKOS_COV(451),___GetResource(((ResourceType)A)))
#define ReleaseResource(A) (OSEKOS_COV(452),___ReleaseResource(((ResourceType)A)))
#define SetEvent(A,B) (OSEKOS_COV(453),___SetEvent(((TaskType)A),((EventMaskType)B)))
#define ClearEvent(A) (OSEKOS_COV(454),___ClearEvent(((EventMaskType)A)))
#define WaitEvent(A) (OSEKOS_COV(455),___WaitEvent(((EventMaskType)A)))
#define GetEvent(A,B) (OSEKOS_COV(456),___GetEvent(((TaskType)A),B))
#define GetAlarm(A,B) (OSEKOS_COV(457),___GetAlarm(((AlarmType)A),B))
#define GetAlarmBase(A,B) (OSEKOS_COV(458),___GetAlarmBase(((AlarmType)A),B))
#define SetRelAlarm(A,B,C) (OSEKOS_COV(459),___SetRelAlarm(((AlarmType)A),((TickType)B),((TickType)C)))
#define SetAbsAlarm(A,B,C) (OSEKOS_COV(460),___SetAbsAlarm(((AlarmType)A),((TickType)B),((TickType)C)))
#define CancelAlarm(A) (OSEKOS_COV(461),___CancelAlarm(((AlarmType)A)))
#define AdvCntr(A) (OSEKOS_COV(462),___AdvCntr(A))
#define IAdvCntr(A) (OSEKOS_COV(463),___IAdvCntr(A))
#define SuspendOSInterrupts() ___SuspendOSInterrupts()
#define ResumeOSInterrupts() ___ResumeOSInterrupts()
#define SuspendAllInterrupts() ___SuspendAllInterrupts()
#define ResumeAllInterrupts() ___ResumeAllInterrupts()
#define DisableAllInterrupts() ___DisableAllInterrupts()
#define EnableAllInterrupts() ___EnableAllInterrupts()
# endif
#define TASK(a) OSEK_TASK OSEKOS_T_##a(void)
#define ALARMCALLBACK(a) void OSEKOS_ACB_##a(void)
#define stackStart(TASK) OSEKOStaskStack[TASK]
# ifndef OSEKOSSETneuregie
#define OSEKOSSETneuregie(x) (OSEKOSneuregie|=(x))
# endif
enum {
E_OS_ACCESS=1,
E_OS_CALLEVEL=2,
E_OS_ID=3,
E_OS_LIMIT=4,
E_OS_NOFUNC=5,
E_OS_RESOURCE=6,
E_OS_STATE=7,
E_OS_VALUE=8,
E_OS_SYS_StackOverflow=20,
E_OS_SYS_StackUnderflow=21,
E_OS_SYS_INIT=22,
E_OS_SYS_CONFIG=23,
E_OS_SYS_CODE=24,
E_OS_SYS_TOOL=25,
E_OS_SYS_TimerRange=26
};
enum {
SUSPENDED = 0x00,
READY = 0x01,
RUNNING = 0x02,
WAITING = 0x03,
INTSTART = 0x08,
SETSTART = 0x10,
NPRTASK = 0x20,
USEFP = 0x40
};
#define OSDEFAULTAPPMODE 0
#define TSTATBITS (SUSPENDED|READY|RUNNING|WAITING)
#define OSEK_TASK_TERMINATION 1
#define OSEK_TASK_WAITING 2
#define OSEKOS_INVALID_PRIO (PMAX+1)
#define INVALID_TASK (TMAX)
#define INVALID_ALARM (AMAX)
#define DeclareTask(a) extern TaskType OSEKOStidact
#define DeclareResource(a) extern TaskType OSEKOStidact
#define DeclareEvent(a) extern TaskType OSEKOStidact
#define DeclareAlarm(a) extern TaskType OSEKOStidact
#define DeclareCounter(a) extern TaskType OSEKOStidact
typedef struct {
TickType maxallowedvalue;
TickType ticksperbase;
TickType mincycle;
} AlarmBaseType;
typedef TaskType *TaskRefType;
typedef TaskStateType *TaskStateRefType;
typedef EventMaskType *EventMaskRefType;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -