/*
 * This is Os_Cfg.h, auto-generated for:
 *   Project: os_Config
 *   Target:  TriCoreHighTec
 *   Variant: TC26xB
 *   Version: 5.0.16
 *   [$UKS 650]
 */
#ifndef OS_CFG_H
#define OS_CFG_H
/* -- Start expansion of <Os_Safe_Cfg.h> -- */
/* -- Start expansion of <Os_Target_Cfg.h> -- */
#define OS_TARGET_TRICOREHIGHTEC
#define OS_TRICORE_UNTRUSTED_MASK 0x1000U
#define OS_TRICORE_TRUSTEDWITHPROTECTION_MASK 0x2800U
#define OS_INIT_SRC_GTMTIM01 (0x401U)
#define OS_INIT_SRC_GTMATOM00 (0x402U)
#define OS_VEC_GTMTOM0SR1_ISR (1U)
#define OS_VEC_GTMATOM0SR0_ISR (2U)
#define OS_NUM_SRNS (382U)

/* -- End expansion of <Os_Target_Cfg.h> -- */
#define OS_NUM_APPMODES (2U)
#define OS_NUM_APPLICATIONS (0U)
#define OS_NUM_SPINLOCKS (0U)
#define OS_NUM_TRUSTED_FUNCTIONS (0U)
#define OS_NUM_IOC_CALLBACK_FUNCTIONS (Os_const_ioc_function_count)
#define OS_NUM_EVENTS (0U)
#define OS_NUM_TASKS (5U)
#define OS_NUM_ISRS (2U)
#define OS_NUM_RESOURCES (2U)
#define OS_NUM_ALARMS (0U)
#define OS_NUM_SCHEDULETABLES (1U)
#define OS_NUM_TRACEPOINTS (0U)
#define OS_NUM_TASKTRACEPOINTS (0U)
#define OS_NUM_INTERVALS (0U)
#define OS_NUM_TRACECATEGORIES (0U)
#define OS_TRACE_CATEGORY_ALWAYS ((Os_TraceCategoriesType)(0x80000000UL))
#define OS_TRACE_CATEGORY_NEVER  ((Os_TraceCategoriesType)(0x00000000UL))
/* [MISRA 2012 Dir 4.9] */ /*lint -estring(9026, OS_TICKS2*) */
#define OS_NUM_COUNTERS (1U)
#define OSCYCLEDURATION (5) /* [$UKS 1224] */
#define OSCYCLESPERSECOND (200000000U) /* [$UKS 1225] */
#define OSSWTICKDURATION (5) /* [$UKS 1226] */
#define OSSWTICKSPERSECOND (200000000U) /* [$UKS 1227] */
#define OS_TICKS2NS_Rte_TickCounter(ticks) ((PhysicalTimeType)((ticks) * 1000000U)) /* [$UKS 843] */
#define OS_TICKS2US_Rte_TickCounter(ticks) ((PhysicalTimeType)((ticks) * 1000U)) /* [$UKS 843] */
#define OS_TICKS2MS_Rte_TickCounter(ticks) ((PhysicalTimeType)((ticks) * 1U)) /* [$UKS 843] */
#define OS_TICKS2SEC_Rte_TickCounter(ticks) ((PhysicalTimeType)((ticks) / 1000U)) /* [$UKS 843] */
#define OSMAXALLOWEDVALUE_Rte_TickCounter (65535U) /* [$UKS 219] */
#define OSTICKSPERBASE_Rte_TickCounter (1U) /* [$UKS 220] */
#define OSTICKDURATION_Rte_TickCounter OS_TICKS2NS_Rte_TickCounter(1U) /* [$UKS 221] */
#define OSMINCYCLE_Rte_TickCounter (1U) /* [$UKS 222] */
#define OSMAXALLOWEDVALUE OSMAXALLOWEDVALUE_SystemCounter /* [$UKS 215] */
#define OSTICKSPERBASE OSTICKSPERBASE_SystemCounter /* [$UKS 216] */
#define OSMINCYCLE OSMINCYCLE_SystemCounter /* [$UKS 218] */
#define OSTICKDURATION OSTICKDURATION_SystemCounter /* [$UKS 217] */
#define OS_NUM_CORES (1U)
#define OS_NUM_OS_CORES (1U)
#define OS_CORE_ID_MASTER (0U)  /* [$UKS 1609] */

