os_dbg.c 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522
  1. /*
  2. *********************************************************************************************************
  3. * uC/OS-III
  4. * The Real-Time Kernel
  5. *
  6. * Copyright 2009-2022 Silicon Laboratories Inc. www.silabs.com
  7. *
  8. * SPDX-License-Identifier: APACHE-2.0
  9. *
  10. * This software is subject to an open source license and is distributed by
  11. * Silicon Laboratories Inc. pursuant to the terms of the Apache License,
  12. * Version 2.0 available at www.apache.org/licenses/LICENSE-2.0.
  13. *
  14. *********************************************************************************************************
  15. */
  16. /*
  17. *********************************************************************************************************
  18. * DEBUGGER CONSTANTS
  19. *
  20. * File : os_dbg.c
  21. * Version : V3.08.02
  22. *********************************************************************************************************
  23. */
  24. #define MICRIUM_SOURCE
  25. #include "os.h"
  26. #ifdef VSC_INCLUDE_SOURCE_FILE_NAMES
  27. const CPU_CHAR *os_dbg__c = "$Id: $";
  28. #endif
  29. /*
  30. ************************************************************************************************************************
  31. * CONSTANTS
  32. ************************************************************************************************************************
  33. */
  34. CPU_INT08U const OSDbg_DbgEn = OS_CFG_DBG_EN; /* Debug constants are defined below */
  35. #if (OS_CFG_DBG_EN > 0u)
  36. /*
  37. ************************************************************************************************************************
  38. * DEBUG DATA
  39. ************************************************************************************************************************
  40. */
  41. CPU_INT08U const OSDbg_ArgChkEn = OS_CFG_ARG_CHK_EN;
  42. CPU_INT08U const OSDbg_AppHooksEn = OS_CFG_APP_HOOKS_EN;
  43. CPU_INT32U const OSDbg_EndiannessTest = 0x12345678LU; /* Variable to test CPU endianness */
  44. CPU_INT08U const OSDbg_CalledFromISRChkEn = OS_CFG_CALLED_FROM_ISR_CHK_EN;
  45. CPU_INT08U const OSDbg_FlagEn = OS_CFG_FLAG_EN;
  46. OS_FLAG_GRP const OSDbg_FlagGrp = { 0u };
  47. #if (OS_CFG_FLAG_EN > 0u)
  48. CPU_INT08U const OSDbg_FlagDelEn = OS_CFG_FLAG_DEL_EN;
  49. CPU_INT08U const OSDbg_FlagModeClrEn = OS_CFG_FLAG_MODE_CLR_EN;
  50. CPU_INT08U const OSDbg_FlagPendAbortEn = OS_CFG_FLAG_PEND_ABORT_EN;
  51. CPU_INT16U const OSDbg_FlagGrpSize = sizeof(OS_FLAG_GRP); /* Size in Bytes of OS_FLAG_GRP */
  52. CPU_INT16U const OSDbg_FlagWidth = sizeof(OS_FLAGS); /* Width (in bytes) of OS_FLAGS */
  53. #else
  54. CPU_INT08U const OSDbg_FlagDelEn = 0u;
  55. CPU_INT08U const OSDbg_FlagModeClrEn = 0u;
  56. CPU_INT08U const OSDbg_FlagPendAbortEn = 0u;
  57. CPU_INT16U const OSDbg_FlagGrpSize = 0u;
  58. CPU_INT16U const OSDbg_FlagWidth = 0u;
  59. #endif
  60. OS_MEM const OSDbg_Mem = { 0u };
  61. CPU_INT08U const OSDbg_MemEn = OS_CFG_MEM_EN;
  62. #if OS_CFG_MEM_EN > 0u
  63. CPU_INT16U const OSDbg_MemSize = sizeof(OS_MEM); /* Mem. Partition header size (bytes) */
  64. #else
  65. CPU_INT16U const OSDbg_MemSize = 0u;
  66. #endif
  67. #if (OS_MSG_EN > 0u)
  68. CPU_INT08U const OSDbg_MsgEn = 1u;
  69. CPU_INT16U const OSDbg_MsgSize = sizeof(OS_MSG); /* OS_MSG size */
  70. CPU_INT16U const OSDbg_MsgPoolSize = sizeof(OS_MSG_POOL);
  71. CPU_INT16U const OSDbg_MsgQSize = sizeof(OS_MSG_Q);
  72. #else
  73. CPU_INT08U const OSDbg_MsgEn = 0u;
  74. CPU_INT16U const OSDbg_MsgSize = 0u;
  75. CPU_INT16U const OSDbg_MsgPoolSize = 0u;
  76. CPU_INT16U const OSDbg_MsgQSize = 0u;
  77. #endif
  78. OS_MUTEX const OSDbg_Mutex = { 0u };
  79. CPU_INT08U const OSDbg_MutexEn = OS_CFG_MUTEX_EN;
  80. #if (OS_CFG_MUTEX_EN > 0u)
  81. CPU_INT08U const OSDbg_MutexDelEn = OS_CFG_MUTEX_DEL_EN;
  82. CPU_INT08U const OSDbg_MutexPendAbortEn = OS_CFG_MUTEX_PEND_ABORT_EN;
  83. CPU_INT16U const OSDbg_MutexSize = sizeof(OS_MUTEX); /* Size in bytes of OS_MUTEX */
  84. #else
  85. CPU_INT08U const OSDbg_MutexDelEn = 0u;
  86. CPU_INT08U const OSDbg_MutexPendAbortEn = 0u;
  87. CPU_INT16U const OSDbg_MutexSize = 0u;
  88. #endif
  89. CPU_INT08U const OSDbg_ObjTypeChkEn = OS_CFG_OBJ_TYPE_CHK_EN;
  90. CPU_INT08U const OSDbg_ObjCreatedChkEn = OS_CFG_OBJ_CREATED_CHK_EN;
  91. CPU_INT16U const OSDbg_PendListSize = sizeof(OS_PEND_LIST);
  92. CPU_INT16U const OSDbg_PendObjSize = sizeof(OS_PEND_OBJ);
  93. CPU_INT16U const OSDbg_PrioMax = OS_CFG_PRIO_MAX; /* Maximum number of priorities */
  94. CPU_INT16U const OSDbg_PrioTblSize = sizeof(OSPrioTbl);
  95. CPU_INT16U const OSDbg_PtrSize = sizeof(void *); /* Size in Bytes of a pointer */
  96. OS_Q const OSDbg_Q = { 0u };
  97. CPU_INT08U const OSDbg_QEn = OS_CFG_Q_EN;
  98. #if (OS_CFG_Q_EN > 0u)
  99. CPU_INT08U const OSDbg_QDelEn = OS_CFG_Q_DEL_EN;
  100. CPU_INT08U const OSDbg_QFlushEn = OS_CFG_Q_FLUSH_EN;
  101. CPU_INT08U const OSDbg_QPendAbortEn = OS_CFG_Q_PEND_ABORT_EN;
  102. CPU_INT16U const OSDbg_QSize = sizeof(OS_Q); /* Size in bytes of OS_Q structure */
  103. #else
  104. CPU_INT08U const OSDbg_QDelEn = 0u;
  105. CPU_INT08U const OSDbg_QFlushEn = 0u;
  106. CPU_INT08U const OSDbg_QPendAbortEn = 0u;
  107. CPU_INT16U const OSDbg_QSize = 0u;
  108. #endif
  109. CPU_INT08U const OSDbg_SchedRoundRobinEn = OS_CFG_SCHED_ROUND_ROBIN_EN;
  110. OS_SEM const OSDbg_Sem = { 0u };
  111. CPU_INT08U const OSDbg_SemEn = OS_CFG_SEM_EN;
  112. #if (OS_CFG_SEM_EN > 0u)
  113. CPU_INT08U const OSDbg_SemDelEn = OS_CFG_SEM_DEL_EN;
  114. CPU_INT08U const OSDbg_SemPendAbortEn = OS_CFG_SEM_PEND_ABORT_EN;
  115. CPU_INT08U const OSDbg_SemSetEn = OS_CFG_SEM_SET_EN;
  116. CPU_INT16U const OSDbg_SemSize = sizeof(OS_SEM); /* Size in bytes of OS_SEM */
  117. #else
  118. CPU_INT08U const OSDbg_SemDelEn = 0u;
  119. CPU_INT08U const OSDbg_SemPendAbortEn = 0u;
  120. CPU_INT08U const OSDbg_SemSetEn = 0u;
  121. CPU_INT16U const OSDbg_SemSize = 0u;
  122. #endif
  123. CPU_INT16U const OSDbg_RdyList = sizeof(OS_RDY_LIST);
  124. CPU_INT32U const OSDbg_RdyListSize = sizeof(OSRdyList); /* Number of bytes in the ready table */
  125. CPU_INT08U const OSDbg_StkWidth = sizeof(CPU_STK);
  126. CPU_INT08U const OSDbg_StatTaskEn = OS_CFG_STAT_TASK_EN;
  127. CPU_INT08U const OSDbg_StatTaskStkChkEn = OS_CFG_STAT_TASK_STK_CHK_EN;
  128. CPU_INT08U const OSDbg_TaskChangePrioEn = OS_CFG_TASK_CHANGE_PRIO_EN;
  129. CPU_INT08U const OSDbg_TaskDelEn = OS_CFG_TASK_DEL_EN;
  130. CPU_INT08U const OSDbg_TaskQEn = OS_CFG_TASK_Q_EN;
  131. CPU_INT08U const OSDbg_TaskQPendAbortEn = OS_CFG_TASK_Q_PEND_ABORT_EN;
  132. CPU_INT08U const OSDbg_TaskProfileEn = OS_CFG_TASK_PROFILE_EN;
  133. CPU_INT16U const OSDbg_TaskRegTblSize = OS_CFG_TASK_REG_TBL_SIZE;
  134. CPU_INT08U const OSDbg_TaskSemPendAbortEn = OS_CFG_TASK_SEM_PEND_ABORT_EN;
  135. CPU_INT08U const OSDbg_TaskSuspendEn = OS_CFG_TASK_SUSPEND_EN;
  136. CPU_INT16U const OSDbg_TCBSize = sizeof(OS_TCB); /* Size in Bytes of OS_TCB */
  137. CPU_INT16U const OSDbg_TickListSize = sizeof(OS_TICK_LIST);
  138. CPU_INT08U const OSDbg_TimeDlyHMSMEn = OS_CFG_TIME_DLY_HMSM_EN;
  139. CPU_INT08U const OSDbg_TimeDlyResumeEn = OS_CFG_TIME_DLY_RESUME_EN;
  140. #if defined(OS_CFG_TLS_TBL_SIZE) && (OS_CFG_TLS_TBL_SIZE > 0u)
  141. CPU_INT16U const OSDbg_TLS_TblSize = OS_CFG_TLS_TBL_SIZE * sizeof(OS_TLS);
  142. #else
  143. CPU_INT16U const OSDbg_TLS_TblSize = 0u;
  144. #endif
  145. OS_TMR const OSDbg_Tmr = { 0u };
  146. CPU_INT08U const OSDbg_TmrEn = OS_CFG_TMR_EN;
  147. #if (OS_CFG_TMR_EN > 0u)
  148. CPU_INT08U const OSDbg_TmrDelEn = OS_CFG_TMR_DEL_EN;
  149. CPU_INT16U const OSDbg_TmrSize = sizeof(OS_TMR);
  150. #else
  151. CPU_INT08U const OSDbg_TmrDelEn = 0u;
  152. CPU_INT16U const OSDbg_TmrSize = 0u;
  153. #endif
  154. CPU_INT16U const OSDbg_VersionNbr = OS_VERSION;
  155. /*
  156. ************************************************************************************************************************
  157. * DEBUG DATA
  158. * TOTAL DATA SPACE (i.e. RAM) USED BY uC/OS-III
  159. ************************************************************************************************************************
  160. */
  161. CPU_INT32U const OSDbg_DataSize = sizeof(OSIntNestingCtr)
  162. #if (OS_CFG_APP_HOOKS_EN > 0u)
  163. #if (OS_CFG_TASK_STK_REDZONE_EN > 0u)
  164. + sizeof(OS_AppRedzoneHitHookPtr)
  165. #endif
  166. + sizeof(OS_AppTaskCreateHookPtr)
  167. + sizeof(OS_AppTaskDelHookPtr)
  168. + sizeof(OS_AppTaskReturnHookPtr)
  169. + sizeof(OS_AppIdleTaskHookPtr)
  170. + sizeof(OS_AppStatTaskHookPtr)
  171. + sizeof(OS_AppTaskSwHookPtr)
  172. + sizeof(OS_AppTimeTickHookPtr)
  173. #endif
  174. #if (OS_CFG_DBG_EN > 0u)
  175. + sizeof(OSIdleTaskCtr)
  176. #endif
  177. #if (OS_CFG_TASK_IDLE_EN > 0u)
  178. + sizeof(OSIdleTaskTCB)
  179. #endif
  180. #ifdef CPU_CFG_INT_DIS_MEAS_EN
  181. #if (OS_CFG_TS_EN > 0u)
  182. + sizeof(OSIntDisTimeMax)
  183. #endif
  184. #endif
  185. #if (OS_CFG_STAT_TASK_STK_CHK_EN > 0u) && (OS_CFG_ISR_STK_SIZE > 0)
  186. + sizeof(OSISRStkFree)
  187. + sizeof(OSISRStkUsed)
  188. #endif
  189. #if (OS_CFG_ISR_STK_SIZE > 0)
  190. + OS_CFG_ISR_STK_SIZE * sizeof(CPU_STK)
  191. #endif
  192. #if (OS_CFG_TASK_IDLE_EN > 0u)
  193. + OS_CFG_IDLE_TASK_STK_SIZE * sizeof(CPU_STK)
  194. #endif
  195. #if (OS_CFG_TASK_STAT_EN > 0u)
  196. + OS_CFG_STAT_TASK_STK_SIZE * sizeof(CPU_STK)
  197. #endif
  198. #if (OS_CFG_TMR_EN > 0u)
  199. + OS_CFG_TMR_TASK_STK_SIZE * sizeof(CPU_STK)
  200. #endif
  201. + sizeof(OSRunning)
  202. + sizeof(OSInitialized)
  203. #ifdef OS_SAFETY_CRITICAL_IEC61508
  204. + sizeof(OSSafetyCriticalStartFlag)
  205. #endif
  206. #if (OS_CFG_FLAG_EN > 0u)
  207. #if (OS_CFG_DBG_EN > 0u)
  208. + sizeof(OSFlagDbgListPtr)
  209. + sizeof(OSFlagQty)
  210. #endif
  211. #endif
  212. #if (OS_CFG_MEM_EN > 0u)
  213. #if (OS_CFG_DBG_EN > 0u)
  214. + sizeof(OSMemDbgListPtr)
  215. + sizeof(OSMemQty)
  216. #endif
  217. #endif
  218. #if (OS_MSG_EN > 0u)
  219. + sizeof(OSMsgPool)
  220. #endif
  221. #if (OS_CFG_MUTEX_EN > 0u)
  222. #if (OS_CFG_DBG_EN > 0u)
  223. + sizeof(OSMutexDbgListPtr)
  224. + sizeof(OSMutexQty)
  225. #endif
  226. #endif
  227. + sizeof(OSPrioCur)
  228. + sizeof(OSPrioHighRdy)
  229. + sizeof(OSPrioTbl)
  230. #if (OS_CFG_Q_EN > 0u)
  231. #if (OS_CFG_DBG_EN > 0u)
  232. + sizeof(OSQDbgListPtr)
  233. + sizeof(OSQQty)
  234. #endif
  235. #endif
  236. + sizeof(OSRdyList)
  237. + sizeof(OSSchedLockNestingCtr)
  238. #if (OS_CFG_SCHED_LOCK_TIME_MEAS_EN > 0u)
  239. + sizeof(OSSchedLockTimeBegin)
  240. + sizeof(OSSchedLockTimeMax)
  241. + sizeof(OSSchedLockTimeMaxCur)
  242. #endif
  243. #if (OS_CFG_SCHED_ROUND_ROBIN_EN > 0u)
  244. + sizeof(OSSchedRoundRobinDfltTimeQuanta)
  245. + sizeof(OSSchedRoundRobinEn)
  246. #endif
  247. #if (OS_CFG_SEM_EN > 0u)
  248. #if (OS_CFG_DBG_EN > 0u)
  249. + sizeof(OSSemDbgListPtr)
  250. #endif
  251. + sizeof(OSSemQty)
  252. #endif
  253. #if ((OS_CFG_TASK_PROFILE_EN > 0u) || (OS_CFG_DBG_EN > 0u))
  254. + sizeof(OSTaskCtxSwCtr)
  255. #if (OS_CFG_DBG_EN > 0u)
  256. + sizeof(OSTaskDbgListPtr)
  257. #endif
  258. #endif
  259. + sizeof(OSTaskQty)
  260. #if (OS_CFG_STAT_TASK_EN > 0u)
  261. + sizeof(OSStatResetFlag)
  262. + sizeof(OSStatTaskCPUUsage)
  263. + sizeof(OSStatTaskCPUUsageMax)
  264. + sizeof(OSStatTaskCtr)
  265. + sizeof(OSStatTaskCtrMax)
  266. + sizeof(OSStatTaskCtrRun)
  267. + sizeof(OSStatTaskRdy)
  268. + sizeof(OSStatTaskTCB)
  269. #if (OS_CFG_TS_EN > 0u)
  270. + sizeof(OSStatTaskTime)
  271. + sizeof(OSStatTaskTimeMax)
  272. #endif
  273. #endif
  274. #if (OS_CFG_TICK_EN > 0u)
  275. + sizeof(OSTickCtr)
  276. + sizeof(OSTickList)
  277. #if (OS_CFG_TS_EN > 0u)
  278. + sizeof(OSTickTime)
  279. + sizeof(OSTickTimeMax)
  280. #endif
  281. #endif
  282. #if (OS_CFG_TMR_EN > 0u)
  283. #if (OS_CFG_DBG_EN > 0u)
  284. + sizeof(OSTmrDbgListPtr)
  285. + sizeof(OSTmrListEntries)
  286. #endif
  287. + sizeof(OSTmrListPtr)
  288. + sizeof(OSTmrMutex)
  289. + sizeof(OSTmrCond)
  290. #if (OS_CFG_DBG_EN > 0u)
  291. + sizeof(OSTmrQty)
  292. #endif
  293. + sizeof(OSTmrTaskTCB)
  294. + sizeof(OSTmrTaskTickBase)
  295. + sizeof(OSTmrToTicksMult)
  296. #if (OS_CFG_TS_EN > 0u)
  297. + sizeof(OSTmrTaskTime)
  298. + sizeof(OSTmrTaskTimeMax)
  299. #endif
  300. #endif
  301. #if (OS_CFG_TASK_REG_TBL_SIZE > 0u)
  302. + sizeof(OSTaskRegNextAvailID)
  303. #endif
  304. + sizeof(OSTCBCurPtr)
  305. + sizeof(OSTCBHighRdyPtr);
  306. /*
  307. ************************************************************************************************************************
  308. * OS DEBUG INITIALIZATION
  309. *
  310. * Description: This function is used to make sure that debug variables that are unused in the application are not
  311. * optimized away. This function might not be necessary for all compilers. In this case, you should simply
  312. * DELETE the code in this function while still leaving the declaration of the function itself.
  313. *
  314. * Arguments : none
  315. *
  316. * Returns : none
  317. *
  318. * Note(s) : (1) This code doesn't do anything, it simply prevents the compiler from optimizing out the 'const'
  319. * variables which are declared in this file.
  320. * (2) You may decide to 'compile out' the code (by using #if 0/#endif) INSIDE the function if your compiler
  321. * DOES NOT optimize out the 'const' variables above.
  322. ************************************************************************************************************************
  323. */
  324. void OS_Dbg_Init (void)
  325. {
  326. CPU_INT08U const * volatile p_temp08;
  327. CPU_INT16U const * volatile p_temp16;
  328. CPU_INT32U const * volatile p_temp32;
  329. p_temp08 = (CPU_INT08U const *)&OSDbg_DbgEn;
  330. p_temp32 = (CPU_INT32U const *)&OSDbg_DataSize;
  331. p_temp08 = (CPU_INT08U const *)&OSDbg_ArgChkEn;
  332. p_temp08 = (CPU_INT08U const *)&OSDbg_AppHooksEn;
  333. p_temp32 = (CPU_INT32U const *)&OSDbg_EndiannessTest;
  334. p_temp08 = (CPU_INT08U const *)&OSDbg_CalledFromISRChkEn;
  335. p_temp16 = (CPU_INT16U const *)&OSDbg_FlagGrp;
  336. p_temp08 = (CPU_INT08U const *)&OSDbg_FlagEn;
  337. #if (OS_CFG_FLAG_EN > 0u)
  338. p_temp08 = (CPU_INT08U const *)&OSDbg_FlagDelEn;
  339. p_temp08 = (CPU_INT08U const *)&OSDbg_FlagModeClrEn;
  340. p_temp08 = (CPU_INT08U const *)&OSDbg_FlagPendAbortEn;
  341. p_temp16 = (CPU_INT16U const *)&OSDbg_FlagGrpSize;
  342. p_temp16 = (CPU_INT16U const *)&OSDbg_FlagWidth;
  343. #endif
  344. p_temp16 = (CPU_INT16U const *)&OSDbg_Mem;
  345. p_temp08 = (CPU_INT08U const *)&OSDbg_MemEn;
  346. #if (OS_CFG_MEM_EN > 0u)
  347. p_temp16 = (CPU_INT16U const *)&OSDbg_MemSize;
  348. #endif
  349. p_temp08 = (CPU_INT08U const *)&OSDbg_MsgEn;
  350. #if (OS_MSG_EN > 0u)
  351. p_temp16 = (CPU_INT16U const *)&OSDbg_MsgSize;
  352. p_temp16 = (CPU_INT16U const *)&OSDbg_MsgPoolSize;
  353. p_temp16 = (CPU_INT16U const *)&OSDbg_MsgQSize;
  354. #endif
  355. p_temp16 = (CPU_INT16U const *)&OSDbg_Mutex;
  356. p_temp08 = (CPU_INT08U const *)&OSDbg_MutexEn;
  357. #if (OS_CFG_MUTEX_EN > 0u)
  358. p_temp08 = (CPU_INT08U const *)&OSDbg_MutexDelEn;
  359. p_temp08 = (CPU_INT08U const *)&OSDbg_MutexPendAbortEn;
  360. p_temp16 = (CPU_INT16U const *)&OSDbg_MutexSize;
  361. #endif
  362. p_temp08 = (CPU_INT08U const *)&OSDbg_ObjTypeChkEn;
  363. p_temp08 = (CPU_INT08U const *)&OSDbg_ObjCreatedChkEn;
  364. p_temp16 = (CPU_INT16U const *)&OSDbg_PendListSize;
  365. p_temp16 = (CPU_INT16U const *)&OSDbg_PendObjSize;
  366. p_temp16 = (CPU_INT16U const *)&OSDbg_PrioMax;
  367. p_temp16 = (CPU_INT16U const *)&OSDbg_PrioTblSize;
  368. p_temp16 = (CPU_INT16U const *)&OSDbg_PtrSize;
  369. p_temp16 = (CPU_INT16U const *)&OSDbg_Q;
  370. p_temp08 = (CPU_INT08U const *)&OSDbg_QEn;
  371. #if (OS_CFG_Q_EN > 0u)
  372. p_temp08 = (CPU_INT08U const *)&OSDbg_QDelEn;
  373. p_temp08 = (CPU_INT08U const *)&OSDbg_QFlushEn;
  374. p_temp08 = (CPU_INT08U const *)&OSDbg_QPendAbortEn;
  375. p_temp16 = (CPU_INT16U const *)&OSDbg_QSize;
  376. #endif
  377. p_temp16 = (CPU_INT16U const *)&OSDbg_SchedRoundRobinEn;
  378. p_temp16 = (CPU_INT16U const *)&OSDbg_Sem;
  379. p_temp08 = (CPU_INT08U const *)&OSDbg_SemEn;
  380. #if (OS_CFG_SEM_EN > 0u)
  381. p_temp08 = (CPU_INT08U const *)&OSDbg_SemDelEn;
  382. p_temp08 = (CPU_INT08U const *)&OSDbg_SemPendAbortEn;
  383. p_temp16 = (CPU_INT16U const *)&OSDbg_SemSetEn;
  384. p_temp16 = (CPU_INT16U const *)&OSDbg_SemSize;
  385. #endif
  386. p_temp16 = (CPU_INT16U const *)&OSDbg_RdyList;
  387. p_temp32 = (CPU_INT32U const *)&OSDbg_RdyListSize;
  388. p_temp16 = (CPU_INT16U const *)&OSDbg_StkWidth;
  389. p_temp08 = (CPU_INT08U const *)&OSDbg_StatTaskEn;
  390. p_temp08 = (CPU_INT08U const *)&OSDbg_StatTaskStkChkEn;
  391. p_temp08 = (CPU_INT08U const *)&OSDbg_TaskChangePrioEn;
  392. p_temp08 = (CPU_INT08U const *)&OSDbg_TaskDelEn;
  393. p_temp08 = (CPU_INT08U const *)&OSDbg_TaskQEn;
  394. p_temp08 = (CPU_INT08U const *)&OSDbg_TaskQPendAbortEn;
  395. p_temp08 = (CPU_INT08U const *)&OSDbg_TaskProfileEn;
  396. p_temp16 = (CPU_INT16U const *)&OSDbg_TaskRegTblSize;
  397. p_temp08 = (CPU_INT08U const *)&OSDbg_TaskSemPendAbortEn;
  398. p_temp08 = (CPU_INT08U const *)&OSDbg_TaskSuspendEn;
  399. p_temp16 = (CPU_INT16U const *)&OSDbg_TCBSize;
  400. p_temp16 = (CPU_INT16U const *)&OSDbg_TickListSize;
  401. p_temp08 = (CPU_INT08U const *)&OSDbg_TimeDlyHMSMEn;
  402. p_temp08 = (CPU_INT08U const *)&OSDbg_TimeDlyResumeEn;
  403. p_temp16 = (CPU_INT16U const *)&OSDbg_TLS_TblSize;
  404. p_temp16 = (CPU_INT16U const *)&OSDbg_Tmr;
  405. p_temp08 = (CPU_INT08U const *)&OSDbg_TmrEn;
  406. #if (OS_CFG_TMR_EN > 0u)
  407. p_temp08 = (CPU_INT08U const *)&OSDbg_TmrDelEn;
  408. p_temp16 = (CPU_INT16U const *)&OSDbg_TmrSize;
  409. #endif
  410. p_temp16 = (CPU_INT16U const *)&OSDbg_VersionNbr;
  411. p_temp08 = p_temp08; /* Prevent compiler warning for not using 'p_temp' */
  412. p_temp16 = p_temp16;
  413. p_temp32 = p_temp32;
  414. }
  415. #endif