File tree Expand file tree Collapse file tree 9 files changed +24
-0
lines changed Expand file tree Collapse file tree 9 files changed +24
-0
lines changed Original file line number Diff line number Diff line change 3636#define OS_CFG_DYN_TICK_EN 0u /* Enable (1) or Disable (0) the Dynamic Tick */
3737#define OS_CFG_INVALID_OS_CALLS_CHK_EN 1u /* Enable (1) or Disable (0) checks for invalid kernel calls */
3838#define OS_CFG_OBJ_TYPE_CHK_EN 1u /* Enable (1) or Disable (0) object type checking */
39+ #define OS_CFG_OBJ_CREATED_CHK_EN 1u /* Enable (1) or Disable (0) object created checks */
3940#define OS_CFG_TS_EN 0u /* Enable (1) or Disable (0) time stamping */
4041
4142#define OS_CFG_PRIO_MAX 64u /* Defines the maximum number of task priorities (see OS_PRIO data type) */
Original file line number Diff line number Diff line change @@ -2144,6 +2144,15 @@ OS_TICK OS_DynTickSet (OS_TICK ticks);
21442144#endif
21452145
21462146
2147+ #ifndef OS_CFG_OBJ_CREATED_CHK_EN
2148+ #error "OS_CFG.H, Missing OS_CFG_OBJ_CREATED_CHK_EN: Allows you to include object created checks or not"
2149+ #else
2150+ #if (OS_CFG_OBJ_CREATED_CHK_EN > 0u ) && (OS_OBJ_TYPE_REQ == 0u )
2151+ #error "OS_CFG.H, OS_CFG_DBG_EN or OS_CFG_OBJ_TYPE_CHK_EN must be Enabled (1) to use object created checks."
2152+ #endif
2153+ #endif
2154+
2155+
21472156#if OS_CFG_PRIO_MAX < 8u
21482157#error "OS_CFG.H, OS_CFG_PRIO_MAX must be >= 8"
21492158#endif
Original file line number Diff line number Diff line change @@ -106,6 +106,7 @@ CPU_INT16U const OSDbg_MutexSize = 0u;
106106#endif
107107
108108CPU_INT08U const OSDbg_ObjTypeChkEn = OS_CFG_OBJ_TYPE_CHK_EN ;
109+ CPU_INT08U const OSDbg_ObjCreatedChkEn = OS_CFG_OBJ_CREATED_CHK_EN ;
109110
110111
111112CPU_INT16U const OSDbg_PendListSize = sizeof (OS_PEND_LIST );
@@ -449,6 +450,7 @@ void OS_Dbg_Init (void)
449450#endif
450451
451452 p_temp08 = (CPU_INT08U const * )& OSDbg_ObjTypeChkEn ;
453+ p_temp08 = (CPU_INT08U const * )& OSDbg_ObjCreatedChkEn ;
452454
453455 p_temp16 = (CPU_INT16U const * )& OSDbg_PendListSize ;
454456 p_temp16 = (CPU_INT16U const * )& OSDbg_PendObjSize ;
Original file line number Diff line number Diff line change @@ -96,11 +96,13 @@ void OSFlagCreate (OS_FLAG_GRP *p_grp,
9696
9797 CPU_CRITICAL_ENTER ();
9898#if (OS_OBJ_TYPE_REQ > 0u )
99+ #if (OS_CFG_OBJ_CREATED_CHK_EN > 0u )
99100 if (p_grp -> Type == OS_OBJ_TYPE_FLAG ) {
100101 CPU_CRITICAL_EXIT ();
101102 * p_err = OS_ERR_OBJ_CREATED ;
102103 return ;
103104 }
105+ #endif
104106 p_grp -> Type = OS_OBJ_TYPE_FLAG ; /* Set to event flag group type */
105107#endif
106108#if (OS_CFG_DBG_EN > 0u )
Original file line number Diff line number Diff line change @@ -146,11 +146,13 @@ void OSMemCreate (OS_MEM *p_mem,
146146
147147 CPU_CRITICAL_ENTER ();
148148#if (OS_OBJ_TYPE_REQ > 0u )
149+ #if (OS_CFG_OBJ_CREATED_CHK_EN > 0u )
149150 if (p_mem -> Type == OS_OBJ_TYPE_MEM ) {
150151 CPU_CRITICAL_EXIT ();
151152 * p_err = OS_ERR_OBJ_CREATED ;
152153 return ;
153154 }
155+ #endif
154156 p_mem -> Type = OS_OBJ_TYPE_MEM ; /* Set the type of object */
155157#endif
156158#if (OS_CFG_DBG_EN > 0u )
Original file line number Diff line number Diff line change @@ -95,11 +95,13 @@ void OSMutexCreate (OS_MUTEX *p_mutex,
9595
9696 CPU_CRITICAL_ENTER ();
9797#if (OS_OBJ_TYPE_REQ > 0u )
98+ #if (OS_CFG_OBJ_CREATED_CHK_EN > 0u )
9899 if (p_mutex -> Type == OS_OBJ_TYPE_MUTEX ) {
99100 CPU_CRITICAL_EXIT ();
100101 * p_err = OS_ERR_OBJ_CREATED ;
101102 return ;
102103 }
104+ #endif
103105 p_mutex -> Type = OS_OBJ_TYPE_MUTEX ; /* Mark the data structure as a mutex */
104106#endif
105107#if (OS_CFG_DBG_EN > 0u )
Original file line number Diff line number Diff line change @@ -105,11 +105,13 @@ void OSQCreate (OS_Q *p_q,
105105
106106 CPU_CRITICAL_ENTER ();
107107#if (OS_OBJ_TYPE_REQ > 0u )
108+ #if (OS_CFG_OBJ_CREATED_CHK_EN > 0u )
108109 if (p_q -> Type == OS_OBJ_TYPE_Q ) {
109110 CPU_CRITICAL_EXIT ();
110111 * p_err = OS_ERR_OBJ_CREATED ;
111112 return ;
112113 }
114+ #endif
113115 p_q -> Type = OS_OBJ_TYPE_Q ; /* Mark the data structure as a message queue */
114116#endif
115117#if (OS_CFG_DBG_EN > 0u )
Original file line number Diff line number Diff line change @@ -100,11 +100,13 @@ void OSSemCreate (OS_SEM *p_sem,
100100
101101 CPU_CRITICAL_ENTER ();
102102#if (OS_OBJ_TYPE_REQ > 0u )
103+ #if (OS_CFG_OBJ_CREATED_CHK_EN > 0u )
103104 if (p_sem -> Type == OS_OBJ_TYPE_SEM ) {
104105 CPU_CRITICAL_EXIT ();
105106 * p_err = OS_ERR_OBJ_CREATED ;
106107 return ;
107108 }
109+ #endif
108110 p_sem -> Type = OS_OBJ_TYPE_SEM ; /* Mark the data structure as a semaphore */
109111#endif
110112 p_sem -> Ctr = cnt ; /* Set semaphore value */
Original file line number Diff line number Diff line change @@ -166,13 +166,15 @@ void OSTmrCreate (OS_TMR *p_tmr,
166166
167167 p_tmr -> State = OS_TMR_STATE_STOPPED ; /* Initialize the timer fields */
168168#if (OS_OBJ_TYPE_REQ > 0u )
169+ #if (OS_CFG_OBJ_CREATED_CHK_EN > 0u )
169170 if (p_tmr -> Type == OS_OBJ_TYPE_TMR ) {
170171 if (OSRunning == OS_STATE_OS_RUNNING ) {
171172 OS_TmrUnlock ();
172173 }
173174 * p_err = OS_ERR_OBJ_CREATED ;
174175 return ;
175176 }
177+ #endif
176178 p_tmr -> Type = OS_OBJ_TYPE_TMR ;
177179#endif
178180#if (OS_CFG_DBG_EN > 0u )
You can’t perform that action at this time.
0 commit comments