/* ------------------------------------------------- */
/* [MISRA 2012 Rule 20.1] */ /*lint -save -estring(9019, *) */
#define OS_START_SEC_CODE_LIB
#include "Os_MemMap.h" /* [MISRA 2012 Dir 4.10] */ /*lint !e537 !e451 */
/*lint -restore */
extern FUNC(StatusType, OS_CODE) Os_IncrementCounter_Rte_TickCounter(void);
extern FUNC(void, OS_CODE) Os_Entry_OsTask_WdgM(void);
extern FUNC(void, OS_CODE) Os_Entry_OsTask_ASW(void);
extern FUNC(void, OS_CODE) Os_Entry_OsTask_BSW(void);
extern FUNC(void, OS_CODE) Os_Entry_OsTask_MS(void);
extern FUNC(void, OS_CODE) Os_Entry_ECU_StartupTask(void);
extern FUNC(void, OS_CODE) Os_Entry_GTMTOM0SR1_ISR(void);
extern FUNC(void, OS_CODE) Os_Entry_GTMATOM0SR0_ISR(void);
/* [MISRA 2012 Rule 20.1] */ /*lint -save -estring(9019, *) */
#define OS_STOP_SEC_CODE_LIB
#include "Os_MemMap.h" /* [MISRA 2012 Dir 4.10] */ /*lint !e537 !e451 */
/*lint -restore */

/* -- End expansion of <Os_Safe_Cfg.h> -- */

/* -------- AppMode declarations --------- */

/* ----- OS-Application declarations ----- */

/* -------- Event declarations --------- */

/* -------- Task declarations --------- */
#define OsTask_WdgM (&Os_const_tasks0[0])
#define OS_TPL_FOR_OsTask_WdgM (0U) /* [$UKS 2007] */
#define OS_IMASK_FOR_OsTask_WdgM (0x8000U) /* [$UKS 2009] */
DeclareTask(OsTask_WdgM)
#define OsTask_ASW (&Os_const_tasks0[1])
#define OS_TPL_FOR_OsTask_ASW (1U) /* [$UKS 2007] */
#define OS_IMASK_FOR_OsTask_ASW (0x8000U) /* [$UKS 2009] */
DeclareTask(OsTask_ASW)
#define OsTask_BSW (&Os_const_tasks0[2])
#define OS_TPL_FOR_OsTask_BSW (2U) /* [$UKS 2007] */
#define OS_IMASK_FOR_OsTask_BSW (0x8000U) /* [$UKS 2009] */
DeclareTask(OsTask_BSW)
#define OsTask_MS (&Os_const_tasks0[3])
#define OS_TPL_FOR_OsTask_MS (3U) /* [$UKS 2007] */
#define OS_IMASK_FOR_OsTask_MS (0x8000U) /* [$UKS 2009] */
DeclareTask(OsTask_MS)
#define ECU_StartupTask (&Os_const_tasks0[4])
#define OS_TPL_FOR_ECU_StartupTask (4U) /* [$UKS 2007] */
#define OS_IMASK_FOR_ECU_StartupTask (0x8000U) /* [$UKS 2009] */
DeclareTask(ECU_StartupTask)
/* [MISRA 2012 Dir 4.9] */ /*lint -estring(9026, OS_TPL_FOR_TASK, OS_IMASK_FOR_TASK) */
/* [MISRA 2012 Rule 20.10] */ /*lint -estring(9024, OS_TPL_FOR_TASK) */
#define OS_TPL_FOR_TASK(n) OS_TPL_FOR_##n  /* [$UKS 2008] */
/* [MISRA 2012 Rule 20.10] */ /*lint -estring(9024, OS_IMASK_FOR_TASK) */
#define OS_IMASK_FOR_TASK(n) OS_IMASK_FOR_##n  /* [$UKS 2010] */

/* -------- ISR declarations --------- */
#define GTMTOM0SR1_ISR (&Os_const_isrs[0U])
#define OS_IMASK_FOR_GTMTOM0SR1_ISR (0x8001U) /* [$UKS 2009] */
DeclareISR(GTMTOM0SR1_ISR)
#define GTMATOM0SR0_ISR (&Os_const_isrs[1U])
#define OS_IMASK_FOR_GTMATOM0SR0_ISR (0x8002U) /* [$UKS 2009] */
DeclareISR(GTMATOM0SR0_ISR)
/* [MISRA 2012 Dir 4.9] */ /*lint -estring(9026, OS_IMASK_FOR_ISR) */
/* [MISRA 2012 Rule 20.10] */ /*lint -estring(9024, OS_IMASK_FOR_ISR) */
#define OS_IMASK_FOR_ISR(n) OS_IMASK_FOR_##n  /* [$UKS 2011] */

/* -------- Resource declarations --------- */
#define Rte_EA_BSWImpl13_CanTp_EXCLUSIVE_AREA (&Os_const_resources[0U])
DeclareResource(Rte_EA_BSWImpl13_CanTp_EXCLUSIVE_AREA)
#define RTE_RESOURCE (&Os_const_resources[1U])
DeclareResource(RTE_RESOURCE)

/* -------- Counter declarations --------- */
#define Rte_TickCounter (&Os_const_counters[0U])
DeclareCounter(Rte_TickCounter)

/* -------- Alarm declaration --------- */

/* -------- ScheduleTable declaration --------- */
#define Rte_ScheduleTable (&Os_const_scheduletables[0U])
#define OS_DURATION_Rte_ScheduleTable (50U)
DeclareScheduleTable(Rte_ScheduleTable)

/* -------- Tracepoint declarations --------- */

/* -------- TaskTracepoint declarations --------- */

/* -------- Interval declarations --------- */

/* -------- Filtered APIs --------- */
#define Os_LogTracepoint(TpointID,Category) /* never */
#define Os_LogTracepointValue(TpointID,Value,Category) /* never */
#define Os_LogTracepointData(TpointID,Data,Length,Category) /* never */
#define Os_LogTaskTracepoint(TTpointID,Category) /* never */
#define Os_LogTaskTracepointValue(TTpointID,Value,Category) /* never */
#define Os_LogTaskTracepointData(TTpointID,Data,Length,Category) /* never */
#define Os_LogIntervalStart(IntervalID,Category) /* never */
#define Os_LogIntervalStartValue(IntervalID,Value,Category) /* never */
#define Os_LogIntervalStartData(IntervalID,Data,Length,Category) /* never */
#define Os_LogIntervalEnd(IntervalID,Category) /* never */
#define Os_LogIntervalEndValue(IntervalID,Value,Category) /* never */
#define Os_LogIntervalEndData(IntervalID,Data,Length,Category) /* never */
#ifndef OS_TRACE_NAMESPACE_PURE /* [$UKS 1154] */
/* [MISRA 2012 Dir 4.9] */ /*lint -estring(9026, LogTrace*, LogTaskTrace*, LogInterval*) */  #define LogTracepoint(TpointID,Category) Os_LogTracepoint(TpointID,Category)
  #define LogTracepointValue(TpointID,Value,Category) Os_LogTracepointValue(TpointID,Value,Category)
  #define LogTracepointData(TpointID,Data,Length,Category) Os_LogTracepointData(TpointID,Data,Length,Category)
  #define LogTaskTracepoint(TTpointID,Category) Os_LogTaskTracepoint(TTpointID,Category)
  #define LogTaskTracepointValue(TTpointID,Value,Category) Os_LogTaskTracepointValue(TTpointID,Value,Category)
  #define LogTaskTracepointData(TTpointID,Data,Length,Category) Os_LogTaskTracepointData(TTpointID,Data,Length,Category)
  #define LogIntervalStart(IntervalID,Category) Os_LogIntervalStart(IntervalID,Category)
  #define LogIntervalStartValue(IntervalID,Value,Category) Os_LogIntervalStartValue(IntervalID,Value,Category)
  #define LogIntervalStartData(IntervalID,Data,Length,Category) Os_LogIntervalStartData(IntervalID,Data,Length,Category)
  #define LogIntervalEnd(IntervalID,Category) Os_LogIntervalEnd(IntervalID,Category)
  #define LogIntervalEndValue(IntervalID,Value,Category) Os_LogIntervalEndValue(IntervalID,Value,Category)
  #define LogIntervalEndData(IntervalID,Data,Length,Category) Os_LogIntervalEndData(IntervalID,Data,Length,Category)
#endif

#endif /* OS_CFG_H */
