Marking local functions: prvListTasksWithinSingleList.part.0 vTaskSwitchContext.part.0 xTaskResumeAll.part.0 xTaskIncrementTick.part.0 eTaskGetState.part.0 prvAddCurrentTaskToDelayedList.part.0 prvInitialiseNewTask.isra.0 prvResetNextTaskUnblockTime.part.0 prvTaskIsTaskSuspended.part.0 prvAddCurrentTaskToDelayedList prvWriteNameToBuffer prvResetNextTaskUnblockTime prvDeleteTCB prvTaskCheckFreeStackSpace prvListTasksWithinSingleList prvCheckTasksWaitingTermination prvInitialiseTaskLists prvSearchForNameWithinSingleList prvTaskIsTaskSuspended prvAddNewTaskToReadyList Marking externally visible functions: ulTaskGenericNotifyValueClear xTaskGenericNotifyStateClear vTaskGenericNotifyGiveFromISR xTaskGenericNotifyFromISR xTaskGenericNotify xTaskGenericNotifyWait ulTaskGenericNotifyTake pvTaskIncrementMutexHeldCount uxTaskResetEventItemValue vTaskList vTaskPriorityDisinheritAfterTimeout xTaskPriorityDisinherit xTaskPriorityInherit xTaskGetSchedulerState xTaskGetCurrentTaskHandle uxTaskGetStackHighWaterMark vTaskGetInfo vTaskSetTaskNumber uxTaskGetTaskNumber vTaskMissedYield xTaskCheckForTimeOut vTaskInternalSetTimeOutState vTaskSetTimeOutState vTaskRemoveFromUnorderedEventList xTaskRemoveFromEventList vTaskPlaceOnEventListRestricted vTaskPlaceOnUnorderedEventList vTaskPlaceOnEventList vTaskSwitchContext xTaskIncrementTick xTaskAbortDelay xTaskCatchUpTicks uxTaskGetSystemState xTaskGetHandle pcTaskGetName uxTaskGetNumberOfTasks xTaskGetTickCountFromISR xTaskGetTickCount xTaskResumeAll vTaskSuspendAll vTaskEndScheduler vTaskStartScheduler xTaskResumeFromISR vTaskResume vTaskSuspend vTaskPrioritySet uxTaskPriorityGetFromISR uxTaskPriorityGet eTaskGetState vTaskDelay xTaskDelayUntil vTaskDelete xTaskCreate Marking externally visible variables: uxTopUsedPriority pxCurrentTCB Clearing variable flags: Reclaiming functions: Reclaiming variables: Clearing address taken flags: Symbol table: CSWTCH.225/163 (CSWTCH.225) @063c4798 Type: variable definition analyzed Visibility: prevailing_def_ironly artificial References: Referring: vTaskList/84 (read) Availability: available Varpool flags: initialized read-only const-value-known prvListTasksWithinSingleList.part.0/158 (prvListTasksWithinSingleList.part.0) @061d3b60 Type: function definition analyzed Visibility: prevailing_def_ironly artificial References: Referring: Availability: local Function flags: count:118111600 (estimated locally) first_run:1 body local split_part optimize_size Called by: prvListTasksWithinSingleList/73 (118111600 (estimated locally),0.50 per call) Calls: vTaskGetInfo/72 (1073741824 (estimated locally),9.09 per call) vTaskSwitchContext.part.0/146 (vTaskSwitchContext.part.0) @063282a0 Type: function definition analyzed Visibility: prevailing_def_ironly artificial References: Referring: Availability: local Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size Called by: vTaskSwitchContext/57 (107374 (estimated locally),0.24 per call) Calls: xTaskResumeAll.part.0/137 (xTaskResumeAll.part.0) @06328620 Type: function definition analyzed Visibility: prevailing_def_ironly artificial References: uxSchedulerSuspended/28 (read)uxSchedulerSuspended/28 (write)uxSchedulerSuspended/28 (read)uxCurrentNumberOfTasks/17 (read)xPendingReadyList/13 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxCurrentTCB/7 (read)xYieldPending/22 (write)xPendingReadyList/13 (read)xPendedTicks/21 (read)xYieldPending/22 (write)xPendedTicks/21 (write)xYieldPending/22 (read) Referring: Availability: local Function flags: count:472446400 (estimated locally) first_run:1 body local split_part optimize_size Called by: xTaskResumeAll/46 (52886 (estimated locally),0.33 per call) Calls: vPortEnterCritical/100 (472446400 (estimated locally),1.00 per call) prvResetNextTaskUnblockTime/77 (63154273 (estimated locally),0.13 per call) xTaskIncrementTick/56 (536870915 (estimated locally),1.14 per call) vPortExitCritical/101 (472446401 (estimated locally),1.00 per call) xTaskIncrementTick.part.0/135 (xTaskIncrementTick.part.0) @06328540 Type: function definition analyzed Visibility: prevailing_def_ironly artificial References: xTickCount/18 (read)xTickCount/18 (write)pxDelayedTaskList/11 (read)pxDelayedTaskList/11 (read)pxOverflowDelayedTaskList/12 (read)pxDelayedTaskList/11 (write)pxOverflowDelayedTaskList/12 (write)xNumOfOverflows/23 (read)xNumOfOverflows/23 (write)xNextTaskUnblockTime/25 (read)pxDelayedTaskList/11 (read)xNextTaskUnblockTime/25 (write)pxDelayedTaskList/11 (read)xNextTaskUnblockTime/25 (write)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxReadyTasksLists/8 (read)xYieldPending/22 (read) Referring: Availability: local Function flags: count:320519 (estimated locally) first_run:1 body local split_part optimize_size Called by: xTaskIncrementTick/56 (320520 (estimated locally),0.50 per call) Calls: prvResetNextTaskUnblockTime/77 (52886 (estimated locally),0.17 per call) eTaskGetState.part.0/122 (eTaskGetState.part.0) @061d39a0 Type: function definition analyzed Visibility: prevailing_def_ironly artificial References: Referring: Availability: local Function flags: count:566398813 (estimated locally) first_run:1 body local split_part optimize_size Called by: eTaskGetState/35 (11759 (estimated locally),0.03 per call) Calls: prvAddCurrentTaskToDelayedList.part.0/119 (prvAddCurrentTaskToDelayedList.part.0) @05f2a540 Type: function definition analyzed Visibility: prevailing_def_ironly artificial References: xSuspendedTaskList/16 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)xSuspendedTaskList/16 (addr)xSuspendedTaskList/16 (read)xSuspendedTaskList/16 (write) Referring: Availability: local Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size Called by: prvAddCurrentTaskToDelayedList/94 (182536110 (estimated locally),0.17 per call) Calls: prvInitialiseNewTask.isra.0/118 (prvInitialiseNewTask.isra.0) @05f2a2a0 Type: function definition analyzed Visibility: prevailing_def_ironly artificial References: Referring: Availability: local Function flags: count:160260 (estimated locally) body local optimize_size Called by: xTaskCreate/29 (306987179 (estimated locally),0.29 per call) Calls: pxPortInitialiseStack/99 (52886 (estimated locally),0.33 per call) memset/97 (52886 (estimated locally),0.33 per call) memset/97 (52886 (estimated locally),0.33 per call) vListInitialiseItem/98 (52886 (estimated locally),0.33 per call) vListInitialiseItem/98 (52886 (estimated locally),0.33 per call) memset/97 (160260 (estimated locally),1.00 per call) prvResetNextTaskUnblockTime.part.0/115 (prvResetNextTaskUnblockTime.part.0) @05f22e00 Type: function definition analyzed Visibility: prevailing_def_ironly artificial References: pxDelayedTaskList/11 (read)xNextTaskUnblockTime/25 (write) Referring: Availability: local Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size Called by: prvResetNextTaskUnblockTime/77 (536870912 (estimated locally),0.50 per call) Calls: prvTaskIsTaskSuspended.part.0/114 (prvTaskIsTaskSuspended.part.0) @05e542a0 Type: function definition analyzed Visibility: prevailing_def_ironly artificial References: xPendingReadyList/13 (addr) Referring: Availability: local Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size Called by: prvTaskIsTaskSuspended/40 (75162 (estimated locally),0.21 per call) Calls: strcpy/112 (strcpy) @06161000 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: prvWriteNameToBuffer/83 (118111600 (estimated locally),1.00 per call) Calls: sprintf/111 (sprintf) @06141ee0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vTaskList/84 (955630226 (estimated locally),4.33 per call) Calls: strlen/110 (strlen) @060d49a0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vTaskList/84 (955630226 (estimated locally),4.33 per call) xTaskGetHandle/52 (160260 (estimated locally),1.00 per call) prvWriteNameToBuffer/83 (118111600 (estimated locally),1.00 per call) Calls: vPortEndScheduler/109 (vPortEndScheduler) @060d4000 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vTaskEndScheduler/44 (1073741824 (estimated locally),1.00 per call) Calls: xPortStartScheduler/108 (xPortStartScheduler) @05a9ac40 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vTaskStartScheduler/43 (80139 (estimated locally),0.20 per call) Calls: xTimerCreateTimerTask/107 (xTimerCreateTimerTask) @05a9ab60 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vTaskStartScheduler/43 (80139 (estimated locally),0.20 per call) Calls: vPortValidateInterruptPriority/106 (vPortValidateInterruptPriority) @05a83e00 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vTaskGenericNotifyGiveFromISR/91 (52886 (estimated locally),0.23 per call) xTaskGenericNotifyFromISR/90 (52886 (estimated locally),0.23 per call) xTaskGetTickCountFromISR/48 (1073741824 (estimated locally),1.00 per call) xTaskResumeFromISR/42 (123389 (estimated locally),0.53 per call) uxTaskPriorityGetFromISR/37 (1073741824 (estimated locally),1.00 per call) Calls: vListInsert/105 (vListInsert) @05a837e0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vTaskPlaceOnEventList/58 (123389 (estimated locally),0.53 per call) prvAddCurrentTaskToDelayedList/94 (445602856 (estimated locally),0.41 per call) prvAddCurrentTaskToDelayedList/94 (445602856 (estimated locally),0.41 per call) Calls: vListInsertEnd/104 (vListInsertEnd) @05a830e0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vTaskSuspend/39 (1431653 (estimated locally),1.00 per call) xTaskResumeFromISR/42 (20359 (estimated locally),0.09 per call) vTaskDelete/32 (429496 (estimated locally),0.30 per call) Calls: uxListRemove/103 (uxListRemove) @05a83000 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vTaskPriorityDisinheritAfterTimeout/82 (2940 (estimated locally),0.01 per call) xTaskPriorityDisinherit/81 (5011 (estimated locally),0.02 per call) xTaskPriorityInherit/80 (65503620 (estimated locally),0.06 per call) vTaskSuspend/39 (765505 (estimated locally),0.53 per call) vTaskSuspend/39 (1431653 (estimated locally),1.00 per call) xTaskAbortDelay/55 (13354 (estimated locally),0.06 per call) xTaskAbortDelay/55 (24974 (estimated locally),0.11 per call) xTaskResumeFromISR/42 (41335 (estimated locally),0.18 per call) vTaskResume/41 (44208 (estimated locally),0.12 per call) vTaskPrioritySet/38 (6084 (estimated locally),0.04 per call) vTaskDelete/32 (765505 (estimated locally),0.53 per call) vTaskDelete/32 (1431653 (estimated locally),1.00 per call) prvAddCurrentTaskToDelayedList/94 (1073741823 (estimated locally),1.00 per call) prvCheckTasksWaitingTermination/71 (955630223 (estimated locally),8.09 per call) Calls: vListInitialise/102 (vListInitialise) @060b4ee0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: prvInitialiseTaskLists/70 (178992762 (estimated locally),1.00 per call) prvInitialiseTaskLists/70 (178992762 (estimated locally),1.00 per call) prvInitialiseTaskLists/70 (178992762 (estimated locally),1.00 per call) prvInitialiseTaskLists/70 (178992762 (estimated locally),1.00 per call) prvInitialiseTaskLists/70 (178992762 (estimated locally),1.00 per call) prvInitialiseTaskLists/70 (894749063 (estimated locally),5.00 per call) Calls: vPortExitCritical/101 (vPortExitCritical) @060b4d20 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: ulTaskGenericNotifyValueClear/93 (1073741824 (estimated locally),1.00 per call) xTaskGenericNotifyStateClear/92 (107374 (estimated locally),0.50 per call) xTaskGenericNotify/89 (33803 (estimated locally),0.16 per call) xTaskGenericNotifyWait/88 (52886 (estimated locally),0.33 per call) xTaskGenericNotifyWait/88 (52886 (estimated locally),0.33 per call) ulTaskGenericNotifyTake/87 (52886 (estimated locally),0.33 per call) ulTaskGenericNotifyTake/87 (52886 (estimated locally),0.33 per call) xTaskCheckForTimeOut/65 (123389 (estimated locally),0.37 per call) vTaskSetTimeOutState/63 (123389 (estimated locally),0.53 per call) vTaskSuspend/39 (472446 (estimated locally),0.33 per call) vTaskSuspend/39 (1431653 (estimated locally),1.00 per call) xTaskAbortDelay/55 (24974 (estimated locally),0.11 per call) xTaskResumeAll.part.0/137 (472446401 (estimated locally),1.00 per call) vTaskResume/41 (133963 (estimated locally),0.37 per call) vTaskPrioritySet/38 (52886 (estimated locally),0.33 per call) uxTaskPriorityGet/36 (1073741824 (estimated locally),1.00 per call) eTaskGetState/35 (133963 (estimated locally),0.37 per call) vTaskDelete/32 (1431653 (estimated locally),1.00 per call) prvCheckTasksWaitingTermination/71 (955630223 (estimated locally),8.09 per call) prvAddNewTaskToReadyList/31 (1073741823 (estimated locally),1.00 per call) Calls: vPortEnterCritical/100 (vPortEnterCritical) @060b4b60 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: ulTaskGenericNotifyValueClear/93 (1073741824 (estimated locally),1.00 per call) xTaskGenericNotifyStateClear/92 (107374 (estimated locally),0.50 per call) xTaskGenericNotify/89 (57413 (estimated locally),0.27 per call) xTaskGenericNotifyWait/88 (52886 (estimated locally),0.33 per call) xTaskGenericNotifyWait/88 (52886 (estimated locally),0.33 per call) ulTaskGenericNotifyTake/87 (52886 (estimated locally),0.33 per call) ulTaskGenericNotifyTake/87 (52886 (estimated locally),0.33 per call) xTaskCheckForTimeOut/65 (123389 (estimated locally),0.37 per call) vTaskSetTimeOutState/63 (123389 (estimated locally),0.53 per call) vTaskSuspend/39 (472446 (estimated locally),0.33 per call) vTaskSuspend/39 (1431653 (estimated locally),1.00 per call) xTaskAbortDelay/55 (24974 (estimated locally),0.11 per call) xTaskResumeAll.part.0/137 (472446400 (estimated locally),1.00 per call) vTaskResume/41 (133963 (estimated locally),0.37 per call) vTaskPrioritySet/38 (52886 (estimated locally),0.33 per call) uxTaskPriorityGet/36 (1073741824 (estimated locally),1.00 per call) eTaskGetState/35 (133963 (estimated locally),0.37 per call) vTaskDelete/32 (1431653 (estimated locally),1.00 per call) prvCheckTasksWaitingTermination/71 (955630223 (estimated locally),8.09 per call) prvAddNewTaskToReadyList/31 (1073741821 (estimated locally),1.00 per call) Calls: pxPortInitialiseStack/99 (pxPortInitialiseStack) @060b48c0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: prvInitialiseNewTask.isra.0/118 (52886 (estimated locally),0.33 per call) Calls: vListInitialiseItem/98 (vListInitialiseItem) @060b47e0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: prvInitialiseNewTask.isra.0/118 (52886 (estimated locally),0.33 per call) prvInitialiseNewTask.isra.0/118 (52886 (estimated locally),0.33 per call) Calls: memset/97 (memset) @060b4700 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: prvInitialiseNewTask.isra.0/118 (52886 (estimated locally),0.33 per call) prvInitialiseNewTask.isra.0/118 (52886 (estimated locally),0.33 per call) prvInitialiseNewTask.isra.0/118 (160260 (estimated locally),1.00 per call) Calls: vPortFree/96 (vPortFree) @060b4540 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vTaskList/84 (118111601 (estimated locally),0.53 per call) xTaskCreate/29 (100070816 (estimated locally),0.09 per call) prvDeleteTCB/76 (1073741824 (estimated locally),1.00 per call) prvDeleteTCB/76 (1073741824 (estimated locally),1.00 per call) Calls: pvPortMalloc/95 (pvPortMalloc) @060b4460 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vTaskList/84 (220893212 (estimated locally),1.00 per call) xTaskCreate/29 (574129754 (estimated locally),0.53 per call) xTaskCreate/29 (1073741824 (estimated locally),1.00 per call) Calls: prvAddCurrentTaskToDelayedList/94 (prvAddCurrentTaskToDelayedList) @060b4000 Type: function definition analyzed Visibility: prevailing_def_ironly References: xTickCount/18 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxOverflowDelayedTaskList/12 (read)pxCurrentTCB/7 (read)pxDelayedTaskList/11 (read)pxCurrentTCB/7 (read)xNextTaskUnblockTime/25 (read)xNextTaskUnblockTime/25 (write) Referring: Availability: local Function flags: count:1073741823 (estimated locally) body local optimize_size Called by: xTaskGenericNotifyWait/88 (11519 (estimated locally),0.07 per call) ulTaskGenericNotifyTake/87 (8726 (estimated locally),0.05 per call) vTaskPlaceOnEventListRestricted/60 (250539 (estimated locally),0.70 per call) vTaskPlaceOnUnorderedEventList/59 (52886 (estimated locally),0.23 per call) vTaskPlaceOnEventList/58 (123389 (estimated locally),0.53 per call) vTaskDelay/34 (52886 (estimated locally),0.17 per call) xTaskDelayUntil/33 (17717 (estimated locally),0.06 per call) Calls: vListInsert/105 (445602856 (estimated locally),0.41 per call) vListInsert/105 (445602856 (estimated locally),0.41 per call) prvAddCurrentTaskToDelayedList.part.0/119 (182536110 (estimated locally),0.17 per call) uxListRemove/103 (1073741823 (estimated locally),1.00 per call) ulTaskGenericNotifyValueClear/93 (ulTaskGenericNotifyValueClear) @0607a540 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/101 (1073741824 (estimated locally),1.00 per call) vPortEnterCritical/100 (1073741824 (estimated locally),1.00 per call) xTaskGenericNotifyStateClear/92 (xTaskGenericNotifyStateClear) @0607ad20 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/101 (107374 (estimated locally),0.50 per call) vPortEnterCritical/100 (107374 (estimated locally),0.50 per call) vTaskGenericNotifyGiveFromISR/91 (vTaskGenericNotifyGiveFromISR) @0607a8c0 Type: function definition analyzed Visibility: externally_visible public References: uxSchedulerSuspended/28 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)xPendingReadyList/13 (read)xPendingReadyList/13 (addr)xPendingReadyList/13 (read)xPendingReadyList/13 (write)pxCurrentTCB/7 (read)xYieldPending/22 (write) Referring: Availability: available Function flags: count:228942 (estimated locally) body optimize_size Called by: Calls: vPortValidateInterruptPriority/106 (52886 (estimated locally),0.23 per call) xTaskGenericNotifyFromISR/90 (xTaskGenericNotifyFromISR) @0607a460 Type: function definition analyzed Visibility: externally_visible public References: xTickCount/18 (read)uxSchedulerSuspended/28 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)xPendingReadyList/13 (read)xPendingReadyList/13 (addr)xPendingReadyList/13 (read)xPendingReadyList/13 (write)pxCurrentTCB/7 (read)xYieldPending/22 (write) Referring: Availability: available Function flags: count:228942 (estimated locally) body optimize_size Called by: Calls: vPortValidateInterruptPriority/106 (52886 (estimated locally),0.23 per call) xTaskGenericNotify/89 (xTaskGenericNotify) @0606ce00 Type: function definition analyzed Visibility: externally_visible public References: xTickCount/18 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxCurrentTCB/7 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/101 (33803 (estimated locally),0.16 per call) vPortEnterCritical/100 (57413 (estimated locally),0.27 per call) xTaskGenericNotifyWait/88 (xTaskGenericNotifyWait) @0606cd20 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read) Referring: Availability: available Function flags: count:160260 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/101 (52886 (estimated locally),0.33 per call) vPortEnterCritical/100 (52886 (estimated locally),0.33 per call) vPortExitCritical/101 (52886 (estimated locally),0.33 per call) prvAddCurrentTaskToDelayedList/94 (11519 (estimated locally),0.07 per call) vPortEnterCritical/100 (52886 (estimated locally),0.33 per call) ulTaskGenericNotifyTake/87 (ulTaskGenericNotifyTake) @0606c8c0 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read) Referring: Availability: available Function flags: count:160260 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/101 (52886 (estimated locally),0.33 per call) vPortEnterCritical/100 (52886 (estimated locally),0.33 per call) vPortExitCritical/101 (52886 (estimated locally),0.33 per call) prvAddCurrentTaskToDelayedList/94 (8726 (estimated locally),0.05 per call) vPortEnterCritical/100 (52886 (estimated locally),0.33 per call) pvTaskIncrementMutexHeldCount/86 (pvTaskIncrementMutexHeldCount) @0606c460 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: uxTaskResetEventItemValue/85 (uxTaskResetEventItemValue) @0606c1c0 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: vTaskList/84 (vTaskList) @0604fc40 Type: function definition analyzed Visibility: externally_visible public References: uxCurrentNumberOfTasks/17 (read)uxCurrentNumberOfTasks/17 (read)CSWTCH.225/163 (read) Referring: Availability: available Function flags: count:220893212 (estimated locally) body optimize_size Called by: Calls: vPortFree/96 (118111601 (estimated locally),0.53 per call) strlen/110 (955630226 (estimated locally),4.33 per call) sprintf/111 (955630226 (estimated locally),4.33 per call) prvWriteNameToBuffer/83 (955630226 (estimated locally),4.33 per call) uxTaskGetSystemState/53 (118111600 (estimated locally),0.53 per call) pvPortMalloc/95 (220893212 (estimated locally),1.00 per call) prvWriteNameToBuffer/83 (prvWriteNameToBuffer) @0604f540 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:118111600 (estimated locally) body local optimize_size Called by: vTaskList/84 (955630226 (estimated locally),4.33 per call) Calls: strlen/110 (118111600 (estimated locally),1.00 per call) strcpy/112 (118111600 (estimated locally),1.00 per call) vTaskPriorityDisinheritAfterTimeout/82 (vTaskPriorityDisinheritAfterTimeout) @0604f000 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read)pxReadyTasksLists/8 (addr)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write) Referring: Availability: available Function flags: count:306783 (estimated locally) body optimize_size Called by: Calls: uxListRemove/103 (2940 (estimated locally),0.01 per call) xTaskPriorityDisinherit/81 (xTaskPriorityDisinherit) @0604fb60 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write) Referring: Availability: available Function flags: count:219131 (estimated locally) body optimize_size Called by: Calls: uxListRemove/103 (5011 (estimated locally),0.02 per call) xTaskPriorityInherit/80 (xTaskPriorityInherit) @0604f700 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxReadyTasksLists/8 (addr)pxCurrentTCB/7 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: uxListRemove/103 (65503620 (estimated locally),0.06 per call) xTaskGetSchedulerState/79 (xTaskGetSchedulerState) @0604f460 Type: function definition analyzed Visibility: externally_visible public References: xSchedulerRunning/20 (read)uxSchedulerSuspended/28 (read) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: xTaskGetCurrentTaskHandle/78 (xTaskGetCurrentTaskHandle) @0604f1c0 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: prvResetNextTaskUnblockTime/77 (prvResetNextTaskUnblockTime) @06043c40 Type: function definition analyzed Visibility: prevailing_def_ironly References: pxDelayedTaskList/11 (read)xNextTaskUnblockTime/25 (write) Referring: Availability: local Function flags: count:1073741824 (estimated locally) body local optimize_size Called by: vTaskSuspend/39 (472446 (estimated locally),0.33 per call) xTaskResumeAll.part.0/137 (63154273 (estimated locally),0.13 per call) xTaskIncrementTick.part.0/135 (52886 (estimated locally),0.17 per call) vTaskDelete/32 (1002157 (estimated locally),0.70 per call) Calls: prvResetNextTaskUnblockTime.part.0/115 (536870912 (estimated locally),0.50 per call) prvDeleteTCB/76 (prvDeleteTCB) @06043380 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:1073741824 (estimated locally) body local optimize_size Called by: vTaskDelete/32 (1002157 (estimated locally),0.70 per call) prvCheckTasksWaitingTermination/71 (955630223 (estimated locally),8.09 per call) Calls: vPortFree/96 (1073741824 (estimated locally),1.00 per call) vPortFree/96 (1073741824 (estimated locally),1.00 per call) uxTaskGetStackHighWaterMark/75 (uxTaskGetStackHighWaterMark) @06043ee0 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: prvTaskCheckFreeStackSpace/74 (1073741824 (estimated locally),1.00 per call) prvTaskCheckFreeStackSpace/74 (prvTaskCheckFreeStackSpace) @06043b60 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:118111600 (estimated locally) body local optimize_size Called by: uxTaskGetStackHighWaterMark/75 (1073741824 (estimated locally),1.00 per call) vTaskGetInfo/72 (354334802 (estimated locally),0.33 per call) Calls: prvListTasksWithinSingleList/73 (prvListTasksWithinSingleList) @060438c0 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:236223200 (estimated locally) body local optimize_size Called by: uxTaskGetSystemState/53 (214748365 (estimated locally),0.50 per call) uxTaskGetSystemState/53 (214748365 (estimated locally),0.50 per call) uxTaskGetSystemState/53 (214748365 (estimated locally),0.50 per call) uxTaskGetSystemState/53 (214748365 (estimated locally),0.50 per call) uxTaskGetSystemState/53 (1073741824 (estimated locally),2.50 per call) Calls: prvListTasksWithinSingleList.part.0/158 (118111600 (estimated locally),0.50 per call) vTaskGetInfo/72 (vTaskGetInfo) @06043620 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read) Referring: Availability: available Function flags: count:1073741823 (estimated locally) body optimize_size Called by: prvListTasksWithinSingleList.part.0/158 (1073741824 (estimated locally),9.09 per call) Calls: prvTaskCheckFreeStackSpace/74 (354334802 (estimated locally),0.33 per call) eTaskGetState/35 (217325345 (estimated locally),0.20 per call) xTaskResumeAll/46 (121337087 (estimated locally),0.11 per call) vTaskSuspendAll/45 (121337087 (estimated locally),0.11 per call) prvCheckTasksWaitingTermination/71 (prvCheckTasksWaitingTermination) @060432a0 Type: function definition analyzed Visibility: prevailing_def_ironly References: xTasksWaitingTermination/14 (read)uxCurrentNumberOfTasks/17 (read)uxCurrentNumberOfTasks/17 (write)uxDeletedTasksWaitingCleanUp/15 (read)uxDeletedTasksWaitingCleanUp/15 (write)uxDeletedTasksWaitingCleanUp/15 (read) Referring: Availability: local Function flags: count:118111600 (estimated locally) body local optimize_size Called by: prvIdleTask/69 (1073741824 (estimated locally),16949.09 per call) Calls: prvDeleteTCB/76 (955630223 (estimated locally),8.09 per call) vPortExitCritical/101 (955630223 (estimated locally),8.09 per call) uxListRemove/103 (955630223 (estimated locally),8.09 per call) vPortEnterCritical/100 (955630223 (estimated locally),8.09 per call) prvInitialiseTaskLists/70 (prvInitialiseTaskLists) @0603fee0 Type: function definition analyzed Visibility: prevailing_def_ironly References: pxReadyTasksLists/8 (addr)xDelayedTaskList1/9 (addr)xDelayedTaskList2/10 (addr)xPendingReadyList/13 (addr)xTasksWaitingTermination/14 (addr)xSuspendedTaskList/16 (addr)pxDelayedTaskList/11 (write)xDelayedTaskList1/9 (addr)pxOverflowDelayedTaskList/12 (write)xDelayedTaskList2/10 (addr) Referring: Availability: local Function flags: count:178992762 (estimated locally) body local optimize_size Called by: prvAddNewTaskToReadyList/31 (65197603 (estimated locally),0.06 per call) Calls: vListInitialise/102 (178992762 (estimated locally),1.00 per call) vListInitialise/102 (178992762 (estimated locally),1.00 per call) vListInitialise/102 (178992762 (estimated locally),1.00 per call) vListInitialise/102 (178992762 (estimated locally),1.00 per call) vListInitialise/102 (178992762 (estimated locally),1.00 per call) vListInitialise/102 (894749063 (estimated locally),5.00 per call) prvIdleTask/69 (prvIdleTask) @0603f9a0 Type: function definition analyzed Visibility: prevailing_def_ironly Address is taken. References: pxReadyTasksLists/8 (read) Referring: vTaskStartScheduler/43 (addr) Availability: available Function flags: count:63351 (estimated locally) body executed_once optimize_size Called by: Calls: prvCheckTasksWaitingTermination/71 (1073741824 (estimated locally),16949.09 per call) vTaskSetTaskNumber/68 (vTaskSetTaskNumber) @0603fe00 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: uxTaskGetTaskNumber/67 (uxTaskGetTaskNumber) @0603fb60 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: vTaskMissedYield/66 (vTaskMissedYield) @0603f8c0 Type: function definition analyzed Visibility: externally_visible public References: xYieldPending/22 (write) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: xTaskCheckForTimeOut/65 (xTaskCheckForTimeOut) @0603f620 Type: function definition analyzed Visibility: externally_visible public References: xTickCount/18 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)xNumOfOverflows/23 (read) Referring: Availability: available Function flags: count:329661 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/101 (123389 (estimated locally),0.37 per call) vTaskInternalSetTimeOutState/64 (9003 (estimated locally),0.03 per call) vPortEnterCritical/100 (123389 (estimated locally),0.37 per call) vTaskInternalSetTimeOutState/64 (vTaskInternalSetTimeOutState) @0603f1c0 Type: function definition analyzed Visibility: externally_visible public References: xNumOfOverflows/23 (read)xTickCount/18 (read) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: xTaskCheckForTimeOut/65 (9003 (estimated locally),0.03 per call) Calls: vTaskSetTimeOutState/63 (vTaskSetTimeOutState) @05f9ab60 Type: function definition analyzed Visibility: externally_visible public References: xNumOfOverflows/23 (read)xTickCount/18 (read) Referring: Availability: available Function flags: count:230763 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/101 (123389 (estimated locally),0.53 per call) vPortEnterCritical/100 (123389 (estimated locally),0.53 per call) vTaskRemoveFromUnorderedEventList/62 (vTaskRemoveFromUnorderedEventList) @05f9aee0 Type: function definition analyzed Visibility: externally_visible public References: uxSchedulerSuspended/28 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxCurrentTCB/7 (read)xYieldPending/22 (write) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: xTaskRemoveFromEventList/61 (xTaskRemoveFromEventList) @05f9aa80 Type: function definition analyzed Visibility: externally_visible public References: uxSchedulerSuspended/28 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)xPendingReadyList/13 (read)xPendingReadyList/13 (addr)xPendingReadyList/13 (read)xPendingReadyList/13 (write)pxCurrentTCB/7 (read)xYieldPending/22 (write) Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: vTaskPlaceOnEventListRestricted/60 (vTaskPlaceOnEventListRestricted) @05f9a620 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read) Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: prvAddCurrentTaskToDelayedList/94 (250539 (estimated locally),0.70 per call) vTaskPlaceOnUnorderedEventList/59 (vTaskPlaceOnUnorderedEventList) @05f9a2a0 Type: function definition analyzed Visibility: externally_visible public References: uxSchedulerSuspended/28 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read) Referring: Availability: available Function flags: count:228942 (estimated locally) body optimize_size Called by: Calls: prvAddCurrentTaskToDelayedList/94 (52886 (estimated locally),0.23 per call) vTaskPlaceOnEventList/58 (vTaskPlaceOnEventList) @05f8aa80 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read) Referring: Availability: available Function flags: count:230763 (estimated locally) body optimize_size Called by: Calls: prvAddCurrentTaskToDelayedList/94 (123389 (estimated locally),0.53 per call) vListInsert/105 (123389 (estimated locally),0.53 per call) vTaskSwitchContext/57 (vTaskSwitchContext) @05f8ae00 Type: function definition analyzed Visibility: force_output externally_visible public References: uxSchedulerSuspended/28 (read)xYieldPending/22 (write)xYieldPending/22 (write)uxTopReadyPriority/19 (read)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (write)pxReadyTasksLists/8 (read)pxCurrentTCB/7 (write)uxTopReadyPriority/19 (write) Referring: Availability: available Function flags: count:441995 (estimated locally) body optimize_size Called by: vTaskSuspend/39 (104969 (estimated locally),0.07 per call) Calls: vTaskSwitchContext.part.0/146 (107374 (estimated locally),0.24 per call) xTaskIncrementTick/56 (xTaskIncrementTick) @05f8a9a0 Type: function definition analyzed Visibility: externally_visible public References: uxSchedulerSuspended/28 (read)xPendedTicks/21 (read)xPendedTicks/21 (write) Referring: Availability: available Function flags: count:641039 (estimated locally) body optimize_size Called by: xTaskResumeAll.part.0/137 (536870915 (estimated locally),1.14 per call) Calls: xTaskIncrementTick.part.0/135 (320520 (estimated locally),0.50 per call) xTaskAbortDelay/55 (xTaskAbortDelay) @05f8a380 Type: function definition analyzed Visibility: externally_visible public References: uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxCurrentTCB/7 (read)xYieldPending/22 (write) Referring: Availability: available Function flags: count:230763 (estimated locally) body optimize_size Called by: Calls: xTaskResumeAll/46 (123389 (estimated locally),0.53 per call) vPortExitCritical/101 (24974 (estimated locally),0.11 per call) uxListRemove/103 (13354 (estimated locally),0.06 per call) vPortEnterCritical/100 (24974 (estimated locally),0.11 per call) uxListRemove/103 (24974 (estimated locally),0.11 per call) eTaskGetState/35 (123389 (estimated locally),0.53 per call) vTaskSuspendAll/45 (123389 (estimated locally),0.53 per call) xTaskCatchUpTicks/54 (xTaskCatchUpTicks) @05f8a000 Type: function definition analyzed Visibility: externally_visible public References: uxSchedulerSuspended/28 (read)xPendedTicks/21 (read)xPendedTicks/21 (write) Referring: Availability: available Function flags: count:160260 (estimated locally) body optimize_size Called by: Calls: xTaskResumeAll/46 (52886 (estimated locally),0.33 per call) vTaskSuspendAll/45 (52886 (estimated locally),0.33 per call) uxTaskGetSystemState/53 (uxTaskGetSystemState) @05f7f7e0 Type: function definition analyzed Visibility: externally_visible public References: uxCurrentNumberOfTasks/17 (read)pxReadyTasksLists/8 (addr)pxDelayedTaskList/11 (read)pxOverflowDelayedTaskList/12 (read)xTasksWaitingTermination/14 (addr)xSuspendedTaskList/16 (addr) Referring: Availability: available Function flags: count:429496728 (estimated locally) body optimize_size Called by: vTaskList/84 (118111600 (estimated locally),0.53 per call) Calls: xTaskResumeAll/46 (429496729 (estimated locally),1.00 per call) prvListTasksWithinSingleList/73 (214748365 (estimated locally),0.50 per call) prvListTasksWithinSingleList/73 (214748365 (estimated locally),0.50 per call) prvListTasksWithinSingleList/73 (214748365 (estimated locally),0.50 per call) prvListTasksWithinSingleList/73 (214748365 (estimated locally),0.50 per call) prvListTasksWithinSingleList/73 (1073741824 (estimated locally),2.50 per call) vTaskSuspendAll/45 (429496728 (estimated locally),1.00 per call) xTaskGetHandle/52 (xTaskGetHandle) @05f7f2a0 Type: function definition analyzed Visibility: externally_visible public References: pxReadyTasksLists/8 (addr)pxDelayedTaskList/11 (read)pxOverflowDelayedTaskList/12 (read)xSuspendedTaskList/16 (addr)xTasksWaitingTermination/14 (addr) Referring: Availability: available Function flags: count:160260 (estimated locally) body optimize_size Called by: Calls: xTaskResumeAll/46 (52886 (estimated locally),0.33 per call) prvSearchForNameWithinSingleList/51 (9218 (estimated locally),0.06 per call) prvSearchForNameWithinSingleList/51 (9218 (estimated locally),0.06 per call) prvSearchForNameWithinSingleList/51 (9218 (estimated locally),0.06 per call) prvSearchForNameWithinSingleList/51 (9218 (estimated locally),0.06 per call) prvSearchForNameWithinSingleList/51 (216745 (estimated locally),1.35 per call) vTaskSuspendAll/45 (52886 (estimated locally),0.33 per call) strlen/110 (160260 (estimated locally),1.00 per call) prvSearchForNameWithinSingleList/51 (prvSearchForNameWithinSingleList) @05f7fe00 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:25274560 (estimated locally) body local optimize_size Called by: xTaskGetHandle/52 (9218 (estimated locally),0.06 per call) xTaskGetHandle/52 (9218 (estimated locally),0.06 per call) xTaskGetHandle/52 (9218 (estimated locally),0.06 per call) xTaskGetHandle/52 (9218 (estimated locally),0.06 per call) xTaskGetHandle/52 (216745 (estimated locally),1.35 per call) Calls: pcTaskGetName/50 (pcTaskGetName) @05f7fb60 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read) Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: uxTaskGetNumberOfTasks/49 (uxTaskGetNumberOfTasks) @05f7f700 Type: function definition analyzed Visibility: externally_visible public References: uxCurrentNumberOfTasks/17 (read) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: xTaskGetTickCountFromISR/48 (xTaskGetTickCountFromISR) @05f7f460 Type: function definition analyzed Visibility: externally_visible public References: xTickCount/18 (read) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: vPortValidateInterruptPriority/106 (1073741824 (estimated locally),1.00 per call) xTaskGetTickCount/47 (xTaskGetTickCount) @05f7f1c0 Type: function definition analyzed Visibility: externally_visible public References: xTickCount/18 (read) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: xTaskResumeAll/46 (xTaskResumeAll) @05f6ce00 Type: function definition analyzed Visibility: externally_visible public References: uxSchedulerSuspended/28 (read) Referring: Availability: available Function flags: count:160260 (estimated locally) body optimize_size Called by: uxTaskGetSystemState/53 (429496729 (estimated locally),1.00 per call) vTaskGetInfo/72 (121337087 (estimated locally),0.11 per call) xTaskAbortDelay/55 (123389 (estimated locally),0.53 per call) xTaskCatchUpTicks/54 (52886 (estimated locally),0.33 per call) xTaskGetHandle/52 (52886 (estimated locally),0.33 per call) vTaskDelay/34 (52886 (estimated locally),0.17 per call) xTaskDelayUntil/33 (35433 (estimated locally),0.12 per call) Calls: xTaskResumeAll.part.0/137 (52886 (estimated locally),0.33 per call) vTaskSuspendAll/45 (vTaskSuspendAll) @05f6cd20 Type: function definition analyzed Visibility: externally_visible public References: uxSchedulerSuspended/28 (read)uxSchedulerSuspended/28 (write) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: uxTaskGetSystemState/53 (429496728 (estimated locally),1.00 per call) vTaskGetInfo/72 (121337087 (estimated locally),0.11 per call) xTaskAbortDelay/55 (123389 (estimated locally),0.53 per call) xTaskCatchUpTicks/54 (52886 (estimated locally),0.33 per call) xTaskGetHandle/52 (52886 (estimated locally),0.33 per call) vTaskDelay/34 (52886 (estimated locally),0.17 per call) xTaskDelayUntil/33 (35433 (estimated locally),0.12 per call) Calls: vTaskEndScheduler/44 (vTaskEndScheduler) @05f6ca80 Type: function definition analyzed Visibility: externally_visible public References: xSchedulerRunning/20 (write) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: vPortEndScheduler/109 (1073741824 (estimated locally),1.00 per call) vTaskStartScheduler/43 (vTaskStartScheduler) @05f6c7e0 Type: function definition analyzed Visibility: externally_visible public References: prvIdleTask/69 (addr)xIdleTaskHandle/26 (addr)xNextTaskUnblockTime/25 (write)xSchedulerRunning/20 (write)xTickCount/18 (write)uxTopUsedPriority/27 (read) Referring: Availability: available Function flags: count:395945 (estimated locally) body optimize_size Called by: Calls: xPortStartScheduler/108 (80139 (estimated locally),0.20 per call) xTimerCreateTimerTask/107 (80139 (estimated locally),0.20 per call) xTaskCreate/29 (395945 (estimated locally),1.00 per call) xTaskResumeFromISR/42 (xTaskResumeFromISR) @05f6c540 Type: function definition analyzed Visibility: externally_visible public References: uxSchedulerSuspended/28 (read)pxCurrentTCB/7 (read)xYieldPending/22 (write)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)xPendingReadyList/13 (addr) Referring: Availability: available Function flags: count:230763 (estimated locally) body optimize_size Called by: Calls: vListInsertEnd/104 (20359 (estimated locally),0.09 per call) uxListRemove/103 (41335 (estimated locally),0.18 per call) prvTaskIsTaskSuspended/40 (123389 (estimated locally),0.53 per call) vPortValidateInterruptPriority/106 (123389 (estimated locally),0.53 per call) vTaskResume/41 (vTaskResume) @05f6c1c0 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxCurrentTCB/7 (read) Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/101 (133963 (estimated locally),0.37 per call) uxListRemove/103 (44208 (estimated locally),0.12 per call) prvTaskIsTaskSuspended/40 (133963 (estimated locally),0.37 per call) vPortEnterCritical/100 (133963 (estimated locally),0.37 per call) prvTaskIsTaskSuspended/40 (prvTaskIsTaskSuspended) @05f5d9a0 Type: function definition analyzed Visibility: prevailing_def_ironly References: xSuspendedTaskList/16 (addr) Referring: Availability: local Function flags: count:357913 (estimated locally) body local optimize_size Called by: xTaskResumeFromISR/42 (123389 (estimated locally),0.53 per call) vTaskResume/41 (133963 (estimated locally),0.37 per call) Calls: prvTaskIsTaskSuspended.part.0/114 (75162 (estimated locally),0.21 per call) vTaskSuspend/39 (vTaskSuspend) @05f5de00 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read)xSuspendedTaskList/16 (addr)xSchedulerRunning/20 (read)pxCurrentTCB/7 (read)xSchedulerRunning/20 (read)uxSchedulerSuspended/28 (read)xSuspendedTaskList/16 (read)uxCurrentNumberOfTasks/17 (read)pxCurrentTCB/7 (write) Referring: Availability: available Function flags: count:1431653 (estimated locally) body optimize_size Called by: Calls: vTaskSwitchContext/57 (104969 (estimated locally),0.07 per call) vPortExitCritical/101 (472446 (estimated locally),0.33 per call) prvResetNextTaskUnblockTime/77 (472446 (estimated locally),0.33 per call) vPortEnterCritical/100 (472446 (estimated locally),0.33 per call) vPortExitCritical/101 (1431653 (estimated locally),1.00 per call) vListInsertEnd/104 (1431653 (estimated locally),1.00 per call) uxListRemove/103 (765505 (estimated locally),0.53 per call) uxListRemove/103 (1431653 (estimated locally),1.00 per call) vPortEnterCritical/100 (1431653 (estimated locally),1.00 per call) vTaskPrioritySet/38 (vTaskPrioritySet) @05f5d8c0 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxReadyTasksLists/8 (addr)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write) Referring: Availability: available Function flags: count:160260 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/101 (52886 (estimated locally),0.33 per call) uxListRemove/103 (6084 (estimated locally),0.04 per call) vPortEnterCritical/100 (52886 (estimated locally),0.33 per call) uxTaskPriorityGetFromISR/37 (uxTaskPriorityGetFromISR) @05f5d380 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: vPortValidateInterruptPriority/106 (1073741824 (estimated locally),1.00 per call) uxTaskPriorityGet/36 (uxTaskPriorityGet) @05f5d000 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/101 (1073741824 (estimated locally),1.00 per call) vPortEnterCritical/100 (1073741824 (estimated locally),1.00 per call) eTaskGetState/35 (eTaskGetState) @05f482a0 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read)pxDelayedTaskList/11 (read)pxOverflowDelayedTaskList/12 (read)xSuspendedTaskList/16 (addr)xTasksWaitingTermination/14 (addr) Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: vTaskGetInfo/72 (217325345 (estimated locally),0.20 per call) xTaskAbortDelay/55 (123389 (estimated locally),0.53 per call) Calls: eTaskGetState.part.0/122 (11759 (estimated locally),0.03 per call) vPortExitCritical/101 (133963 (estimated locally),0.37 per call) vPortEnterCritical/100 (133963 (estimated locally),0.37 per call) vTaskDelay/34 (vTaskDelay) @05f48c40 Type: function definition analyzed Visibility: externally_visible public References: uxSchedulerSuspended/28 (read) Referring: Availability: available Function flags: count:320519 (estimated locally) body optimize_size Called by: Calls: xTaskResumeAll/46 (52886 (estimated locally),0.17 per call) prvAddCurrentTaskToDelayedList/94 (52886 (estimated locally),0.17 per call) vTaskSuspendAll/45 (52886 (estimated locally),0.17 per call) xTaskDelayUntil/33 (xTaskDelayUntil) @05f487e0 Type: function definition analyzed Visibility: externally_visible public References: uxSchedulerSuspended/28 (read)xTickCount/18 (read) Referring: Availability: available Function flags: count:306783 (estimated locally) body optimize_size Called by: Calls: xTaskResumeAll/46 (35433 (estimated locally),0.12 per call) prvAddCurrentTaskToDelayedList/94 (17717 (estimated locally),0.06 per call) vTaskSuspendAll/45 (35433 (estimated locally),0.12 per call) vTaskDelete/32 (vTaskDelete) @05f481c0 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read)uxTaskNumber/24 (read)uxTaskNumber/24 (write)pxCurrentTCB/7 (read)xTasksWaitingTermination/14 (addr)uxDeletedTasksWaitingCleanUp/15 (read)uxDeletedTasksWaitingCleanUp/15 (write)uxCurrentNumberOfTasks/17 (read)uxCurrentNumberOfTasks/17 (write)xSchedulerRunning/20 (read)pxCurrentTCB/7 (read)uxSchedulerSuspended/28 (read) Referring: Availability: available Function flags: count:1431653 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/101 (1431653 (estimated locally),1.00 per call) prvResetNextTaskUnblockTime/77 (1002157 (estimated locally),0.70 per call) prvDeleteTCB/76 (1002157 (estimated locally),0.70 per call) vListInsertEnd/104 (429496 (estimated locally),0.30 per call) uxListRemove/103 (765505 (estimated locally),0.53 per call) uxListRemove/103 (1431653 (estimated locally),1.00 per call) vPortEnterCritical/100 (1431653 (estimated locally),1.00 per call) prvAddNewTaskToReadyList/31 (prvAddNewTaskToReadyList) @05f36540 Type: function definition analyzed Visibility: prevailing_def_ironly References: uxCurrentNumberOfTasks/17 (read)uxCurrentNumberOfTasks/17 (write)pxCurrentTCB/7 (read)pxCurrentTCB/7 (write)uxCurrentNumberOfTasks/17 (read)xSchedulerRunning/20 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (write)uxTaskNumber/24 (read)uxTaskNumber/24 (write)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)xSchedulerRunning/20 (read)pxCurrentTCB/7 (read) Referring: Availability: local Function flags: count:1073741821 (estimated locally) body local optimize_size Called by: xTaskCreate/29 (306987179 (estimated locally),0.29 per call) Calls: vPortExitCritical/101 (1073741823 (estimated locally),1.00 per call) prvInitialiseTaskLists/70 (65197603 (estimated locally),0.06 per call) vPortEnterCritical/100 (1073741821 (estimated locally),1.00 per call) xTaskCreate/29 (xTaskCreate) @05f36700 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: vTaskStartScheduler/43 (395945 (estimated locally),1.00 per call) Calls: prvAddNewTaskToReadyList/31 (306987179 (estimated locally),0.29 per call) prvInitialiseNewTask.isra.0/118 (306987179 (estimated locally),0.29 per call) vPortFree/96 (100070816 (estimated locally),0.09 per call) pvPortMalloc/95 (574129754 (estimated locally),0.53 per call) pvPortMalloc/95 (1073741824 (estimated locally),1.00 per call) uxSchedulerSuspended/28 (uxSchedulerSuspended) @05f305a0 Type: variable definition analyzed Visibility: force_output prevailing_def_ironly References: Referring: xTaskGetSchedulerState/79 (read)xTaskIncrementTick/56 (read)xTaskResumeAll/46 (read)xTaskCatchUpTicks/54 (read)xTaskGenericNotifyFromISR/90 (read)vTaskRemoveFromUnorderedEventList/62 (read)vTaskDelete/32 (read)vTaskPlaceOnUnorderedEventList/59 (read)xTaskRemoveFromEventList/61 (read)vTaskSuspendAll/45 (read)vTaskSuspendAll/45 (write)xTaskDelayUntil/33 (read)xTaskResumeFromISR/42 (read)vTaskDelay/34 (read)vTaskSwitchContext/57 (read)vTaskSuspend/39 (read)xTaskResumeAll.part.0/137 (read)xTaskResumeAll.part.0/137 (read)xTaskResumeAll.part.0/137 (write)vTaskGenericNotifyGiveFromISR/91 (read) Availability: available Varpool flags: initialized uxTopUsedPriority/27 (uxTopUsedPriority) @05f30510 Type: variable definition analyzed Visibility: force_output externally_visible public References: Referring: vTaskStartScheduler/43 (read) Availability: available Varpool flags: initialized read-only xIdleTaskHandle/26 (xIdleTaskHandle) @05f30480 Type: variable definition analyzed Visibility: prevailing_def_ironly References: Referring: vTaskStartScheduler/43 (addr) Availability: available Varpool flags: initialized xNextTaskUnblockTime/25 (xNextTaskUnblockTime) @05f303f0 Type: variable definition analyzed Visibility: force_output prevailing_def_ironly References: Referring: prvResetNextTaskUnblockTime.part.0/115 (write)prvAddCurrentTaskToDelayedList/94 (write)prvAddCurrentTaskToDelayedList/94 (read)vTaskStartScheduler/43 (write)prvResetNextTaskUnblockTime/77 (write)xTaskIncrementTick.part.0/135 (read)xTaskIncrementTick.part.0/135 (write)xTaskIncrementTick.part.0/135 (write) Availability: available Varpool flags: initialized uxTaskNumber/24 (uxTaskNumber) @05f30360 Type: variable definition analyzed Visibility: prevailing_def_ironly References: Referring: prvAddNewTaskToReadyList/31 (write)prvAddNewTaskToReadyList/31 (read)vTaskDelete/32 (read)vTaskDelete/32 (write) Availability: available Varpool flags: initialized xNumOfOverflows/23 (xNumOfOverflows) @05f30318 Type: variable definition analyzed Visibility: force_output prevailing_def_ironly References: Referring: xTaskIncrementTick.part.0/135 (write)vTaskSetTimeOutState/63 (read)vTaskInternalSetTimeOutState/64 (read)xTaskIncrementTick.part.0/135 (read)xTaskCheckForTimeOut/65 (read) Availability: available Varpool flags: initialized xYieldPending/22 (xYieldPending) @05f302d0 Type: variable definition analyzed Visibility: force_output prevailing_def_ironly References: Referring: vTaskMissedYield/66 (write)xTaskRemoveFromEventList/61 (write)vTaskRemoveFromUnorderedEventList/62 (write)xTaskResumeFromISR/42 (write)xTaskIncrementTick.part.0/135 (read)xTaskGenericNotifyFromISR/90 (write)xTaskResumeAll.part.0/137 (write)xTaskResumeAll.part.0/137 (read)xTaskAbortDelay/55 (write)vTaskSwitchContext/57 (write)xTaskResumeAll.part.0/137 (write)vTaskSwitchContext/57 (write)vTaskGenericNotifyGiveFromISR/91 (write) Availability: available Varpool flags: initialized xPendedTicks/21 (xPendedTicks) @05f30240 Type: variable definition analyzed Visibility: force_output prevailing_def_ironly References: Referring: xTaskResumeAll.part.0/137 (read)xTaskResumeAll.part.0/137 (write)xTaskIncrementTick/56 (read)xTaskIncrementTick/56 (write)xTaskCatchUpTicks/54 (read)xTaskCatchUpTicks/54 (write) Availability: available Varpool flags: initialized xSchedulerRunning/20 (xSchedulerRunning) @05f301b0 Type: variable definition analyzed Visibility: force_output prevailing_def_ironly References: Referring: vTaskDelete/32 (read)vTaskEndScheduler/44 (write)vTaskSuspend/39 (read)prvAddNewTaskToReadyList/31 (read)vTaskStartScheduler/43 (write)prvAddNewTaskToReadyList/31 (read)vTaskSuspend/39 (read)xTaskGetSchedulerState/79 (read) Availability: available Varpool flags: initialized uxTopReadyPriority/19 (uxTopReadyPriority) @05f30120 Type: variable definition analyzed Visibility: force_output prevailing_def_ironly References: Referring: xTaskGenericNotify/89 (read)xTaskGenericNotify/89 (write)xTaskGenericNotifyFromISR/90 (read)xTaskGenericNotifyFromISR/90 (write)prvAddNewTaskToReadyList/31 (read)prvAddNewTaskToReadyList/31 (write)vTaskPrioritySet/38 (read)vTaskPrioritySet/38 (write)xTaskResumeFromISR/42 (read)xTaskResumeFromISR/42 (write)xTaskIncrementTick.part.0/135 (read)xTaskIncrementTick.part.0/135 (write)vTaskResume/41 (read)vTaskResume/41 (write)xTaskResumeAll.part.0/137 (read)xTaskResumeAll.part.0/137 (write)xTaskAbortDelay/55 (read)xTaskAbortDelay/55 (write)vTaskSwitchContext/57 (read)vTaskSwitchContext/57 (write)xTaskRemoveFromEventList/61 (read)xTaskRemoveFromEventList/61 (write)vTaskRemoveFromUnorderedEventList/62 (read)vTaskRemoveFromUnorderedEventList/62 (write)xTaskPriorityInherit/80 (read)xTaskPriorityInherit/80 (write)xTaskPriorityDisinherit/81 (read)xTaskPriorityDisinherit/81 (write)vTaskPriorityDisinheritAfterTimeout/82 (read)vTaskPriorityDisinheritAfterTimeout/82 (write)vTaskGenericNotifyGiveFromISR/91 (read)vTaskGenericNotifyGiveFromISR/91 (write) Availability: available Varpool flags: initialized xTickCount/18 (xTickCount) @05f300d8 Type: variable definition analyzed Visibility: force_output prevailing_def_ironly References: Referring: xTaskGetTickCountFromISR/48 (read)xTaskCheckForTimeOut/65 (read)xTaskGenericNotify/89 (read)prvAddCurrentTaskToDelayedList/94 (read)vTaskStartScheduler/43 (write)vTaskInternalSetTimeOutState/64 (read)xTaskGetTickCount/47 (read)xTaskIncrementTick.part.0/135 (write)xTaskDelayUntil/33 (read)vTaskSetTimeOutState/63 (read)xTaskIncrementTick.part.0/135 (read)xTaskGenericNotifyFromISR/90 (read) Availability: available Varpool flags: initialized uxCurrentNumberOfTasks/17 (uxCurrentNumberOfTasks) @05f30090 Type: variable definition analyzed Visibility: force_output prevailing_def_ironly References: Referring: xTaskResumeAll.part.0/137 (read)prvCheckTasksWaitingTermination/71 (read)vTaskSuspend/39 (read)prvAddNewTaskToReadyList/31 (write)prvAddNewTaskToReadyList/31 (read)uxTaskGetNumberOfTasks/49 (read)vTaskDelete/32 (read)uxTaskGetSystemState/53 (read)vTaskDelete/32 (write)prvCheckTasksWaitingTermination/71 (write)prvAddNewTaskToReadyList/31 (read)vTaskList/84 (read)vTaskList/84 (read) Availability: available Varpool flags: initialized xSuspendedTaskList/16 (xSuspendedTaskList) @05f2cf78 Type: variable definition analyzed Visibility: prevailing_def_ironly References: Referring: vTaskSuspend/39 (read)eTaskGetState/35 (addr)xTaskGetHandle/52 (addr)prvAddCurrentTaskToDelayedList.part.0/119 (write)prvTaskIsTaskSuspended/40 (addr)prvInitialiseTaskLists/70 (addr)prvAddCurrentTaskToDelayedList.part.0/119 (read)prvAddCurrentTaskToDelayedList.part.0/119 (read)prvAddCurrentTaskToDelayedList.part.0/119 (addr)vTaskSuspend/39 (addr)uxTaskGetSystemState/53 (addr) Availability: available Varpool flags: uxDeletedTasksWaitingCleanUp/15 (uxDeletedTasksWaitingCleanUp) @05f2cee8 Type: variable definition analyzed Visibility: force_output prevailing_def_ironly References: Referring: prvCheckTasksWaitingTermination/71 (write)prvCheckTasksWaitingTermination/71 (read)prvCheckTasksWaitingTermination/71 (read)vTaskDelete/32 (read)vTaskDelete/32 (write) Availability: available Varpool flags: initialized xTasksWaitingTermination/14 (xTasksWaitingTermination) @05f2ce58 Type: variable definition analyzed Visibility: prevailing_def_ironly References: Referring: eTaskGetState/35 (addr)prvInitialiseTaskLists/70 (addr)prvCheckTasksWaitingTermination/71 (read)xTaskGetHandle/52 (addr)vTaskDelete/32 (addr)uxTaskGetSystemState/53 (addr) Availability: available Varpool flags: xPendingReadyList/13 (xPendingReadyList) @05f2cdc8 Type: variable definition analyzed Visibility: prevailing_def_ironly References: Referring: xTaskGenericNotifyFromISR/90 (write)xTaskRemoveFromEventList/61 (write)prvTaskIsTaskSuspended.part.0/114 (addr)xTaskRemoveFromEventList/61 (read)prvInitialiseTaskLists/70 (addr)xTaskRemoveFromEventList/61 (read)xTaskRemoveFromEventList/61 (addr)xTaskGenericNotifyFromISR/90 (read)xTaskResumeFromISR/42 (addr)xTaskGenericNotifyFromISR/90 (read)xTaskGenericNotifyFromISR/90 (addr)xTaskResumeAll.part.0/137 (read)xTaskResumeAll.part.0/137 (read)vTaskGenericNotifyGiveFromISR/91 (read)vTaskGenericNotifyGiveFromISR/91 (addr)vTaskGenericNotifyGiveFromISR/91 (read)vTaskGenericNotifyGiveFromISR/91 (write) Availability: available Varpool flags: pxOverflowDelayedTaskList/12 (pxOverflowDelayedTaskList) @05f2cd38 Type: variable definition analyzed Visibility: force_output prevailing_def_ironly References: Referring: prvAddCurrentTaskToDelayedList/94 (read)xTaskGetHandle/52 (read)prvInitialiseTaskLists/70 (write)eTaskGetState/35 (read)xTaskIncrementTick.part.0/135 (write)xTaskIncrementTick.part.0/135 (read)uxTaskGetSystemState/53 (read) Availability: available Varpool flags: pxDelayedTaskList/11 (pxDelayedTaskList) @05f2ccf0 Type: variable definition analyzed Visibility: force_output prevailing_def_ironly References: Referring: xTaskGetHandle/52 (read)prvResetNextTaskUnblockTime.part.0/115 (read)prvAddCurrentTaskToDelayedList/94 (read)prvResetNextTaskUnblockTime/77 (read)prvInitialiseTaskLists/70 (write)eTaskGetState/35 (read)xTaskIncrementTick.part.0/135 (read)xTaskIncrementTick.part.0/135 (read)xTaskIncrementTick.part.0/135 (read)xTaskIncrementTick.part.0/135 (write)xTaskIncrementTick.part.0/135 (read)uxTaskGetSystemState/53 (read) Availability: available Varpool flags: xDelayedTaskList2/10 (xDelayedTaskList2) @05f2cca8 Type: variable definition analyzed Visibility: prevailing_def_ironly References: Referring: prvInitialiseTaskLists/70 (addr)prvInitialiseTaskLists/70 (addr) Availability: available Varpool flags: xDelayedTaskList1/9 (xDelayedTaskList1) @05f2cc18 Type: variable definition analyzed Visibility: prevailing_def_ironly References: Referring: prvInitialiseTaskLists/70 (addr)prvInitialiseTaskLists/70 (addr) Availability: available Varpool flags: pxReadyTasksLists/8 (pxReadyTasksLists) @05f2cb88 Type: variable definition analyzed Visibility: prevailing_def_ironly References: Referring: xTaskGenericNotify/89 (read)xTaskGenericNotify/89 (addr)xTaskGenericNotify/89 (read)xTaskGenericNotifyFromISR/90 (write)xTaskGenericNotify/89 (write)vTaskPriorityDisinheritAfterTimeout/82 (write)xTaskGenericNotifyFromISR/90 (read)xTaskGenericNotifyFromISR/90 (addr)xTaskGenericNotifyFromISR/90 (read)prvAddNewTaskToReadyList/31 (write)prvAddNewTaskToReadyList/31 (read)prvAddNewTaskToReadyList/31 (addr)prvAddNewTaskToReadyList/31 (read)prvIdleTask/69 (read)vTaskPrioritySet/38 (read)vTaskPrioritySet/38 (addr)vTaskPrioritySet/38 (read)vTaskPrioritySet/38 (write)prvInitialiseTaskLists/70 (addr)xTaskResumeFromISR/42 (read)xTaskResumeFromISR/42 (addr)xTaskResumeFromISR/42 (read)xTaskResumeFromISR/42 (write)xTaskIncrementTick.part.0/135 (read)xTaskRemoveFromEventList/61 (write)xTaskIncrementTick.part.0/135 (addr)xTaskIncrementTick.part.0/135 (read)xTaskIncrementTick.part.0/135 (write)xTaskResumeAll.part.0/137 (write)xTaskPriorityInherit/80 (addr)vTaskResume/41 (read)vTaskResume/41 (addr)vTaskResume/41 (read)vTaskResume/41 (write)xTaskResumeAll.part.0/137 (read)xTaskGetHandle/52 (addr)xTaskResumeAll.part.0/137 (read)xTaskResumeAll.part.0/137 (addr)xTaskAbortDelay/55 (read)xTaskAbortDelay/55 (write)vTaskSwitchContext/57 (write)vTaskSwitchContext/57 (addr)vTaskSwitchContext/57 (write)vTaskSwitchContext/57 (read)vTaskPrioritySet/38 (addr)xTaskRemoveFromEventList/61 (read)xTaskRemoveFromEventList/61 (addr)xTaskRemoveFromEventList/61 (read)vTaskRemoveFromUnorderedEventList/62 (write)vTaskRemoveFromUnorderedEventList/62 (read)vTaskRemoveFromUnorderedEventList/62 (addr)vTaskRemoveFromUnorderedEventList/62 (read)uxTaskGetSystemState/53 (addr)vTaskSwitchContext/57 (read)xTaskPriorityInherit/80 (read)xTaskPriorityInherit/80 (addr)xTaskPriorityInherit/80 (read)xTaskPriorityInherit/80 (write)xTaskPriorityDisinherit/81 (read)xTaskPriorityDisinherit/81 (addr)xTaskPriorityDisinherit/81 (read)xTaskPriorityDisinherit/81 (write)vTaskPriorityDisinheritAfterTimeout/82 (read)vTaskPriorityDisinheritAfterTimeout/82 (addr)vTaskPriorityDisinheritAfterTimeout/82 (read)xTaskIncrementTick.part.0/135 (read)xTaskAbortDelay/55 (read)xTaskAbortDelay/55 (addr)vTaskSwitchContext/57 (read)vTaskPriorityDisinheritAfterTimeout/82 (addr)vTaskGenericNotifyGiveFromISR/91 (read)vTaskGenericNotifyGiveFromISR/91 (addr)vTaskGenericNotifyGiveFromISR/91 (read)vTaskGenericNotifyGiveFromISR/91 (write) Availability: available Varpool flags: pxCurrentTCB/7 (pxCurrentTCB) @05f2cb40 Type: variable definition analyzed Visibility: force_output externally_visible public References: Referring: ulTaskGenericNotifyTake/87 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotify/89 (read)xTaskGenericNotifyFromISR/90 (read)vTaskGenericNotifyGiveFromISR/91 (read)prvAddNewTaskToReadyList/31 (read)prvAddNewTaskToReadyList/31 (write)prvAddNewTaskToReadyList/31 (read)xTaskPriorityInherit/80 (read)xTaskPriorityInherit/80 (read)pvTaskIncrementMutexHeldCount/86 (read)pvTaskIncrementMutexHeldCount/86 (read)pvTaskIncrementMutexHeldCount/86 (read)ulTaskGenericNotifyTake/87 (read)ulTaskGenericNotifyTake/87 (read)ulTaskGenericNotifyTake/87 (read)ulTaskGenericNotifyTake/87 (read)xTaskGenericNotifyStateClear/92 (read)prvAddCurrentTaskToDelayedList/94 (read)vTaskDelete/32 (read)eTaskGetState/35 (read)prvAddNewTaskToReadyList/31 (write)prvAddCurrentTaskToDelayedList/94 (read)prvAddCurrentTaskToDelayedList/94 (read)uxTaskPriorityGet/36 (read)vTaskDelete/32 (read)vTaskResume/41 (read)xTaskAbortDelay/55 (read)vTaskDelete/32 (read)uxTaskPriorityGetFromISR/37 (read)vTaskPrioritySet/38 (read)pcTaskGetName/50 (read)vTaskResume/41 (read)xTaskIncrementTick.part.0/135 (read)vTaskPrioritySet/38 (read)xTaskResumeFromISR/42 (read)xTaskResumeAll.part.0/137 (read)vTaskSwitchContext/57 (write)ulTaskGenericNotifyTake/87 (read)prvAddNewTaskToReadyList/31 (read)prvAddCurrentTaskToDelayedList/94 (read)vTaskPrioritySet/38 (read)xTaskIncrementTick.part.0/135 (read)vTaskSuspend/39 (write)prvAddCurrentTaskToDelayedList/94 (read)vTaskPrioritySet/38 (read)vTaskSuspend/39 (read)vTaskSuspend/39 (read)vTaskPlaceOnEventList/58 (read)vTaskPlaceOnUnorderedEventList/59 (read)vTaskPlaceOnEventListRestricted/60 (read)vTaskPlaceOnUnorderedEventList/59 (read)xTaskRemoveFromEventList/61 (read)vTaskPlaceOnEventListRestricted/60 (read)vTaskRemoveFromUnorderedEventList/62 (read)xTaskCheckForTimeOut/65 (read)vTaskGetInfo/72 (read)vTaskPlaceOnUnorderedEventList/59 (read)vTaskPlaceOnUnorderedEventList/59 (read)vTaskPlaceOnUnorderedEventList/59 (read)xTaskCheckForTimeOut/65 (read)uxTaskGetStackHighWaterMark/75 (read)xTaskGetCurrentTaskHandle/78 (read)xTaskPriorityInherit/80 (read)vTaskPlaceOnEventListRestricted/60 (read)vTaskGetInfo/72 (read)xTaskPriorityDisinherit/81 (read)xTaskPriorityInherit/80 (read)xTaskPriorityInherit/80 (read)vTaskPriorityDisinheritAfterTimeout/82 (read)prvAddCurrentTaskToDelayedList.part.0/119 (read)vTaskPlaceOnEventListRestricted/60 (read)vTaskPlaceOnEventListRestricted/60 (read)uxTaskResetEventItemValue/85 (read)uxTaskResetEventItemValue/85 (read)uxTaskResetEventItemValue/85 (read)prvAddCurrentTaskToDelayedList.part.0/119 (read)vTaskPlaceOnUnorderedEventList/59 (read)prvAddCurrentTaskToDelayedList.part.0/119 (read)prvAddCurrentTaskToDelayedList.part.0/119 (read)prvAddCurrentTaskToDelayedList.part.0/119 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotifyWait/88 (read)ulTaskGenericNotifyValueClear/93 (read) Availability: available Varpool flags: initialized prvListTasksWithinSingleList.part.0 (struct TaskStatus_t * pxTaskStatusArray, struct List_t * pxList, eTaskState eState) { struct TCB_t * pxNextTCB; struct TCB_t * pxFirstTCB; UBaseType_t uxTask; struct List_t * const pxConstList; struct List_t * const pxConstList; struct ListItem_t * _2; struct xLIST_ITEM * _3; struct MiniListItem_t * _4; struct xLIST_ITEM * _5; struct ListItem_t * _6; struct ListItem_t * _8; struct xLIST_ITEM * _9; struct xLIST_ITEM * _10; struct ListItem_t * _11; long unsigned int _14; struct TaskStatus_t * _16; [local count: 118111600]: [local count: 118111600]: # DEBUG BEGIN_STMT # DEBUG pxConstList => pxList_1(D) # DEBUG BEGIN_STMT _2 = pxList_1(D)->pxIndex; _3 = _2->pxNext; pxList_1(D)->pxIndex = _3; # DEBUG BEGIN_STMT _4 = &pxList_1(D)->xListEnd; if (_3 == _4) goto ; [30.00%] else goto ; [70.00%] [local count: 35433480]: # DEBUG BEGIN_STMT _5 = MEM[(struct ListItem_t *)_3].pxNext; pxList_1(D)->pxIndex = _5; [local count: 118111600]: # DEBUG BEGIN_STMT _6 = pxList_1(D)->pxIndex; pxFirstTCB_7 = _6->pvOwner; # DEBUG pxFirstTCB => pxFirstTCB_7 [local count: 1073741824]: # uxTask_13 = PHI <0(4), uxTask_18(8)> # DEBUG uxTask => uxTask_13 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxConstList => pxList_1(D) # DEBUG BEGIN_STMT _8 = pxList_1(D)->pxIndex; _9 = _8->pxNext; pxList_1(D)->pxIndex = _9; # DEBUG BEGIN_STMT if (_4 == _9) goto ; [30.00%] else goto ; [70.00%] [local count: 322122547]: # DEBUG BEGIN_STMT _10 = MEM[(struct ListItem_t *)_9].pxNext; pxList_1(D)->pxIndex = _10; [local count: 1073741824]: # DEBUG BEGIN_STMT _11 = pxList_1(D)->pxIndex; pxNextTCB_12 = _11->pvOwner; # DEBUG pxNextTCB => pxNextTCB_12 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _14 = uxTask_13 * 36; _16 = pxTaskStatusArray_15(D) + _14; vTaskGetInfo (pxNextTCB_12, _16, 1, eState_17(D)); # DEBUG BEGIN_STMT uxTask_18 = uxTask_13 + 1; # DEBUG uxTask => uxTask_18 # DEBUG BEGIN_STMT if (pxFirstTCB_7 != pxNextTCB_12) goto ; [89.00%] else goto ; [11.00%] [local count: 955630223]: goto ; [100.00%] [local count: 118111601]: # uxTask_19 = PHI # DEBUG uxTask => uxTask_19 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return uxTask_19; } __attribute__((used)) vTaskSwitchContext.part.0 () { UBaseType_t uxTopPriority; struct List_t * const pxConstList; uint32_t ulNewBASEPRI; [local count: 107374]: [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_1 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_1 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] } xTaskResumeAll.part.0 () { struct TCB_t * pxTCB; BaseType_t xAlreadyYielded; struct List_t * const pxList; struct List_t * const pxList; struct ListItem_t * const pxIndex; TickType_t xPendedCounts; uint32_t ulNewBASEPRI; long unsigned int uxSchedulerSuspended.63_1; long unsigned int _2; long unsigned int uxSchedulerSuspended.64_3; long unsigned int uxCurrentNumberOfTasks.65_4; struct xLIST_ITEM * _5; struct xLIST_ITEM * _8; struct xLIST_ITEM * _9; struct xLIST_ITEM * _10; struct ListItem_t * _11; struct ListItem_t * _12; long unsigned int _13; long unsigned int _14; struct xLIST_ITEM * _16; struct xLIST_ITEM * _17; struct ListItem_t * _18; struct ListItem_t * _19; long unsigned int _20; long unsigned int _21; long unsigned int _22; long unsigned int uxTopReadyPriority.66_23; struct xLIST_ITEM * _25; struct xLIST_ITEM * _26; struct List_t * _27; long unsigned int _28; long unsigned int _29; struct TCB_t * pxCurrentTCB.67_30; long unsigned int _31; long unsigned int _32; long int _35; long int xYieldPending.68_38; [local count: 472446400]: [local count: 472446400]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT uxSchedulerSuspended.63_1 ={v} uxSchedulerSuspended; _2 = uxSchedulerSuspended.63_1 + 4294967295; uxSchedulerSuspended ={v} _2; # DEBUG BEGIN_STMT uxSchedulerSuspended.64_3 ={v} uxSchedulerSuspended; if (uxSchedulerSuspended.64_3 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 236223200]: # DEBUG BEGIN_STMT uxCurrentNumberOfTasks.65_4 ={v} uxCurrentNumberOfTasks; if (uxCurrentNumberOfTasks.65_4 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 118111600]: goto ; [100.00%] [local count: 955630223]: # DEBUG BEGIN_STMT _5 = xPendingReadyList.xListEnd.pxNext; pxTCB_6 = _5->pvOwner; # DEBUG pxTCB => pxTCB_6 # DEBUG BEGIN_STMT pxList_7 = pxTCB_6->xEventListItem.pvContainer; # DEBUG pxList => pxList_7 # DEBUG BEGIN_STMT _8 = pxTCB_6->xEventListItem.pxNext; _9 = pxTCB_6->xEventListItem.pxPrevious; _8->pxPrevious = _9; # DEBUG BEGIN_STMT _10 = pxTCB_6->xEventListItem.pxPrevious; _10->pxNext = _8; # DEBUG BEGIN_STMT _11 = pxList_7->pxIndex; _12 = &pxTCB_6->xEventListItem; if (_11 == _12) goto ; [30.00%] else goto ; [70.00%] [local count: 286689066]: # DEBUG BEGIN_STMT pxList_7->pxIndex = _9; [local count: 955630223]: # DEBUG BEGIN_STMT pxTCB_6->xEventListItem.pvContainer = 0B; # DEBUG BEGIN_STMT _13 ={v} pxList_7->uxNumberOfItems; _14 = _13 + 4294967295; pxList_7->uxNumberOfItems ={v} _14; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__("" : : : "memory"); # DEBUG BEGIN_STMT pxList_15 = pxTCB_6->xStateListItem.pvContainer; # DEBUG pxList => pxList_15 # DEBUG BEGIN_STMT _16 = pxTCB_6->xStateListItem.pxNext; _17 = pxTCB_6->xStateListItem.pxPrevious; _16->pxPrevious = _17; # DEBUG BEGIN_STMT _17->pxNext = _16; # DEBUG BEGIN_STMT _18 = pxList_15->pxIndex; _19 = &pxTCB_6->xStateListItem; if (_18 == _19) goto ; [30.00%] else goto ; [70.00%] [local count: 286689066]: # DEBUG BEGIN_STMT pxList_15->pxIndex = _17; [local count: 955630223]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _20 ={v} pxList_15->uxNumberOfItems; _21 = _20 + 4294967295; pxList_15->uxNumberOfItems ={v} _21; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _22 = pxTCB_6->uxPriority; uxTopReadyPriority.66_23 ={v} uxTopReadyPriority; if (_22 > uxTopReadyPriority.66_23) goto ; [50.00%] else goto ; [50.00%] [local count: 477815111]: # DEBUG BEGIN_STMT uxTopReadyPriority ={v} _22; [local count: 955630223]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxIndex_24 = pxReadyTasksLists[_22].pxIndex; # DEBUG pxIndex => pxIndex_24 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxTCB_6->xStateListItem.pxNext = pxIndex_24; # DEBUG BEGIN_STMT _25 = pxIndex_24->pxPrevious; pxTCB_6->xStateListItem.pxPrevious = _25; # DEBUG BEGIN_STMT _26 = pxIndex_24->pxPrevious; _26->pxNext = _19; # DEBUG BEGIN_STMT pxIndex_24->pxPrevious = _19; # DEBUG BEGIN_STMT _27 = &pxReadyTasksLists[_22]; pxTCB_6->xStateListItem.pvContainer = _27; # DEBUG BEGIN_STMT _28 ={v} pxReadyTasksLists[_22].uxNumberOfItems; _29 = _28 + 1; pxReadyTasksLists[_22].uxNumberOfItems ={v} _29; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxCurrentTCB.67_30 ={v} pxCurrentTCB; _31 = pxCurrentTCB.67_30->uxPriority; if (_22 >= _31) goto ; [50.00%] else goto ; [50.00%] [local count: 477815111]: # DEBUG BEGIN_STMT xYieldPending ={v} 1; [local count: 955630223]: # pxTCB_40 = PHI [local count: 1073741824]: # pxTCB_41 = PHI <0B(4), pxTCB_40(13)> # DEBUG pxTCB => pxTCB_41 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _32 ={v} xPendingReadyList.uxNumberOfItems; if (_32 != 0) goto ; [89.00%] else goto ; [11.00%] [local count: 118111601]: # pxTCB_33 = PHI # DEBUG BEGIN_STMT if (pxTCB_33 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 63154273]: # DEBUG BEGIN_STMT prvResetNextTaskUnblockTime (); [local count: 118111601]: # DEBUG BEGIN_STMT xPendedCounts_34 ={v} xPendedTicks; # DEBUG xPendedCounts => xPendedCounts_34 # DEBUG BEGIN_STMT if (xPendedCounts_34 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 59055800]: [local count: 536870915]: # xPendedCounts_36 = PHI # DEBUG xPendedCounts => xPendedCounts_36 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _35 = xTaskIncrementTick (); if (_35 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 268435457]: # DEBUG BEGIN_STMT xYieldPending ={v} 1; [local count: 536870915]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xPendedCounts_37 = xPendedCounts_36 + 4294967295; # DEBUG xPendedCounts => xPendedCounts_37 # DEBUG BEGIN_STMT if (xPendedCounts_37 != 0) goto ; [89.00%] else goto ; [11.00%] [local count: 477815113]: goto ; [100.00%] [local count: 59055801]: # DEBUG BEGIN_STMT xPendedTicks ={v} 0; [local count: 118111601]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xYieldPending.68_38 ={v} xYieldPending; if (xYieldPending.68_38 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 59055800]: # DEBUG BEGIN_STMT # DEBUG xAlreadyYielded => 1 # DEBUG BEGIN_STMT MEM[(volatile uint32_t *)3758157060B] ={v} 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT [local count: 472446401]: # xAlreadyYielded_39 = PHI <0(2), 0(3), 0(24), 1(25)> # DEBUG xAlreadyYielded => xAlreadyYielded_39 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT return xAlreadyYielded_39; } xTaskIncrementTick.part.0 () { struct TCB_t * pxTCB; TickType_t xItemValue; BaseType_t xSwitchRequired; const TickType_t xConstTickCount; struct List_t * pxTemp; struct List_t * const pxList; struct List_t * const pxList; struct ListItem_t * const pxIndex; uint32_t ulNewBASEPRI; long unsigned int xTickCount.80_1; struct List_t * pxDelayedTaskList.81_3; long unsigned int _4; struct List_t * pxOverflowDelayedTaskList.82_7; long int xNumOfOverflows.83_8; long int _9; long unsigned int xNextTaskUnblockTime.84_10; struct List_t * pxDelayedTaskList.85_11; long unsigned int _12; struct List_t * pxDelayedTaskList.86_13; struct xLIST_ITEM * _14; struct xLIST_ITEM * _19; struct xLIST_ITEM * _20; struct ListItem_t * _21; struct ListItem_t * _22; long unsigned int _23; long unsigned int _24; struct xLIST * _25; struct xLIST_ITEM * _26; struct xLIST_ITEM * _27; struct xLIST_ITEM * _28; struct ListItem_t * _29; struct ListItem_t * _30; long unsigned int _31; long unsigned int _32; long unsigned int _33; long unsigned int uxTopReadyPriority.87_34; struct xLIST_ITEM * _36; struct xLIST_ITEM * _37; struct List_t * _38; long unsigned int _39; long unsigned int _40; struct TCB_t * pxCurrentTCB.88_41; long unsigned int _42; struct TCB_t * pxCurrentTCB.89_43; long unsigned int _44; long unsigned int _45; long int xYieldPending.90_46; [local count: 320519]: [local count: 320519]: # DEBUG BEGIN_STMT xTickCount.80_1 ={v} xTickCount; xConstTickCount_2 = xTickCount.80_1 + 1; # DEBUG xConstTickCount => xConstTickCount_2 # DEBUG BEGIN_STMT xTickCount ={v} xConstTickCount_2; # DEBUG BEGIN_STMT if (xConstTickCount_2 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 160260]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxDelayedTaskList.81_3 ={v} pxDelayedTaskList; _4 ={v} pxDelayedTaskList.81_3->uxNumberOfItems; if (_4 != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_5 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_5 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 52886]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxTemp_6 ={v} pxDelayedTaskList; # DEBUG pxTemp => pxTemp_6 # DEBUG BEGIN_STMT pxOverflowDelayedTaskList.82_7 ={v} pxOverflowDelayedTaskList; pxDelayedTaskList ={v} pxOverflowDelayedTaskList.82_7; # DEBUG BEGIN_STMT pxOverflowDelayedTaskList ={v} pxTemp_6; # DEBUG BEGIN_STMT xNumOfOverflows.83_8 ={v} xNumOfOverflows; _9 = xNumOfOverflows.83_8 + 1; xNumOfOverflows ={v} _9; # DEBUG BEGIN_STMT prvResetNextTaskUnblockTime (); # DEBUG BEGIN_STMT [local count: 213145]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xNextTaskUnblockTime.84_10 ={v} xNextTaskUnblockTime; if (xConstTickCount_2 >= xNextTaskUnblockTime.84_10) goto ; [50.00%] else goto ; [50.00%] [local count: 106573]: goto ; [100.00%] [local count: 889667]: # xSwitchRequired_48 = PHI [local count: 996239]: # xSwitchRequired_49 = PHI <0(9), xSwitchRequired_48(10)> # DEBUG xSwitchRequired => xSwitchRequired_49 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxDelayedTaskList.85_11 ={v} pxDelayedTaskList; _12 ={v} pxDelayedTaskList.85_11->uxNumberOfItems; if (_12 == 0) goto ; [5.50%] else goto ; [94.50%] [local count: 54793]: # xSwitchRequired_50 = PHI # DEBUG BEGIN_STMT xNextTaskUnblockTime ={v} 4294967295; # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 941446]: # DEBUG BEGIN_STMT pxDelayedTaskList.86_13 ={v} pxDelayedTaskList; _14 = pxDelayedTaskList.86_13->xListEnd.pxNext; pxTCB_15 = _14->pvOwner; # DEBUG pxTCB => pxTCB_15 # DEBUG BEGIN_STMT xItemValue_16 = pxTCB_15->xStateListItem.xItemValue; # DEBUG xItemValue => xItemValue_16 # DEBUG BEGIN_STMT if (xConstTickCount_2 < xItemValue_16) goto ; [5.50%] else goto ; [94.50%] [local count: 51780]: # xSwitchRequired_51 = PHI # xItemValue_17 = PHI # DEBUG BEGIN_STMT xNextTaskUnblockTime ={v} xItemValue_17; # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 889667]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxList_18 = pxTCB_15->xStateListItem.pvContainer; # DEBUG pxList => pxList_18 # DEBUG BEGIN_STMT _19 = pxTCB_15->xStateListItem.pxNext; _20 = pxTCB_15->xStateListItem.pxPrevious; _19->pxPrevious = _20; # DEBUG BEGIN_STMT _20->pxNext = _19; # DEBUG BEGIN_STMT _21 = pxList_18->pxIndex; _22 = &pxTCB_15->xStateListItem; if (_21 == _22) goto ; [30.00%] else goto ; [70.00%] [local count: 266900]: # DEBUG BEGIN_STMT pxList_18->pxIndex = _20; [local count: 889667]: # DEBUG BEGIN_STMT pxTCB_15->xStateListItem.pvContainer = 0B; # DEBUG BEGIN_STMT _23 ={v} pxList_18->uxNumberOfItems; _24 = _23 + 4294967295; pxList_18->uxNumberOfItems ={v} _24; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _25 = pxTCB_15->xEventListItem.pvContainer; if (_25 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 622767]: # DEBUG BEGIN_STMT # DEBUG pxList => _25 # DEBUG BEGIN_STMT _26 = pxTCB_15->xEventListItem.pxNext; _27 = pxTCB_15->xEventListItem.pxPrevious; _26->pxPrevious = _27; # DEBUG BEGIN_STMT _28 = pxTCB_15->xEventListItem.pxPrevious; _28->pxNext = _26; # DEBUG BEGIN_STMT _29 = MEM[(struct List_t *)_25].pxIndex; _30 = &pxTCB_15->xEventListItem; if (_29 == _30) goto ; [30.00%] else goto ; [70.00%] [local count: 186830]: # DEBUG BEGIN_STMT MEM[(struct List_t *)_25].pxIndex = _28; [local count: 622767]: # DEBUG BEGIN_STMT pxTCB_15->xEventListItem.pvContainer = 0B; # DEBUG BEGIN_STMT _31 ={v} MEM[(struct List_t *)_25].uxNumberOfItems; _32 = _31 + 4294967295; MEM[(struct List_t *)_25].uxNumberOfItems ={v} _32; # DEBUG BEGIN_STMT [local count: 889667]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _33 = pxTCB_15->uxPriority; uxTopReadyPriority.87_34 ={v} uxTopReadyPriority; if (_33 > uxTopReadyPriority.87_34) goto ; [50.00%] else goto ; [50.00%] [local count: 444833]: # DEBUG BEGIN_STMT uxTopReadyPriority ={v} _33; [local count: 889667]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxIndex_35 = pxReadyTasksLists[_33].pxIndex; # DEBUG pxIndex => pxIndex_35 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxTCB_15->xStateListItem.pxNext = pxIndex_35; # DEBUG BEGIN_STMT _36 = pxIndex_35->pxPrevious; pxTCB_15->xStateListItem.pxPrevious = _36; # DEBUG BEGIN_STMT _37 = pxIndex_35->pxPrevious; _37->pxNext = _22; # DEBUG BEGIN_STMT pxIndex_35->pxPrevious = _22; # DEBUG BEGIN_STMT _38 = &pxReadyTasksLists[_33]; pxTCB_15->xStateListItem.pvContainer = _38; # DEBUG BEGIN_STMT _39 ={v} pxReadyTasksLists[_33].uxNumberOfItems; _40 = _39 + 1; pxReadyTasksLists[_33].uxNumberOfItems ={v} _40; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxCurrentTCB.88_41 ={v} pxCurrentTCB; _42 = pxCurrentTCB.88_41->uxPriority; if (_33 >= _42) goto ; [50.00%] else goto ; [50.00%] [local count: 444833]: # DEBUG BEGIN_STMT # DEBUG xSwitchRequired => 1 goto ; [100.00%] [local count: 213145]: # xSwitchRequired_52 = PHI <0(8), xSwitchRequired_50(12), xSwitchRequired_51(14)> # DEBUG xSwitchRequired => xSwitchRequired_52 # DEBUG BEGIN_STMT pxCurrentTCB.89_43 ={v} pxCurrentTCB; _44 = pxCurrentTCB.89_43->uxPriority; _45 ={v} pxReadyTasksLists[_44].uxNumberOfItems; if (_45 > 1) goto ; [59.00%] else goto ; [41.00%] [local count: 125756]: # DEBUG BEGIN_STMT # DEBUG xSwitchRequired => 1 [local count: 213145]: # xSwitchRequired_53 = PHI # DEBUG xSwitchRequired => xSwitchRequired_53 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xYieldPending.90_46 ={v} xYieldPending; if (xYieldPending.90_46 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 106573]: # DEBUG BEGIN_STMT # DEBUG xSwitchRequired => 1 [local count: 213145]: # xSwitchRequired_47 = PHI # DEBUG xSwitchRequired => xSwitchRequired_47 # DEBUG BEGIN_STMT return xSwitchRequired_47; } eTaskGetState.part.0 (struct tskTaskControlBlock * xTask) { eTaskState eReturn; const struct List_t * pxStateList; const struct List_t * pxDelayedList; const struct List_t * pxOverflowedDelayedList; const struct TCB_t * const pxTCB; BaseType_t x; uint32_t ulNewBASEPRI; unsigned char _2; [local count: 566398813]: goto ; [100.00%] [local count: 536870913]: # DEBUG BEGIN_STMT _2 ={v} MEM[(const struct TCB_t *)xTask_1(D)].ucNotifyState[0]; if (_2 == 1) goto ; [5.50%] else goto ; [94.50%] [local count: 507343012]: [local count: 1073741824]: # x_3 = PHI <1(3), 0(6)> # DEBUG eReturn => NULL # DEBUG x => x_3 # DEBUG BEGIN_STMT if (x_3 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 566398813]: # eReturn_4 = PHI <2(2), 3(4)> # DEBUG eReturn => eReturn_4 # DEBUG BEGIN_STMT return eReturn_4; } prvAddCurrentTaskToDelayedList.part.0 () { TickType_t xTimeToWake; const TickType_t xConstTickCount; struct ListItem_t * const pxIndex; TickType_t xTicksToWait; const BaseType_t xCanBlockIndefinitely; struct TCB_t * pxCurrentTCB.25_2; struct TCB_t * pxCurrentTCB.26_3; struct xLIST_ITEM * _4; struct TCB_t * pxCurrentTCB.27_5; struct xLIST_ITEM * _6; struct ListItem_t * _7; struct TCB_t * pxCurrentTCB.28_8; struct ListItem_t * _9; struct TCB_t * pxCurrentTCB.29_10; long unsigned int _11; long unsigned int _12; [local count: 1073741824]: # DEBUG D#5 s=> xTicksToWait # DEBUG xTicksToWait => D#5 # DEBUG D#4 s=> xCanBlockIndefinitely # DEBUG xCanBlockIndefinitely => D#4 [local count: 1073741824]: # DEBUG BEGIN_STMT pxIndex_1 = xSuspendedTaskList.pxIndex; # DEBUG pxIndex => pxIndex_1 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxCurrentTCB.25_2 ={v} pxCurrentTCB; pxCurrentTCB.25_2->xStateListItem.pxNext = pxIndex_1; # DEBUG BEGIN_STMT pxCurrentTCB.26_3 ={v} pxCurrentTCB; _4 = pxIndex_1->pxPrevious; pxCurrentTCB.26_3->xStateListItem.pxPrevious = _4; # DEBUG BEGIN_STMT pxCurrentTCB.27_5 ={v} pxCurrentTCB; _6 = pxIndex_1->pxPrevious; _7 = &pxCurrentTCB.27_5->xStateListItem; _6->pxNext = _7; # DEBUG BEGIN_STMT pxCurrentTCB.28_8 ={v} pxCurrentTCB; _9 = &pxCurrentTCB.28_8->xStateListItem; pxIndex_1->pxPrevious = _9; # DEBUG BEGIN_STMT pxCurrentTCB.29_10 ={v} pxCurrentTCB; pxCurrentTCB.29_10->xStateListItem.pvContainer = &xSuspendedTaskList; # DEBUG BEGIN_STMT _11 ={v} xSuspendedTaskList.uxNumberOfItems; _12 = _11 + 1; xSuspendedTaskList.uxNumberOfItems ={v} _12; # DEBUG BEGIN_STMT [local count: 1073741824]: # DEBUG BEGIN_STMT return; } prvInitialiseNewTask.isra.0 (void (*TaskFunction_t) (void *) pxTaskCode, const char * const pcName, const uint32_t ulStackDepth, void * const pvParameters, UBaseType_t uxPriority, struct tskTaskControlBlock * * const pxCreatedTask, struct TCB_t * pxNewTCB) { StackType_t * pxTopOfStack; UBaseType_t x; uint32_t ulNewBASEPRI; StackType_t * _2; unsigned int _4; StackType_t * _5; sizetype _6; sizetype _7; long unsigned int pxTopOfStack.0_9; long unsigned int _10; const char * _14; char _15; char _16; struct ListItem_t * _20; struct ListItem_t * _21; long unsigned int _22; volatile uint32_t * _23; volatile uint8_t * _24; StackType_t * _27; [local count: 160260]: # DEBUG xRegions s=> xRegions [local count: 160260]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = pxNewTCB_1(D)->pxStack; _4 = ulStackDepth_3(D) * 4; memset (_2, 165, _4); # DEBUG BEGIN_STMT _5 = pxNewTCB_1(D)->pxStack; _6 = ulStackDepth_3(D) + 1073741823; _7 = _6 * 4; pxTopOfStack_8 = _5 + _7; # DEBUG pxTopOfStack => pxTopOfStack_8 # DEBUG BEGIN_STMT pxTopOfStack.0_9 = (long unsigned int) pxTopOfStack_8; _10 = pxTopOfStack.0_9 & 4294967288; pxTopOfStack_11 = (StackType_t *) _10; # DEBUG pxTopOfStack => pxTopOfStack_11 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (pcName_12(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 112182]: goto ; [100.00%] [local count: 723805]: # DEBUG BEGIN_STMT _14 = pcName_12(D) + x_13; _15 = *_14; pxNewTCB_1(D)->pcTaskName[x_13] = _15; # DEBUG BEGIN_STMT _16 = *_14; if (_16 == 0) goto ; [5.50%] else goto ; [94.50%] [local count: 683996]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT x_17 = x_13 + 1; # DEBUG x => x_17 [local count: 796177]: # x_13 = PHI <0(3), x_17(5)> # DEBUG x => x_13 # DEBUG BEGIN_STMT if (x_13 != 10) goto ; [90.91%] else goto ; [9.09%] [local count: 112182]: # DEBUG BEGIN_STMT pxNewTCB_1(D)->pcTaskName[9] = 0; goto ; [100.00%] [local count: 48078]: # DEBUG BEGIN_STMT pxNewTCB_1(D)->pcTaskName[0] = 0; [local count: 160260]: # DEBUG BEGIN_STMT if (uxPriority_18(D) > 4) goto ; [67.00%] else goto ; [33.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_19 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_19 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 52886]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG uxPriority => uxPriority_18(D) # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxNewTCB_1(D)->uxPriority = uxPriority_18(D); # DEBUG BEGIN_STMT pxNewTCB_1(D)->uxBasePriority = uxPriority_18(D); # DEBUG BEGIN_STMT pxNewTCB_1(D)->uxMutexesHeld = 0; # DEBUG BEGIN_STMT _20 = &pxNewTCB_1(D)->xStateListItem; vListInitialiseItem (_20); # DEBUG BEGIN_STMT _21 = &pxNewTCB_1(D)->xEventListItem; vListInitialiseItem (_21); # DEBUG BEGIN_STMT pxNewTCB_1(D)->xStateListItem.pvOwner = pxNewTCB_1(D); # DEBUG BEGIN_STMT _22 = 5 - uxPriority_18(D); pxNewTCB_1(D)->xEventListItem.xItemValue = _22; # DEBUG BEGIN_STMT pxNewTCB_1(D)->xEventListItem.pvOwner = pxNewTCB_1(D); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _23 = &pxNewTCB_1(D)->ulNotifiedValue[0]; memset (_23, 0, 4); # DEBUG BEGIN_STMT _24 = &pxNewTCB_1(D)->ucNotifyState[0]; memset (_24, 0, 1); # DEBUG BEGIN_STMT pxNewTCB_1(D)->ucDelayAborted = 0; # DEBUG BEGIN_STMT _27 = pxPortInitialiseStack (pxTopOfStack_11, pxTaskCode_25(D), pvParameters_26(D)); pxNewTCB_1(D)->pxTopOfStack = _27; # DEBUG BEGIN_STMT if (pxCreatedTask_28(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 37020]: # DEBUG BEGIN_STMT *pxCreatedTask_28(D) = pxNewTCB_1(D); [local count: 52886]: # DEBUG BEGIN_STMT return; } prvResetNextTaskUnblockTime.part.0 () { struct List_t * pxDelayedTaskList.21_1; struct xLIST_ITEM * _2; long unsigned int _3; [local count: 1073741824]: [local count: 1073741824]: # DEBUG BEGIN_STMT pxDelayedTaskList.21_1 ={v} pxDelayedTaskList; _2 = pxDelayedTaskList.21_1->xListEnd.pxNext; _3 = _2->xItemValue; xNextTaskUnblockTime ={v} _3; [local count: 1073741824]: return; } prvTaskIsTaskSuspended.part.0 (struct tskTaskControlBlock * const xTask) { BaseType_t xReturn; const struct TCB_t * const pxTCB; uint32_t ulNewBASEPRI; struct xLIST * _2; [local count: 1073741824]: [local count: 1073741824]: # DEBUG BEGIN_STMT _2 = MEM[(const struct TCB_t *)xTask_1(D)].xEventListItem.pvContainer; if (_2 != &xPendingReadyList) goto ; [70.00%] else goto ; [30.00%] [local count: 751619278]: # DEBUG BEGIN_STMT if (_2 == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 225485783]: # DEBUG BEGIN_STMT # DEBUG xReturn => 1 [local count: 1073741824]: # xReturn_3 = PHI <0(2), 0(3), 1(4)> # DEBUG xReturn => xReturn_3 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xReturn_3; } prvAddCurrentTaskToDelayedList (TickType_t xTicksToWait, const BaseType_t xCanBlockIndefinitely) { const TickType_t xConstTickCount; TickType_t xTimeToWake; struct TCB_t * pxCurrentTCB.23_1; struct TCB_t * pxCurrentTCB.24_2; struct ListItem_t * _3; struct TCB_t * pxCurrentTCB.30_5; struct List_t * pxOverflowDelayedTaskList.31_6; struct TCB_t * pxCurrentTCB.32_7; struct ListItem_t * _8; struct List_t * pxDelayedTaskList.33_9; struct TCB_t * pxCurrentTCB.34_10; struct ListItem_t * _11; long unsigned int xNextTaskUnblockTime.35_12; [local count: 1073741823]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xConstTickCount_14 ={v} xTickCount; # DEBUG xConstTickCount => xConstTickCount_14 # DEBUG BEGIN_STMT pxCurrentTCB.23_1 ={v} pxCurrentTCB; pxCurrentTCB.23_1->ucDelayAborted = 0; # DEBUG BEGIN_STMT pxCurrentTCB.24_2 ={v} pxCurrentTCB; _3 = &pxCurrentTCB.24_2->xStateListItem; uxListRemove (_3); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xTicksToWait_17(D) == 4294967295) goto ; [34.00%] else goto ; [66.00%] [local count: 365072220]: if (xCanBlockIndefinitely_18(D) != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 182536110]: # DEBUG D#2 => xTicksToWait_17(D) # DEBUG D#3 => xCanBlockIndefinitely_18(D) prvAddCurrentTaskToDelayedList.part.0 (); goto ; [100.00%] [local count: 891205713]: # DEBUG BEGIN_STMT xTimeToWake_19 = xConstTickCount_14 + xTicksToWait_17(D); # DEBUG xTimeToWake => xTimeToWake_19 # DEBUG BEGIN_STMT pxCurrentTCB.30_5 ={v} pxCurrentTCB; pxCurrentTCB.30_5->xStateListItem.xItemValue = xTimeToWake_19; # DEBUG BEGIN_STMT if (xConstTickCount_14 > xTimeToWake_19) goto ; [50.00%] else goto ; [50.00%] [local count: 445602856]: # DEBUG BEGIN_STMT pxOverflowDelayedTaskList.31_6 ={v} pxOverflowDelayedTaskList; pxCurrentTCB.32_7 ={v} pxCurrentTCB; _8 = &pxCurrentTCB.32_7->xStateListItem; vListInsert (pxOverflowDelayedTaskList.31_6, _8); goto ; [100.00%] [local count: 445602856]: # DEBUG BEGIN_STMT pxDelayedTaskList.33_9 ={v} pxDelayedTaskList; pxCurrentTCB.34_10 ={v} pxCurrentTCB; _11 = &pxCurrentTCB.34_10->xStateListItem; vListInsert (pxDelayedTaskList.33_9, _11); # DEBUG BEGIN_STMT xNextTaskUnblockTime.35_12 ={v} xNextTaskUnblockTime; if (xNextTaskUnblockTime.35_12 > xTimeToWake_19) goto ; [50.00%] else goto ; [50.00%] [local count: 222801428]: # DEBUG BEGIN_STMT xNextTaskUnblockTime ={v} xTimeToWake_19; [local count: 1073741824]: # DEBUG BEGIN_STMT return; } ulTaskGenericNotifyValueClear (struct tskTaskControlBlock * xTask, UBaseType_t uxIndexToClear, uint32_t ulBitsToClear) { uint32_t ulReturn; long unsigned int _1; long unsigned int _2; long unsigned int _3; struct TCB_t * iftmp.164_4; struct TCB_t * iftmp.164_7; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xTask_5(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 322122547]: iftmp.164_7 ={v} pxCurrentTCB; [local count: 1073741824]: # iftmp.164_4 = PHI # DEBUG pxTCB => iftmp.164_4 # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT ulReturn_10 ={v} iftmp.164_4->ulNotifiedValue[uxIndexToClear_9(D)]; # DEBUG ulReturn => ulReturn_10 # DEBUG BEGIN_STMT _1 ={v} iftmp.164_4->ulNotifiedValue[uxIndexToClear_9(D)]; _2 = ~ulBitsToClear_11(D); _3 = _1 & _2; iftmp.164_4->ulNotifiedValue[uxIndexToClear_9(D)] ={v} _3; # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT return ulReturn_10; } xTaskGenericNotifyStateClear (struct tskTaskControlBlock * xTask, UBaseType_t uxIndexToClear) { uint32_t ulNewBASEPRI; BaseType_t xReturn; unsigned char _1; struct TCB_t * iftmp.163_3; struct TCB_t * iftmp.163_8; [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (uxIndexToClear_5(D) != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_12 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_12 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xTask_6(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 32212]: iftmp.163_8 ={v} pxCurrentTCB; [local count: 107374]: # iftmp.163_3 = PHI # DEBUG pxTCB => iftmp.163_3 # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _1 ={v} iftmp.163_3->ucNotifyState[0]; if (_1 == 2) goto ; [34.00%] else goto ; [66.00%] [local count: 36507]: # DEBUG BEGIN_STMT iftmp.163_3->ucNotifyState[0] ={v} 0; # DEBUG BEGIN_STMT # DEBUG xReturn => 1 [local count: 107374]: # xReturn_2 = PHI <1(8), 0(7)> # DEBUG xReturn => xReturn_2 # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT return xReturn_2; } vTaskGenericNotifyGiveFromISR (struct tskTaskControlBlock * xTaskToNotify, UBaseType_t uxIndexToNotify, BaseType_t * pxHigherPriorityTaskWoken) { uint32_t ulNewBASEPRI; uint32_t ulOriginalBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; struct ListItem_t * const pxIndex; struct ListItem_t * const pxIndex; struct List_t * const pxList; uint8_t ucOriginalNotifyState; long unsigned int _1; long unsigned int _2; struct xLIST * _3; long unsigned int uxSchedulerSuspended.160_4; struct xLIST_ITEM * _5; struct xLIST_ITEM * _6; struct xLIST_ITEM * _7; struct ListItem_t * _8; struct ListItem_t * _9; long unsigned int _10; long unsigned int _11; long unsigned int _12; long unsigned int uxTopReadyPriority.161_13; struct xLIST_ITEM * _14; struct xLIST_ITEM * _15; struct List_t * _16; long unsigned int _17; long unsigned int _18; struct xLIST_ITEM * _19; struct xLIST_ITEM * _20; struct ListItem_t * _21; long unsigned int _22; long unsigned int _23; long unsigned int _24; struct TCB_t * pxCurrentTCB.162_25; long unsigned int _26; [local count: 228942]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xTaskToNotify_32(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 68683]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_62 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_62 [local count: 686828460]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 686828460]: goto ; [100.00%] [local count: 160260]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (uxIndexToNotify_33(D) != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_63 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_63 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 52886]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortValidateInterruptPriority (); # DEBUG BEGIN_STMT # DEBUG pxTCB => xTaskToNotify_32(D) # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mrs %0, basepri mov %1, %2 msr basepri, %1 isb dsb " : "=r" ulOriginalBASEPRI_64, "=r" ulNewBASEPRI_65 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_65 # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_64 # DEBUG BEGIN_STMT # DEBUG ulNewBASEPRI => NULL # DEBUG ulOriginalBASEPRI => NULL # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_64 # DEBUG BEGIN_STMT ucOriginalNotifyState_36 ={v} MEM[(struct TCB_t *)xTaskToNotify_32(D)].ucNotifyState[0]; # DEBUG ucOriginalNotifyState => ucOriginalNotifyState_36 # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTaskToNotify_32(D)].ucNotifyState[0] ={v} 2; # DEBUG BEGIN_STMT _1 ={v} MEM[(struct TCB_t *)xTaskToNotify_32(D)].ulNotifiedValue[0]; _2 = _1 + 1; MEM[(struct TCB_t *)xTaskToNotify_32(D)].ulNotifiedValue[0] ={v} _2; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (ucOriginalNotifyState_36 == 1) goto ; [34.00%] else goto ; [66.00%] [local count: 17981]: # DEBUG BEGIN_STMT _3 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].xEventListItem.pvContainer; if (_3 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 12587]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_66 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_66 [local count: 125868183]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 125868183]: goto ; [100.00%] [local count: 5394]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxSchedulerSuspended.160_4 ={v} uxSchedulerSuspended; if (uxSchedulerSuspended.160_4 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 2697]: # DEBUG BEGIN_STMT pxList_46 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pvContainer; # DEBUG pxList => pxList_46 # DEBUG BEGIN_STMT _5 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pxNext; _6 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pxPrevious; _5->pxPrevious = _6; # DEBUG BEGIN_STMT _7 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pxPrevious; _7->pxNext = _5; # DEBUG BEGIN_STMT _8 = pxList_46->pxIndex; _9 = &MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem; if (_8 == _9) goto ; [30.00%] else goto ; [70.00%] [local count: 809]: # DEBUG BEGIN_STMT pxList_46->pxIndex = _7; [local count: 2697]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _10 ={v} pxList_46->uxNumberOfItems; _11 = _10 + 4294967295; pxList_46->uxNumberOfItems ={v} _11; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _12 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].uxPriority; uxTopReadyPriority.161_13 ={v} uxTopReadyPriority; if (_12 > uxTopReadyPriority.161_13) goto ; [50.00%] else goto ; [50.00%] [local count: 1349]: # DEBUG BEGIN_STMT uxTopReadyPriority ={v} _12; [local count: 2697]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxIndex_52 = pxReadyTasksLists[_12].pxIndex; # DEBUG pxIndex => pxIndex_52 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pxNext = pxIndex_52; # DEBUG BEGIN_STMT _14 = pxIndex_52->pxPrevious; MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pxPrevious = _14; # DEBUG BEGIN_STMT _15 = pxIndex_52->pxPrevious; _15->pxNext = _9; # DEBUG BEGIN_STMT pxIndex_52->pxPrevious = _9; # DEBUG BEGIN_STMT _16 = &pxReadyTasksLists[_12]; MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pvContainer = _16; # DEBUG BEGIN_STMT _17 ={v} pxReadyTasksLists[_12].uxNumberOfItems; _18 = _17 + 1; pxReadyTasksLists[_12].uxNumberOfItems ={v} _18; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 2697]: # DEBUG BEGIN_STMT pxIndex_39 = xPendingReadyList.pxIndex; # DEBUG pxIndex => pxIndex_39 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTaskToNotify_32(D)].xEventListItem.pxNext = pxIndex_39; # DEBUG BEGIN_STMT _19 = pxIndex_39->pxPrevious; MEM[(struct TCB_t *)xTaskToNotify_32(D)].xEventListItem.pxPrevious = _19; # DEBUG BEGIN_STMT _20 = pxIndex_39->pxPrevious; _21 = &MEM[(struct TCB_t *)xTaskToNotify_32(D)].xEventListItem; _20->pxNext = _21; # DEBUG BEGIN_STMT pxIndex_39->pxPrevious = _21; # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTaskToNotify_32(D)].xEventListItem.pvContainer = &xPendingReadyList; # DEBUG BEGIN_STMT _22 ={v} xPendingReadyList.uxNumberOfItems; _23 = _22 + 1; xPendingReadyList.uxNumberOfItems ={v} _23; [local count: 5394]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _24 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].uxPriority; pxCurrentTCB.162_25 ={v} pxCurrentTCB; _26 = pxCurrentTCB.162_25->uxPriority; if (_24 > _26) goto ; [50.00%] else goto ; [50.00%] [local count: 2697]: # DEBUG BEGIN_STMT if (pxHigherPriorityTaskWoken_59(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 1888]: # DEBUG BEGIN_STMT *pxHigherPriorityTaskWoken_59(D) = 1; [local count: 2697]: # DEBUG BEGIN_STMT xYieldPending ={v} 1; [local count: 40299]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG ulNewMaskValue => ulOriginalBASEPRI_64 # DEBUG INLINE_ENTRY vPortSetBASEPRI # DEBUG BEGIN_STMT __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_64 : "memory"); # DEBUG ulNewMaskValue => NULL return; } xTaskGenericNotifyFromISR (struct tskTaskControlBlock * xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t * pulPreviousNotificationValue, BaseType_t * pxHigherPriorityTaskWoken) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulOriginalBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; struct ListItem_t * const pxIndex; struct ListItem_t * const pxIndex; struct List_t * const pxList; BaseType_t xReturn; uint8_t ucOriginalNotifyState; long unsigned int _1; long unsigned int _2; long unsigned int _3; long unsigned int _4; long unsigned int _5; long unsigned int xTickCount.156_6; struct xLIST * _7; long unsigned int uxSchedulerSuspended.157_8; struct xLIST_ITEM * _9; struct xLIST_ITEM * _10; struct xLIST_ITEM * _11; struct ListItem_t * _12; struct ListItem_t * _13; long unsigned int _14; long unsigned int _15; long unsigned int _16; long unsigned int uxTopReadyPriority.158_17; struct xLIST_ITEM * _18; struct xLIST_ITEM * _19; struct List_t * _20; long unsigned int _21; long unsigned int _22; struct xLIST_ITEM * _23; struct xLIST_ITEM * _24; struct ListItem_t * _25; long unsigned int _26; long unsigned int _27; long unsigned int _28; struct TCB_t * pxCurrentTCB.159_29; long unsigned int _30; [local count: 228942]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG xReturn => 1 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xTaskToNotify_39(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 68683]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_76 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_76 [local count: 686828460]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 686828460]: goto ; [100.00%] [local count: 160260]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (uxIndexToNotify_40(D) != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_77 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_77 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 52886]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortValidateInterruptPriority (); # DEBUG BEGIN_STMT # DEBUG pxTCB => xTaskToNotify_39(D) # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mrs %0, basepri mov %1, %2 msr basepri, %1 isb dsb " : "=r" ulOriginalBASEPRI_78, "=r" ulNewBASEPRI_79 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_79 # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_78 # DEBUG BEGIN_STMT # DEBUG ulNewBASEPRI => NULL # DEBUG ulOriginalBASEPRI => NULL # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_78 # DEBUG BEGIN_STMT if (pulPreviousNotificationValue_43(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 37020]: # DEBUG BEGIN_STMT _1 ={v} MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0]; *pulPreviousNotificationValue_43(D) = _1; [local count: 52886]: # DEBUG BEGIN_STMT ucOriginalNotifyState_45 ={v} MEM[(struct TCB_t *)xTaskToNotify_39(D)].ucNotifyState[0]; # DEBUG ucOriginalNotifyState => ucOriginalNotifyState_45 # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTaskToNotify_39(D)].ucNotifyState[0] ={v} 2; # DEBUG BEGIN_STMT switch (eAction_47(D)) [16.67%], case 0: [16.67%], case 1: [16.67%], case 2: [16.67%], case 3: [16.67%], case 4: [16.67%]> [local count: 8816]: : # DEBUG BEGIN_STMT _2 ={v} MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0]; _3 = _2 | ulValue_48(D); MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0] ={v} _3; # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 8816]: : # DEBUG BEGIN_STMT _4 ={v} MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0]; _5 = _4 + 1; MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0] ={v} _5; # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 8816]: : # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0] ={v} ulValue_48(D); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 8816]: : # DEBUG BEGIN_STMT if (ucOriginalNotifyState_45 != 2) goto ; [66.00%] else goto ; [34.00%] [local count: 5819]: # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0] ={v} ulValue_48(D); goto ; [100.00%] [local count: 8816]: : # DEBUG BEGIN_STMT xTickCount.156_6 ={v} xTickCount; if (xTickCount.156_6 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 4408]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_80 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_80 [local count: 44080307]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 44080307]: goto ; [100.00%] [local count: 48488]: # xReturn_31 = PHI <1(11), 1(12), 1(13), 0(14), 1(10), 1(16), 1(15)> : # DEBUG xReturn => xReturn_31 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (ucOriginalNotifyState_45 == 1) goto ; [34.00%] else goto ; [66.00%] [local count: 16486]: # DEBUG BEGIN_STMT _7 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].xEventListItem.pvContainer; if (_7 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 11540]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_81 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_81 [local count: 115402244]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 115402244]: goto ; [100.00%] [local count: 4946]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxSchedulerSuspended.157_8 ={v} uxSchedulerSuspended; if (uxSchedulerSuspended.157_8 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 2473]: # DEBUG BEGIN_STMT pxList_60 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pvContainer; # DEBUG pxList => pxList_60 # DEBUG BEGIN_STMT _9 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pxNext; _10 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pxPrevious; _9->pxPrevious = _10; # DEBUG BEGIN_STMT _11 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pxPrevious; _11->pxNext = _9; # DEBUG BEGIN_STMT _12 = pxList_60->pxIndex; _13 = &MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem; if (_12 == _13) goto ; [30.00%] else goto ; [70.00%] [local count: 742]: # DEBUG BEGIN_STMT pxList_60->pxIndex = _11; [local count: 2473]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _14 ={v} pxList_60->uxNumberOfItems; _15 = _14 + 4294967295; pxList_60->uxNumberOfItems ={v} _15; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _16 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].uxPriority; uxTopReadyPriority.158_17 ={v} uxTopReadyPriority; if (_16 > uxTopReadyPriority.158_17) goto ; [50.00%] else goto ; [50.00%] [local count: 1236]: # DEBUG BEGIN_STMT uxTopReadyPriority ={v} _16; [local count: 2473]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxIndex_66 = pxReadyTasksLists[_16].pxIndex; # DEBUG pxIndex => pxIndex_66 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pxNext = pxIndex_66; # DEBUG BEGIN_STMT _18 = pxIndex_66->pxPrevious; MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pxPrevious = _18; # DEBUG BEGIN_STMT _19 = pxIndex_66->pxPrevious; _19->pxNext = _13; # DEBUG BEGIN_STMT pxIndex_66->pxPrevious = _13; # DEBUG BEGIN_STMT _20 = &pxReadyTasksLists[_16]; MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pvContainer = _20; # DEBUG BEGIN_STMT _21 ={v} pxReadyTasksLists[_16].uxNumberOfItems; _22 = _21 + 1; pxReadyTasksLists[_16].uxNumberOfItems ={v} _22; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 2473]: # DEBUG BEGIN_STMT pxIndex_53 = xPendingReadyList.pxIndex; # DEBUG pxIndex => pxIndex_53 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTaskToNotify_39(D)].xEventListItem.pxNext = pxIndex_53; # DEBUG BEGIN_STMT _23 = pxIndex_53->pxPrevious; MEM[(struct TCB_t *)xTaskToNotify_39(D)].xEventListItem.pxPrevious = _23; # DEBUG BEGIN_STMT _24 = pxIndex_53->pxPrevious; _25 = &MEM[(struct TCB_t *)xTaskToNotify_39(D)].xEventListItem; _24->pxNext = _25; # DEBUG BEGIN_STMT pxIndex_53->pxPrevious = _25; # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTaskToNotify_39(D)].xEventListItem.pvContainer = &xPendingReadyList; # DEBUG BEGIN_STMT _26 ={v} xPendingReadyList.uxNumberOfItems; _27 = _26 + 1; xPendingReadyList.uxNumberOfItems ={v} _27; [local count: 4946]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _28 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].uxPriority; pxCurrentTCB.159_29 ={v} pxCurrentTCB; _30 = pxCurrentTCB.159_29->uxPriority; if (_28 > _30) goto ; [50.00%] else goto ; [50.00%] [local count: 2473]: # DEBUG BEGIN_STMT if (pxHigherPriorityTaskWoken_73(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 1731]: # DEBUG BEGIN_STMT *pxHigherPriorityTaskWoken_73(D) = 1; [local count: 2473]: # DEBUG BEGIN_STMT xYieldPending ={v} 1; [local count: 36948]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG ulNewMaskValue => ulOriginalBASEPRI_78 # DEBUG INLINE_ENTRY vPortSetBASEPRI # DEBUG BEGIN_STMT __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_78 : "memory"); # DEBUG ulNewMaskValue => NULL # DEBUG BEGIN_STMT return xReturn_31; } xTaskGenericNotify (struct tskTaskControlBlock * xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t * pulPreviousNotificationValue) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; struct ListItem_t * const pxIndex; struct List_t * const pxList; uint8_t ucOriginalNotifyState; BaseType_t xReturn; long unsigned int _1; long unsigned int _2; long unsigned int _3; long unsigned int _4; long unsigned int _5; long unsigned int xTickCount.153_6; struct xLIST_ITEM * _7; struct xLIST_ITEM * _8; struct xLIST_ITEM * _9; struct ListItem_t * _10; struct ListItem_t * _11; long unsigned int _12; long unsigned int _13; long unsigned int _14; long unsigned int uxTopReadyPriority.154_15; struct xLIST_ITEM * _16; struct xLIST_ITEM * _17; struct List_t * _18; long unsigned int _19; long unsigned int _20; struct xLIST * _21; struct TCB_t * pxCurrentTCB.155_22; long unsigned int _23; [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG xReturn => 1 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (uxIndexToNotify_30(D) != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_61 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_61 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xTaskToNotify_31(D) == 0B) goto ; [46.53%] else goto ; [53.47%] [local count: 49961]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_62 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_62 [local count: 499612071]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 499612071]: goto ; [100.00%] [local count: 57413]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxTCB => xTaskToNotify_31(D) # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT if (pulPreviousNotificationValue_34(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 40189]: # DEBUG BEGIN_STMT _1 ={v} MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0]; *pulPreviousNotificationValue_34(D) = _1; [local count: 57413]: # DEBUG BEGIN_STMT ucOriginalNotifyState_36 ={v} MEM[(struct TCB_t *)xTaskToNotify_31(D)].ucNotifyState[0]; # DEBUG ucOriginalNotifyState => ucOriginalNotifyState_36 # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTaskToNotify_31(D)].ucNotifyState[0] ={v} 2; # DEBUG BEGIN_STMT switch (eAction_38(D)) [16.67%], case 0: [16.67%], case 1: [16.67%], case 2: [16.67%], case 3: [16.67%], case 4: [16.67%]> [local count: 9571]: : # DEBUG BEGIN_STMT _2 ={v} MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0]; _3 = _2 | ulValue_39(D); MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0] ={v} _3; # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 9571]: : # DEBUG BEGIN_STMT _4 ={v} MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0]; _5 = _4 + 1; MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0] ={v} _5; # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 9571]: : # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0] ={v} ulValue_39(D); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 9571]: : # DEBUG BEGIN_STMT if (ucOriginalNotifyState_36 != 2) goto ; [66.00%] else goto ; [34.00%] [local count: 6317]: # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0] ={v} ulValue_39(D); goto ; [100.00%] [local count: 9571]: : # DEBUG BEGIN_STMT xTickCount.153_6 ={v} xTickCount; if (xTickCount.153_6 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 4785]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_63 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_63 [local count: 47853715]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 47853715]: goto ; [100.00%] [local count: 52639]: # xReturn_24 = PHI <1(11), 1(12), 1(13), 0(14), 1(10), 1(16), 1(15)> : # DEBUG xReturn => xReturn_24 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (ucOriginalNotifyState_36 == 1) goto ; [51.12%] else goto ; [48.88%] [local count: 26909]: # DEBUG BEGIN_STMT pxList_44 = MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pvContainer; # DEBUG pxList => pxList_44 # DEBUG BEGIN_STMT _7 = MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pxNext; _8 = MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pxPrevious; _7->pxPrevious = _8; # DEBUG BEGIN_STMT _9 = MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pxPrevious; _9->pxNext = _7; # DEBUG BEGIN_STMT _10 = pxList_44->pxIndex; _11 = &MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem; if (_10 == _11) goto ; [30.00%] else goto ; [70.00%] [local count: 8073]: # DEBUG BEGIN_STMT pxList_44->pxIndex = _9; [local count: 26909]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _12 ={v} pxList_44->uxNumberOfItems; _13 = _12 + 4294967295; pxList_44->uxNumberOfItems ={v} _13; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _14 = MEM[(struct TCB_t *)xTaskToNotify_31(D)].uxPriority; uxTopReadyPriority.154_15 ={v} uxTopReadyPriority; if (_14 > uxTopReadyPriority.154_15) goto ; [50.00%] else goto ; [50.00%] [local count: 13455]: # DEBUG BEGIN_STMT uxTopReadyPriority ={v} _14; [local count: 26909]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxIndex_50 = pxReadyTasksLists[_14].pxIndex; # DEBUG pxIndex => pxIndex_50 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pxNext = pxIndex_50; # DEBUG BEGIN_STMT _16 = pxIndex_50->pxPrevious; MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pxPrevious = _16; # DEBUG BEGIN_STMT _17 = pxIndex_50->pxPrevious; _17->pxNext = _11; # DEBUG BEGIN_STMT pxIndex_50->pxPrevious = _11; # DEBUG BEGIN_STMT _18 = &pxReadyTasksLists[_14]; MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pvContainer = _18; # DEBUG BEGIN_STMT _19 ={v} pxReadyTasksLists[_14].uxNumberOfItems; _20 = _19 + 1; pxReadyTasksLists[_14].uxNumberOfItems ={v} _20; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _21 = MEM[(struct TCB_t *)xTaskToNotify_31(D)].xEventListItem.pvContainer; if (_21 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 18836]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_64 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_64 [local count: 188363707]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 188363706]: goto ; [100.00%] [local count: 8073]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxCurrentTCB.155_22 ={v} pxCurrentTCB; _23 = pxCurrentTCB.155_22->uxPriority; if (_14 > _23) goto ; [50.00%] else goto ; [50.00%] [local count: 4036]: # DEBUG BEGIN_STMT MEM[(volatile uint32_t *)3758157060B] ={v} 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT [local count: 33803]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT return xReturn_24; } xTaskGenericNotifyWait (UBaseType_t uxIndexToWait, uint32_t ulBitsToClearOnEntry, uint32_t ulBitsToClearOnExit, uint32_t * pulNotificationValue, TickType_t xTicksToWait) { uint32_t ulNewBASEPRI; BaseType_t xReturn; struct TCB_t * pxCurrentTCB.146_1; unsigned char _2; long unsigned int _3; long unsigned int _4; long unsigned int _5; struct TCB_t * pxCurrentTCB.148_6; struct TCB_t * pxCurrentTCB.149_7; long unsigned int _8; struct TCB_t * pxCurrentTCB.150_9; unsigned char _10; long unsigned int _11; long unsigned int _12; long unsigned int _13; struct TCB_t * pxCurrentTCB.152_14; struct TCB_t * pxCurrentTCB.147_22; struct TCB_t * pxCurrentTCB.151_35; [local count: 160260]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (uxIndexToWait_19(D) != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_40 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_40 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 52886]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT pxCurrentTCB.146_1 ={v} pxCurrentTCB; _2 ={v} pxCurrentTCB.146_1->ucNotifyState[0]; if (_2 != 2) goto ; [66.00%] else goto ; [34.00%] [local count: 34905]: # DEBUG BEGIN_STMT pxCurrentTCB.147_22 ={v} pxCurrentTCB; _3 ={v} pxCurrentTCB.147_22->ulNotifiedValue[0]; _4 = ~ulBitsToClearOnEntry_23(D); _5 = _3 & _4; pxCurrentTCB.147_22->ulNotifiedValue[0] ={v} _5; # DEBUG BEGIN_STMT pxCurrentTCB.148_6 ={v} pxCurrentTCB; pxCurrentTCB.148_6->ucNotifyState[0] ={v} 1; # DEBUG BEGIN_STMT if (xTicksToWait_26(D) != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 11519]: # DEBUG BEGIN_STMT prvAddCurrentTaskToDelayedList (xTicksToWait_26(D), 1); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT MEM[(volatile uint32_t *)3758157060B] ={v} 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT [local count: 52886]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (pulNotificationValue_33(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 37020]: # DEBUG BEGIN_STMT pxCurrentTCB.149_7 ={v} pxCurrentTCB; _8 ={v} pxCurrentTCB.149_7->ulNotifiedValue[0]; *pulNotificationValue_33(D) = _8; [local count: 52886]: # DEBUG BEGIN_STMT pxCurrentTCB.150_9 ={v} pxCurrentTCB; _10 ={v} pxCurrentTCB.150_9->ucNotifyState[0]; if (_10 != 2) goto ; [66.00%] else goto ; [34.00%] [local count: 17981]: # DEBUG BEGIN_STMT pxCurrentTCB.151_35 ={v} pxCurrentTCB; _11 ={v} pxCurrentTCB.151_35->ulNotifiedValue[0]; _12 = ~ulBitsToClearOnExit_36(D); _13 = _11 & _12; pxCurrentTCB.151_35->ulNotifiedValue[0] ={v} _13; # DEBUG BEGIN_STMT # DEBUG xReturn => 1 [local count: 52886]: # xReturn_15 = PHI <0(10), 1(11)> # DEBUG xReturn => xReturn_15 # DEBUG BEGIN_STMT pxCurrentTCB.152_14 ={v} pxCurrentTCB; pxCurrentTCB.152_14->ucNotifyState[0] ={v} 0; # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT return xReturn_15; } ulTaskGenericNotifyTake (UBaseType_t uxIndexToWait, BaseType_t xClearCountOnExit, TickType_t xTicksToWait) { uint32_t ulNewBASEPRI; uint32_t ulReturn; struct TCB_t * pxCurrentTCB.140_1; long unsigned int _2; struct TCB_t * pxCurrentTCB.141_3; struct TCB_t * pxCurrentTCB.142_4; struct TCB_t * pxCurrentTCB.143_5; struct TCB_t * pxCurrentTCB.144_6; long unsigned int _7; struct TCB_t * pxCurrentTCB.145_8; [local count: 160260]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (uxIndexToWait_11(D) != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_28 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_28 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 52886]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT pxCurrentTCB.140_1 ={v} pxCurrentTCB; _2 ={v} pxCurrentTCB.140_1->ulNotifiedValue[0]; if (_2 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 26443]: # DEBUG BEGIN_STMT pxCurrentTCB.141_3 ={v} pxCurrentTCB; pxCurrentTCB.141_3->ucNotifyState[0] ={v} 1; # DEBUG BEGIN_STMT if (xTicksToWait_15(D) != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 8726]: # DEBUG BEGIN_STMT prvAddCurrentTaskToDelayedList (xTicksToWait_15(D), 1); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT MEM[(volatile uint32_t *)3758157060B] ={v} 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT [local count: 52886]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxCurrentTCB.142_4 ={v} pxCurrentTCB; ulReturn_22 ={v} pxCurrentTCB.142_4->ulNotifiedValue[0]; # DEBUG ulReturn => ulReturn_22 # DEBUG BEGIN_STMT if (ulReturn_22 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 26443]: # DEBUG BEGIN_STMT if (xClearCountOnExit_23(D) != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 13221]: # DEBUG BEGIN_STMT pxCurrentTCB.143_5 ={v} pxCurrentTCB; pxCurrentTCB.143_5->ulNotifiedValue[0] ={v} 0; goto ; [100.00%] [local count: 13221]: # DEBUG BEGIN_STMT pxCurrentTCB.144_6 ={v} pxCurrentTCB; _7 = ulReturn_22 + 4294967295; pxCurrentTCB.144_6->ulNotifiedValue[0] ={v} _7; [local count: 52886]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxCurrentTCB.145_8 ={v} pxCurrentTCB; pxCurrentTCB.145_8->ucNotifyState[0] ={v} 0; # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT return ulReturn_22; } pvTaskIncrementMutexHeldCount () { struct TCB_t * pxCurrentTCB.138_1; struct TCB_t * pxCurrentTCB.139_2; long unsigned int _3; long unsigned int _4; struct tskTaskControlBlock * _8; [local count: 1073741824]: # DEBUG BEGIN_STMT pxCurrentTCB.138_1 ={v} pxCurrentTCB; if (pxCurrentTCB.138_1 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 751619278]: # DEBUG BEGIN_STMT pxCurrentTCB.139_2 ={v} pxCurrentTCB; _3 = pxCurrentTCB.139_2->uxMutexesHeld; _4 = _3 + 1; pxCurrentTCB.139_2->uxMutexesHeld = _4; [local count: 1073741824]: # DEBUG BEGIN_STMT _8 ={v} pxCurrentTCB; return _8; } uxTaskResetEventItemValue () { TickType_t uxReturn; struct TCB_t * pxCurrentTCB.135_1; struct TCB_t * pxCurrentTCB.136_2; long unsigned int _3; struct TCB_t * pxCurrentTCB.137_4; long unsigned int _5; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxCurrentTCB.135_1 ={v} pxCurrentTCB; uxReturn_7 = pxCurrentTCB.135_1->xEventListItem.xItemValue; # DEBUG uxReturn => uxReturn_7 # DEBUG BEGIN_STMT pxCurrentTCB.136_2 ={v} pxCurrentTCB; _3 = pxCurrentTCB.136_2->uxPriority; pxCurrentTCB.137_4 ={v} pxCurrentTCB; _5 = 5 - _3; pxCurrentTCB.137_4->xEventListItem.xItemValue = _5; # DEBUG BEGIN_STMT return uxReturn_7; } vTaskList (char * pcWriteBuffer) { char cStatus; UBaseType_t x; UBaseType_t uxArraySize; struct TaskStatus_t * pxTaskStatusArray; long unsigned int uxCurrentNumberOfTasks.134_1; long unsigned int _2; long unsigned int _3; struct TaskStatus_t * _4; _5; unsigned int _6; const char * _8; int _9; long unsigned int _11; short unsigned int _12; unsigned int _13; long unsigned int _14; unsigned int _15; [local count: 220893212]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT *pcWriteBuffer_22(D) = 0; # DEBUG BEGIN_STMT uxArraySize_24 ={v} uxCurrentNumberOfTasks; # DEBUG uxArraySize => uxArraySize_24 # DEBUG BEGIN_STMT uxCurrentNumberOfTasks.134_1 ={v} uxCurrentNumberOfTasks; _2 = uxCurrentNumberOfTasks.134_1 * 36; pxTaskStatusArray_26 = pvPortMalloc (_2); # DEBUG pxTaskStatusArray => pxTaskStatusArray_26 # DEBUG BEGIN_STMT if (pxTaskStatusArray_26 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 118111600]: # DEBUG BEGIN_STMT uxArraySize_28 = uxTaskGetSystemState (pxTaskStatusArray_26, uxArraySize_24, 0B); # DEBUG uxArraySize => uxArraySize_28 # DEBUG BEGIN_STMT # DEBUG x => 0 goto ; [100.00%] [local count: 955630226]: # DEBUG BEGIN_STMT _3 = x_17 * 36; _4 = pxTaskStatusArray_26 + _3; _5 = _4->eCurrentState; _6 = _5; if (_6 <= 4) goto ; [50.00%] else goto ; [50.00%] [local count: 477815113]: : cStatus_10 = 0; goto ; [100.00%] [local count: 477815113]: : cStatus_7 = CSWTCH.225[_6]; [local count: 955630226]: # cStatus_18 = PHI : : # DEBUG cStatus => cStatus_18 # DEBUG BEGIN_STMT _8 = _4->pcTaskName; pcWriteBuffer_31 = prvWriteNameToBuffer (pcWriteBuffer_16, _8); # DEBUG pcWriteBuffer => pcWriteBuffer_31 # DEBUG BEGIN_STMT _9 = (int) cStatus_18; _11 = _4->uxCurrentPriority; _12 = _4->usStackHighWaterMark; _13 = (unsigned int) _12; _14 = _4->xTaskNumber; sprintf (pcWriteBuffer_31, "\t%c\t%u\t%u\t%u\r\n", _9, _11, _13, _14); # DEBUG BEGIN_STMT _15 = strlen (pcWriteBuffer_31); pcWriteBuffer_33 = pcWriteBuffer_31 + _15; # DEBUG pcWriteBuffer => pcWriteBuffer_33 # DEBUG BEGIN_STMT x_34 = x_17 + 1; # DEBUG x => x_34 [local count: 1073741824]: # pcWriteBuffer_16 = PHI # x_17 = PHI <0(3), x_34(7)> # DEBUG x => x_17 # DEBUG pcWriteBuffer => pcWriteBuffer_16 # DEBUG BEGIN_STMT if (x_17 < uxArraySize_28) goto ; [89.00%] else goto ; [11.00%] [local count: 118111601]: # DEBUG BEGIN_STMT vPortFree (pxTaskStatusArray_26); [local count: 220893212]: # DEBUG BEGIN_STMT return; } prvWriteNameToBuffer (char * pcBuffer, const char * pcTaskName) { size_t x; char * _1; char * _2; [local count: 118111600]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT strcpy (pcBuffer_6(D), pcTaskName_7(D)); # DEBUG BEGIN_STMT x_9 = strlen (pcBuffer_6(D)); # DEBUG x => x_9 goto ; [100.00%] [local count: 955630223]: # DEBUG BEGIN_STMT _1 = pcBuffer_6(D) + x_3; *_1 = 32; # DEBUG BEGIN_STMT x_13 = x_3 + 1; # DEBUG x => x_13 [local count: 1073741824]: # x_3 = PHI # DEBUG x => x_3 # DEBUG BEGIN_STMT if (x_3 <= 8) goto ; [89.00%] else goto ; [11.00%] [local count: 118111601]: # x_11 = PHI # DEBUG BEGIN_STMT _2 = pcBuffer_6(D) + x_11; *_2 = 0; # DEBUG BEGIN_STMT return _2; } vTaskPriorityDisinheritAfterTimeout (struct tskTaskControlBlock * const pxMutexHolder, UBaseType_t uxHighestPriorityWaitingTask) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; struct ListItem_t * const pxIndex; UBaseType_t uxPriorityToUse; long unsigned int _1; long unsigned int _2; long unsigned int _3; struct TCB_t * pxCurrentTCB.132_4; long unsigned int _5; signed int _6; long unsigned int _7; struct xLIST * _8; struct List_t * _9; struct ListItem_t * _10; long unsigned int _12; long unsigned int uxTopReadyPriority.133_13; struct xLIST_ITEM * _14; struct xLIST_ITEM * _15; struct List_t * _16; long unsigned int _17; long unsigned int _18; [local count: 306783]: # DEBUG BEGIN_STMT # DEBUG pxTCB => pxMutexHolder_22(D) # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG uxOnlyOneMutexHeld => 1 # DEBUG BEGIN_STMT if (pxMutexHolder_22(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 214748]: # DEBUG BEGIN_STMT _1 = MEM[(struct TCB_t *)pxMutexHolder_22(D)].uxMutexesHeld; if (_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_36 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_36 [local count: 1073741823]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = MEM[(struct TCB_t *)pxMutexHolder_22(D)].uxBasePriority; uxPriorityToUse_11 = MAX_EXPR <_2, uxHighestPriorityWaitingTask_24(D)>; # DEBUG uxPriorityToUse => uxPriorityToUse_11 # DEBUG BEGIN_STMT _3 = MEM[(struct TCB_t *)pxMutexHolder_22(D)].uxPriority; if (_3 != uxPriorityToUse_11) goto ; [66.00%] else goto ; [34.00%] [local count: 70867]: # DEBUG BEGIN_STMT if (_1 == 1) goto ; [34.00%] else goto ; [66.00%] [local count: 24095]: # DEBUG BEGIN_STMT pxCurrentTCB.132_4 ={v} pxCurrentTCB; if (pxCurrentTCB.132_4 == pxMutexHolder_22(D)) goto ; [30.00%] else goto ; [70.00%] [local count: 7228]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_37 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_37 [local count: 72284299]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 72284299]: goto ; [100.00%] [local count: 16866]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG uxPriorityUsedOnEntry => _3 # DEBUG BEGIN_STMT MEM[(struct TCB_t *)pxMutexHolder_22(D)].uxPriority = uxPriorityToUse_11; # DEBUG BEGIN_STMT _5 = MEM[(struct TCB_t *)pxMutexHolder_22(D)].xEventListItem.xItemValue; _6 = (signed int) _5; if (_6 >= 0) goto ; [59.00%] else goto ; [41.00%] [local count: 9951]: # DEBUG BEGIN_STMT _7 = 5 - uxPriorityToUse_11; MEM[(struct TCB_t *)pxMutexHolder_22(D)].xEventListItem.xItemValue = _7; [local count: 16866]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _8 = MEM[(struct TCB_t *)pxMutexHolder_22(D)].xStateListItem.pvContainer; _9 = &pxReadyTasksLists[_3]; if (_8 == _9) goto ; [17.43%] else goto ; [82.57%] [local count: 2940]: # DEBUG BEGIN_STMT _10 = &MEM[(struct TCB_t *)pxMutexHolder_22(D)].xStateListItem; uxListRemove (_10); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _12 = MEM[(struct TCB_t *)pxMutexHolder_22(D)].uxPriority; uxTopReadyPriority.133_13 ={v} uxTopReadyPriority; if (_12 > uxTopReadyPriority.133_13) goto ; [50.00%] else goto ; [50.00%] [local count: 1470]: # DEBUG BEGIN_STMT uxTopReadyPriority ={v} _12; [local count: 2940]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxIndex_29 = pxReadyTasksLists[_12].pxIndex; # DEBUG pxIndex => pxIndex_29 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT MEM[(struct TCB_t *)pxMutexHolder_22(D)].xStateListItem.pxNext = pxIndex_29; # DEBUG BEGIN_STMT _14 = pxIndex_29->pxPrevious; MEM[(struct TCB_t *)pxMutexHolder_22(D)].xStateListItem.pxPrevious = _14; # DEBUG BEGIN_STMT _15 = pxIndex_29->pxPrevious; _15->pxNext = _10; # DEBUG BEGIN_STMT pxIndex_29->pxPrevious = _10; # DEBUG BEGIN_STMT _16 = &pxReadyTasksLists[_12]; MEM[(struct TCB_t *)pxMutexHolder_22(D)].xStateListItem.pvContainer = _16; # DEBUG BEGIN_STMT _17 ={v} pxReadyTasksLists[_12].uxNumberOfItems; _18 = _17 + 1; pxReadyTasksLists[_12].uxNumberOfItems ={v} _18; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 192180]: # DEBUG BEGIN_STMT return; } xTaskPriorityDisinherit (struct tskTaskControlBlock * const pxMutexHolder) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; struct ListItem_t * const pxIndex; BaseType_t xReturn; struct TCB_t * pxCurrentTCB.130_1; long unsigned int _2; long unsigned int _3; long unsigned int _4; long unsigned int _5; struct ListItem_t * _6; long unsigned int _7; long unsigned int _8; long unsigned int uxTopReadyPriority.131_9; struct xLIST_ITEM * _10; struct xLIST_ITEM * _11; struct List_t * _12; long unsigned int _13; long unsigned int _14; [local count: 219131]: # DEBUG BEGIN_STMT # DEBUG pxTCB => pxMutexHolder_18(D) # DEBUG BEGIN_STMT # DEBUG xReturn => 0 # DEBUG BEGIN_STMT if (pxMutexHolder_18(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 153391]: # DEBUG BEGIN_STMT pxCurrentTCB.130_1 ={v} pxCurrentTCB; if (pxCurrentTCB.130_1 != pxMutexHolder_18(D)) goto ; [70.00%] else goto ; [30.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_32 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_32 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 46017]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = MEM[(struct TCB_t *)pxMutexHolder_18(D)].uxMutexesHeld; if (_2 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 23009]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_33 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_33 [local count: 230087534]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 230087534]: goto ; [100.00%] [local count: 23009]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _3 = _2 + 4294967295; MEM[(struct TCB_t *)pxMutexHolder_18(D)].uxMutexesHeld = _3; # DEBUG BEGIN_STMT _4 = MEM[(struct TCB_t *)pxMutexHolder_18(D)].uxPriority; _5 = MEM[(struct TCB_t *)pxMutexHolder_18(D)].uxBasePriority; if (_4 != _5) goto ; [66.00%] else goto ; [34.00%] [local count: 15186]: # DEBUG BEGIN_STMT if (_3 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 5011]: # DEBUG BEGIN_STMT _6 = &MEM[(struct TCB_t *)pxMutexHolder_18(D)].xStateListItem; uxListRemove (_6); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _7 = MEM[(struct TCB_t *)pxMutexHolder_18(D)].uxBasePriority; MEM[(struct TCB_t *)pxMutexHolder_18(D)].uxPriority = _7; # DEBUG BEGIN_STMT _8 = 5 - _7; MEM[(struct TCB_t *)pxMutexHolder_18(D)].xEventListItem.xItemValue = _8; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxTopReadyPriority.131_9 ={v} uxTopReadyPriority; if (_7 > uxTopReadyPriority.131_9) goto ; [50.00%] else goto ; [50.00%] [local count: 2506]: # DEBUG BEGIN_STMT uxTopReadyPriority ={v} _7; [local count: 5011]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxIndex_25 = pxReadyTasksLists[_7].pxIndex; # DEBUG pxIndex => pxIndex_25 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT MEM[(struct TCB_t *)pxMutexHolder_18(D)].xStateListItem.pxNext = pxIndex_25; # DEBUG BEGIN_STMT _10 = pxIndex_25->pxPrevious; MEM[(struct TCB_t *)pxMutexHolder_18(D)].xStateListItem.pxPrevious = _10; # DEBUG BEGIN_STMT _11 = pxIndex_25->pxPrevious; _11->pxNext = _6; # DEBUG BEGIN_STMT pxIndex_25->pxPrevious = _6; # DEBUG BEGIN_STMT _12 = &pxReadyTasksLists[_7]; MEM[(struct TCB_t *)pxMutexHolder_18(D)].xStateListItem.pvContainer = _12; # DEBUG BEGIN_STMT _13 ={v} pxReadyTasksLists[_7].uxNumberOfItems; _14 = _13 + 1; pxReadyTasksLists[_7].uxNumberOfItems ={v} _14; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG xReturn => 1 [local count: 88748]: # xReturn_15 = PHI <0(2), 1(13), 0(9), 0(10)> # DEBUG xReturn => xReturn_15 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xReturn_15; } xTaskPriorityInherit (struct tskTaskControlBlock * const pxMutexHolder) { struct ListItem_t * const pxIndex; BaseType_t xReturn; long unsigned int _1; struct TCB_t * pxCurrentTCB.124_2; long unsigned int _3; long unsigned int _4; signed int _5; struct TCB_t * pxCurrentTCB.125_6; long unsigned int _7; long unsigned int _8; struct xLIST * _9; struct List_t * _10; struct ListItem_t * _11; struct TCB_t * pxCurrentTCB.126_12; long unsigned int _13; long unsigned int uxTopReadyPriority.127_14; struct xLIST_ITEM * _15; struct xLIST_ITEM * _16; struct List_t * _17; long unsigned int _18; long unsigned int _19; struct TCB_t * pxCurrentTCB.128_20; long unsigned int _21; long unsigned int _22; struct TCB_t * pxCurrentTCB.129_23; long unsigned int _24; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG pxMutexHolderTCB => pxMutexHolder_29(D) # DEBUG BEGIN_STMT # DEBUG xReturn => 0 # DEBUG BEGIN_STMT if (pxMutexHolder_29(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 751619278]: # DEBUG BEGIN_STMT _1 = MEM[(struct TCB_t *)pxMutexHolder_29(D)].uxPriority; pxCurrentTCB.124_2 ={v} pxCurrentTCB; _3 = pxCurrentTCB.124_2->uxPriority; if (_1 < _3) goto ; [50.00%] else goto ; [50.00%] [local count: 375809639]: # DEBUG BEGIN_STMT _4 = MEM[(struct TCB_t *)pxMutexHolder_29(D)].xEventListItem.xItemValue; _5 = (signed int) _4; if (_5 >= 0) goto ; [59.00%] else goto ; [41.00%] [local count: 221727687]: # DEBUG BEGIN_STMT pxCurrentTCB.125_6 ={v} pxCurrentTCB; _7 = pxCurrentTCB.125_6->uxPriority; _8 = 5 - _7; MEM[(struct TCB_t *)pxMutexHolder_29(D)].xEventListItem.xItemValue = _8; [local count: 375809639]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _9 = MEM[(struct TCB_t *)pxMutexHolder_29(D)].xStateListItem.pvContainer; _10 = &pxReadyTasksLists[_1]; if (_9 == _10) goto ; [17.43%] else goto ; [82.57%] [local count: 65503620]: # DEBUG BEGIN_STMT _11 = &MEM[(struct TCB_t *)pxMutexHolder_29(D)].xStateListItem; uxListRemove (_11); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxCurrentTCB.126_12 ={v} pxCurrentTCB; _13 = pxCurrentTCB.126_12->uxPriority; MEM[(struct TCB_t *)pxMutexHolder_29(D)].uxPriority = _13; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxTopReadyPriority.127_14 ={v} uxTopReadyPriority; if (_13 > uxTopReadyPriority.127_14) goto ; [50.00%] else goto ; [50.00%] [local count: 32751810]: # DEBUG BEGIN_STMT uxTopReadyPriority ={v} _13; [local count: 65503620]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxIndex_36 = pxReadyTasksLists[_13].pxIndex; # DEBUG pxIndex => pxIndex_36 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT MEM[(struct TCB_t *)pxMutexHolder_29(D)].xStateListItem.pxNext = pxIndex_36; # DEBUG BEGIN_STMT _15 = pxIndex_36->pxPrevious; MEM[(struct TCB_t *)pxMutexHolder_29(D)].xStateListItem.pxPrevious = _15; # DEBUG BEGIN_STMT _16 = pxIndex_36->pxPrevious; _16->pxNext = _11; # DEBUG BEGIN_STMT pxIndex_36->pxPrevious = _11; # DEBUG BEGIN_STMT _17 = &pxReadyTasksLists[_13]; MEM[(struct TCB_t *)pxMutexHolder_29(D)].xStateListItem.pvContainer = _17; # DEBUG BEGIN_STMT _18 ={v} pxReadyTasksLists[_13].uxNumberOfItems; _19 = _18 + 1; pxReadyTasksLists[_13].uxNumberOfItems ={v} _19; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 310306019]: # DEBUG BEGIN_STMT pxCurrentTCB.128_20 ={v} pxCurrentTCB; _21 = pxCurrentTCB.128_20->uxPriority; MEM[(struct TCB_t *)pxMutexHolder_29(D)].uxPriority = _21; goto ; [100.00%] [local count: 375809639]: # DEBUG BEGIN_STMT _22 = MEM[(struct TCB_t *)pxMutexHolder_29(D)].uxBasePriority; pxCurrentTCB.129_23 ={v} pxCurrentTCB; _24 = pxCurrentTCB.129_23->uxPriority; if (_22 < _24) goto ; [50.00%] else goto ; [50.00%] [local count: 187904819]: # DEBUG BEGIN_STMT # DEBUG xReturn => 1 [local count: 1073741824]: # xReturn_25 = PHI <0(2), 0(11), 1(10), 1(12), 1(9)> # DEBUG xReturn => xReturn_25 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xReturn_25; } xTaskGetSchedulerState () { BaseType_t xReturn; long int xSchedulerRunning.122_1; long unsigned int uxSchedulerSuspended.123_2; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xSchedulerRunning.122_1 ={v} xSchedulerRunning; if (xSchedulerRunning.122_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT uxSchedulerSuspended.123_2 ={v} uxSchedulerSuspended; if (uxSchedulerSuspended.123_2 == 0) goto ; [35.00%] else goto ; [65.00%] [local count: 348966093]: # DEBUG BEGIN_STMT # DEBUG xReturn => 0 [local count: 1073741824]: # xReturn_3 = PHI <1(2), 2(3), 0(4)> # DEBUG xReturn => xReturn_3 # DEBUG BEGIN_STMT return xReturn_3; } xTaskGetCurrentTaskHandle () { struct tskTaskControlBlock * xReturn; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xReturn_2 ={v} pxCurrentTCB; # DEBUG xReturn => xReturn_2 # DEBUG BEGIN_STMT return xReturn_2; } prvResetNextTaskUnblockTime () { struct List_t * pxDelayedTaskList.20_1; long unsigned int _2; [local count: 1073741824]: # DEBUG BEGIN_STMT pxDelayedTaskList.20_1 ={v} pxDelayedTaskList; _2 ={v} pxDelayedTaskList.20_1->uxNumberOfItems; if (_2 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT xNextTaskUnblockTime ={v} 4294967295; goto ; [100.00%] [local count: 536870912]: prvResetNextTaskUnblockTime.part.0 (); [local count: 1073741824]: return; } prvDeleteTCB (struct TCB_t * pxTCB) { StackType_t * _1; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = pxTCB_3(D)->pxStack; vPortFree (_1); # DEBUG BEGIN_STMT vPortFree (pxTCB_3(D)); return; } uxTaskGetStackHighWaterMark (struct tskTaskControlBlock * xTask) { UBaseType_t uxReturn; uint8_t * pucEndOfStack; short unsigned int _1; struct TCB_t * iftmp.121_2; struct TCB_t * iftmp.121_5; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xTask_3(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 322122547]: iftmp.121_5 ={v} pxCurrentTCB; [local count: 1073741824]: # iftmp.121_2 = PHI # DEBUG pxTCB => iftmp.121_2 # DEBUG BEGIN_STMT pucEndOfStack_6 = iftmp.121_2->pxStack; # DEBUG pucEndOfStack => pucEndOfStack_6 # DEBUG BEGIN_STMT _1 = prvTaskCheckFreeStackSpace (pucEndOfStack_6); uxReturn_7 = (UBaseType_t) _1; # DEBUG uxReturn => uxReturn_7 # DEBUG BEGIN_STMT return uxReturn_7; } prvTaskCheckFreeStackSpace (const uint8_t * pucStackByte) { uint32_t ulCount; unsigned char _1; uint16_t _8; [local count: 118111600]: # DEBUG BEGIN_STMT # DEBUG ulCount => 0 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 955630223]: # DEBUG BEGIN_STMT pucStackByte_9 = pucStackByte_2 + 1; # DEBUG pucStackByte => pucStackByte_9 # DEBUG BEGIN_STMT ulCount_10 = ulCount_3 + 1; # DEBUG ulCount => ulCount_10 [local count: 1073741824]: # pucStackByte_2 = PHI # ulCount_3 = PHI <0(2), ulCount_10(3)> # DEBUG ulCount => ulCount_3 # DEBUG pucStackByte => pucStackByte_2 # DEBUG BEGIN_STMT _1 = *pucStackByte_2; if (_1 == 165) goto ; [89.00%] else goto ; [11.00%] [local count: 118111601]: # ulCount_4 = PHI # DEBUG BEGIN_STMT ulCount_7 = ulCount_4 >> 2; # DEBUG ulCount => ulCount_7 # DEBUG BEGIN_STMT _8 = (uint16_t) ulCount_7; return _8; } prvListTasksWithinSingleList (struct TaskStatus_t * pxTaskStatusArray, struct List_t * pxList, eTaskState eState) { UBaseType_t uxTask; long unsigned int _1; [local count: 236223200]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG uxTask => 0 # DEBUG BEGIN_STMT _1 ={v} pxList_7(D)->uxNumberOfItems; if (_1 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 118111600]: uxTask_2 = prvListTasksWithinSingleList.part.0 (pxTaskStatusArray_8(D), pxList_7(D), eState_9(D)); [local count: 236223201]: # uxTask_5 = PHI <0(2), uxTask_2(3)> # DEBUG uxTask => uxTask_5 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return uxTask_5; } vTaskGetInfo (struct tskTaskControlBlock * xTask, struct TaskStatus_t * pxTaskStatus, BaseType_t xGetFreeStackSpace, eTaskState eState) { char * _1; long unsigned int _2; StackType_t * _3; long unsigned int _4; long unsigned int _5; struct TCB_t * pxCurrentTCB.120_6; struct xLIST * _7; _8; StackType_t * _9; short unsigned int _10; struct TCB_t * iftmp.119_11; struct TCB_t * iftmp.119_17; [local count: 1073741823]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xTask_15(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 322122547]: iftmp.119_17 ={v} pxCurrentTCB; [local count: 1073741823]: # iftmp.119_11 = PHI # DEBUG pxTCB => iftmp.119_11 # DEBUG BEGIN_STMT pxTaskStatus_18(D)->xHandle = iftmp.119_11; # DEBUG BEGIN_STMT _1 = &iftmp.119_11->pcTaskName[0]; pxTaskStatus_18(D)->pcTaskName = _1; # DEBUG BEGIN_STMT _2 = iftmp.119_11->uxPriority; pxTaskStatus_18(D)->uxCurrentPriority = _2; # DEBUG BEGIN_STMT _3 = iftmp.119_11->pxStack; pxTaskStatus_18(D)->pxStackBase = _3; # DEBUG BEGIN_STMT _4 = iftmp.119_11->uxTCBNumber; pxTaskStatus_18(D)->xTaskNumber = _4; # DEBUG BEGIN_STMT _5 = iftmp.119_11->uxBasePriority; pxTaskStatus_18(D)->uxBasePriority = _5; # DEBUG BEGIN_STMT pxTaskStatus_18(D)->ulRunTimeCounter = 0; # DEBUG BEGIN_STMT if (eState_26(D) != 5) goto ; [79.76%] else goto ; [20.24%] [local count: 856416478]: # DEBUG BEGIN_STMT pxCurrentTCB.120_6 ={v} pxCurrentTCB; if (pxCurrentTCB.120_6 == iftmp.119_11) goto ; [30.00%] else goto ; [70.00%] [local count: 256924943]: # DEBUG BEGIN_STMT pxTaskStatus_18(D)->eCurrentState = 0; goto ; [100.00%] [local count: 599491536]: # DEBUG BEGIN_STMT pxTaskStatus_18(D)->eCurrentState = eState_26(D); # DEBUG BEGIN_STMT if (eState_26(D) == 3) goto ; [20.24%] else goto ; [79.76%] [local count: 121337087]: # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT _7 = iftmp.119_11->xEventListItem.pvContainer; if (_7 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 84935961]: # DEBUG BEGIN_STMT pxTaskStatus_18(D)->eCurrentState = 2; [local count: 121337087]: # DEBUG BEGIN_STMT xTaskResumeAll (); goto ; [100.00%] [local count: 217325345]: # DEBUG BEGIN_STMT _8 = eTaskGetState (iftmp.119_11); pxTaskStatus_18(D)->eCurrentState = _8; [local count: 1073741824]: # DEBUG BEGIN_STMT if (xGetFreeStackSpace_34(D) != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 354334802]: # DEBUG BEGIN_STMT _9 = iftmp.119_11->pxStack; _10 = prvTaskCheckFreeStackSpace (_9); pxTaskStatus_18(D)->usStackHighWaterMark = _10; goto ; [100.00%] [local count: 719407024]: # DEBUG BEGIN_STMT pxTaskStatus_18(D)->usStackHighWaterMark = 0; [local count: 1073741824]: return; } prvCheckTasksWaitingTermination () { struct TCB_t * pxTCB; struct xLIST_ITEM * _1; struct ListItem_t * _2; long unsigned int uxCurrentNumberOfTasks.58_3; long unsigned int _4; long unsigned int uxDeletedTasksWaitingCleanUp.59_5; long unsigned int _6; long unsigned int uxDeletedTasksWaitingCleanUp.60_7; [local count: 118111600]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 955630223]: # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _1 = xTasksWaitingTermination.xListEnd.pxNext; pxTCB_11 = _1->pvOwner; # DEBUG pxTCB => pxTCB_11 # DEBUG BEGIN_STMT _2 = &pxTCB_11->xStateListItem; uxListRemove (_2); # DEBUG BEGIN_STMT uxCurrentNumberOfTasks.58_3 ={v} uxCurrentNumberOfTasks; _4 = uxCurrentNumberOfTasks.58_3 + 4294967295; uxCurrentNumberOfTasks ={v} _4; # DEBUG BEGIN_STMT uxDeletedTasksWaitingCleanUp.59_5 ={v} uxDeletedTasksWaitingCleanUp; _6 = uxDeletedTasksWaitingCleanUp.59_5 + 4294967295; uxDeletedTasksWaitingCleanUp ={v} _6; # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT prvDeleteTCB (pxTCB_11); [local count: 1073741824]: # DEBUG BEGIN_STMT uxDeletedTasksWaitingCleanUp.60_7 ={v} uxDeletedTasksWaitingCleanUp; if (uxDeletedTasksWaitingCleanUp.60_7 != 0) goto ; [89.00%] else goto ; [11.00%] [local count: 118111601]: return; } prvInitialiseTaskLists () { UBaseType_t uxPriority; struct List_t * _1; [local count: 178992762]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG uxPriority => 0 goto ; [100.00%] [local count: 894749063]: # DEBUG BEGIN_STMT _1 = &pxReadyTasksLists[uxPriority_2]; vListInitialise (_1); # DEBUG BEGIN_STMT uxPriority_13 = uxPriority_2 + 1; # DEBUG uxPriority => uxPriority_13 [local count: 1073741824]: # uxPriority_2 = PHI <0(2), uxPriority_13(3)> # DEBUG uxPriority => uxPriority_2 # DEBUG BEGIN_STMT if (uxPriority_2 != 5) goto ; [83.33%] else goto ; [16.67%] [local count: 178992762]: # DEBUG BEGIN_STMT vListInitialise (&xDelayedTaskList1); # DEBUG BEGIN_STMT vListInitialise (&xDelayedTaskList2); # DEBUG BEGIN_STMT vListInitialise (&xPendingReadyList); # DEBUG BEGIN_STMT vListInitialise (&xTasksWaitingTermination); # DEBUG BEGIN_STMT vListInitialise (&xSuspendedTaskList); # DEBUG BEGIN_STMT pxDelayedTaskList ={v} &xDelayedTaskList1; # DEBUG BEGIN_STMT pxOverflowDelayedTaskList ={v} &xDelayedTaskList2; return; } prvIdleTask (void * pvParameters) { long unsigned int _1; [local count: 63351]: [local count: 633507677]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT prvCheckTasksWaitingTermination (); # DEBUG BEGIN_STMT _1 ={v} pxReadyTasksLists[0].uxNumberOfItems; if (_1 > 1) goto ; [59.00%] else goto ; [41.00%] [local count: 440234148]: goto ; [100.00%] [local count: 633507677]: # DEBUG BEGIN_STMT MEM[(volatile uint32_t *)3758157060B] ={v} 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT goto ; [100.00%] } vTaskSetTaskNumber (struct tskTaskControlBlock * xTask, const UBaseType_t uxHandle) { [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xTask_2(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 751619278]: # DEBUG BEGIN_STMT # DEBUG pxTCB => xTask_2(D) # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTask_2(D)].uxTaskNumber = uxHandle_4(D); [local count: 1073741824]: return; } uxTaskGetTaskNumber (struct tskTaskControlBlock * xTask) { UBaseType_t uxReturn; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xTask_2(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 751619278]: # DEBUG BEGIN_STMT # DEBUG pxTCB => xTask_2(D) # DEBUG BEGIN_STMT uxReturn_4 = MEM[(const struct TCB_t *)xTask_2(D)].uxTaskNumber; # DEBUG uxReturn => uxReturn_4 [local count: 1073741824]: # uxReturn_1 = PHI # DEBUG uxReturn => uxReturn_1 # DEBUG BEGIN_STMT return uxReturn_1; } vTaskMissedYield () { [local count: 1073741824]: # DEBUG BEGIN_STMT xYieldPending ={v} 1; return; } xTaskCheckForTimeOut (struct TimeOut_t * const pxTimeOut, TickType_t * const pxTicksToWait) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; const TickType_t xElapsedTime; const TickType_t xConstTickCount; BaseType_t xReturn; long unsigned int _1; struct TCB_t * pxCurrentTCB.116_2; unsigned char _3; struct TCB_t * pxCurrentTCB.117_4; long unsigned int _5; long int _6; long int xNumOfOverflows.118_7; long unsigned int _8; long unsigned int _17; [local count: 329661]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (pxTimeOut_11(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 98898]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_24 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_24 [local count: 988985746]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 988985746]: goto ; [100.00%] [local count: 230763]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (pxTicksToWait_12(D) == 0B) goto ; [46.53%] else goto ; [53.47%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_25 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_25 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 123389]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT xConstTickCount_15 ={v} xTickCount; # DEBUG xConstTickCount => xConstTickCount_15 # DEBUG BEGIN_STMT _1 = pxTimeOut_11(D)->xTimeOnEntering; xElapsedTime_16 = xConstTickCount_15 - _1; # DEBUG xElapsedTime => xElapsedTime_16 # DEBUG BEGIN_STMT pxCurrentTCB.116_2 ={v} pxCurrentTCB; _3 = pxCurrentTCB.116_2->ucDelayAborted; if (_3 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 61694]: # DEBUG BEGIN_STMT pxCurrentTCB.117_4 ={v} pxCurrentTCB; pxCurrentTCB.117_4->ucDelayAborted = 0; # DEBUG BEGIN_STMT # DEBUG xReturn => 1 goto ; [100.00%] [local count: 61694]: # DEBUG BEGIN_STMT _5 = *pxTicksToWait_12(D); if (_5 == 4294967295) goto ; [34.00%] else goto ; [66.00%] [local count: 40718]: # DEBUG BEGIN_STMT _6 = pxTimeOut_11(D)->xOverflowCount; xNumOfOverflows.118_7 ={v} xNumOfOverflows; if (_6 != xNumOfOverflows.118_7) goto ; [66.00%] else goto ; [34.00%] [local count: 26874]: if (_1 <= xConstTickCount_15) goto ; [50.00%] else goto ; [50.00%] [local count: 13437]: # DEBUG BEGIN_STMT # DEBUG xReturn => 1 # DEBUG BEGIN_STMT *pxTicksToWait_12(D) = 0; goto ; [100.00%] [local count: 27281]: # DEBUG BEGIN_STMT if (_5 > xElapsedTime_16) goto ; [33.00%] else goto ; [67.00%] [local count: 9003]: # DEBUG BEGIN_STMT _17 = _1 - xConstTickCount_15; _8 = _5 + _17; *pxTicksToWait_12(D) = _8; # DEBUG BEGIN_STMT vTaskInternalSetTimeOutState (pxTimeOut_11(D)); # DEBUG BEGIN_STMT # DEBUG xReturn => 0 goto ; [100.00%] [local count: 18278]: # DEBUG BEGIN_STMT *pxTicksToWait_12(D) = 0; # DEBUG BEGIN_STMT # DEBUG xReturn => 1 [local count: 123389]: # xReturn_9 = PHI <1(9), 0(10), 1(13), 0(15), 1(16)> # DEBUG xReturn => xReturn_9 # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT return xReturn_9; } vTaskInternalSetTimeOutState (struct TimeOut_t * const pxTimeOut) { long int xNumOfOverflows.114_1; long unsigned int xTickCount.115_2; [local count: 1073741824]: # DEBUG BEGIN_STMT xNumOfOverflows.114_1 ={v} xNumOfOverflows; pxTimeOut_4(D)->xOverflowCount = xNumOfOverflows.114_1; # DEBUG BEGIN_STMT xTickCount.115_2 ={v} xTickCount; pxTimeOut_4(D)->xTimeOnEntering = xTickCount.115_2; return; } vTaskSetTimeOutState (struct TimeOut_t * const pxTimeOut) { uint32_t ulNewBASEPRI; long int xNumOfOverflows.112_1; long unsigned int xTickCount.113_2; [local count: 230763]: # DEBUG BEGIN_STMT if (pxTimeOut_3(D) == 0B) goto ; [46.53%] else goto ; [53.47%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_9 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_9 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 123389]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT xNumOfOverflows.112_1 ={v} xNumOfOverflows; pxTimeOut_3(D)->xOverflowCount = xNumOfOverflows.112_1; # DEBUG BEGIN_STMT xTickCount.113_2 ={v} xTickCount; pxTimeOut_3(D)->xTimeOnEntering = xTickCount.113_2; # DEBUG BEGIN_STMT vPortExitCritical (); return; } vTaskRemoveFromUnorderedEventList (struct ListItem_t * pxEventListItem, const TickType_t xItemValue) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; struct ListItem_t * const pxIndex; struct List_t * const pxList; struct List_t * const pxList; struct TCB_t * pxUnblockedTCB; long unsigned int uxSchedulerSuspended.109_1; long unsigned int _2; struct xLIST_ITEM * _3; struct xLIST_ITEM * _4; struct xLIST_ITEM * _5; struct ListItem_t * _6; long unsigned int _7; long unsigned int _8; struct xLIST_ITEM * _9; struct xLIST_ITEM * _10; struct xLIST_ITEM * _11; struct ListItem_t * _12; struct ListItem_t * _13; long unsigned int _14; long unsigned int _15; long unsigned int _16; long unsigned int uxTopReadyPriority.110_17; struct xLIST_ITEM * _18; struct xLIST_ITEM * _19; struct List_t * _20; long unsigned int _21; long unsigned int _22; struct TCB_t * pxCurrentTCB.111_23; long unsigned int _24; [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxSchedulerSuspended.109_1 ={v} uxSchedulerSuspended; if (uxSchedulerSuspended.109_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_54 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_54 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = xItemValue_30(D) | 2147483648; pxEventListItem_31(D)->xItemValue = _2; # DEBUG BEGIN_STMT pxUnblockedTCB_33 = pxEventListItem_31(D)->pvOwner; # DEBUG pxUnblockedTCB => pxUnblockedTCB_33 # DEBUG BEGIN_STMT if (pxUnblockedTCB_33 == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 32212]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_55 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_55 [local count: 322122547]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 322122547]: goto ; [100.00%] [local count: 75162]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxList_34 = pxEventListItem_31(D)->pvContainer; # DEBUG pxList => pxList_34 # DEBUG BEGIN_STMT _3 = pxEventListItem_31(D)->pxNext; _4 = pxEventListItem_31(D)->pxPrevious; _3->pxPrevious = _4; # DEBUG BEGIN_STMT _5 = pxEventListItem_31(D)->pxPrevious; _5->pxNext = _3; # DEBUG BEGIN_STMT _6 = pxList_34->pxIndex; if (_6 == pxEventListItem_31(D)) goto ; [30.00%] else goto ; [70.00%] [local count: 22549]: # DEBUG BEGIN_STMT pxList_34->pxIndex = _5; [local count: 75162]: # DEBUG BEGIN_STMT pxEventListItem_31(D)->pvContainer = 0B; # DEBUG BEGIN_STMT _7 ={v} pxList_34->uxNumberOfItems; _8 = _7 + 4294967295; pxList_34->uxNumberOfItems ={v} _8; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxList_40 = pxUnblockedTCB_33->xStateListItem.pvContainer; # DEBUG pxList => pxList_40 # DEBUG BEGIN_STMT _9 = pxUnblockedTCB_33->xStateListItem.pxNext; _10 = pxUnblockedTCB_33->xStateListItem.pxPrevious; _9->pxPrevious = _10; # DEBUG BEGIN_STMT _11 = pxUnblockedTCB_33->xStateListItem.pxPrevious; _11->pxNext = _9; # DEBUG BEGIN_STMT _12 = pxList_40->pxIndex; _13 = &pxUnblockedTCB_33->xStateListItem; if (_12 == _13) goto ; [30.00%] else goto ; [70.00%] [local count: 22549]: # DEBUG BEGIN_STMT pxList_40->pxIndex = _11; [local count: 75162]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _14 ={v} pxList_40->uxNumberOfItems; _15 = _14 + 4294967295; pxList_40->uxNumberOfItems ={v} _15; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _16 = pxUnblockedTCB_33->uxPriority; uxTopReadyPriority.110_17 ={v} uxTopReadyPriority; if (_16 > uxTopReadyPriority.110_17) goto ; [50.00%] else goto ; [50.00%] [local count: 37581]: # DEBUG BEGIN_STMT uxTopReadyPriority ={v} _16; [local count: 75162]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxIndex_46 = pxReadyTasksLists[_16].pxIndex; # DEBUG pxIndex => pxIndex_46 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxUnblockedTCB_33->xStateListItem.pxNext = pxIndex_46; # DEBUG BEGIN_STMT _18 = pxIndex_46->pxPrevious; pxUnblockedTCB_33->xStateListItem.pxPrevious = _18; # DEBUG BEGIN_STMT _19 = pxIndex_46->pxPrevious; _19->pxNext = _13; # DEBUG BEGIN_STMT pxIndex_46->pxPrevious = _13; # DEBUG BEGIN_STMT _20 = &pxReadyTasksLists[_16]; pxUnblockedTCB_33->xStateListItem.pvContainer = _20; # DEBUG BEGIN_STMT _21 ={v} pxReadyTasksLists[_16].uxNumberOfItems; _22 = _21 + 1; pxReadyTasksLists[_16].uxNumberOfItems ={v} _22; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxCurrentTCB.111_23 ={v} pxCurrentTCB; _24 = pxCurrentTCB.111_23->uxPriority; if (_16 > _24) goto ; [50.00%] else goto ; [50.00%] [local count: 37581]: # DEBUG BEGIN_STMT xYieldPending ={v} 1; [local count: 75162]: return; } xTaskRemoveFromEventList (const struct List_t * const pxEventList) { uint32_t ulNewBASEPRI; struct ListItem_t * const pxIndex; struct ListItem_t * const pxIndex; struct List_t * const pxList; struct List_t * const pxList; BaseType_t xReturn; struct TCB_t * pxUnblockedTCB; struct xLIST_ITEM * _1; struct xLIST_ITEM * _2; struct xLIST_ITEM * _3; struct ListItem_t * _4; struct ListItem_t * _5; long unsigned int _6; long unsigned int _7; long unsigned int uxSchedulerSuspended.106_8; struct xLIST_ITEM * _9; struct xLIST_ITEM * _10; struct xLIST_ITEM * _11; struct ListItem_t * _12; struct ListItem_t * _13; long unsigned int _14; long unsigned int _15; long unsigned int _16; long unsigned int uxTopReadyPriority.107_17; struct xLIST_ITEM * _18; struct xLIST_ITEM * _19; struct List_t * _20; long unsigned int _21; long unsigned int _22; struct xLIST_ITEM * _23; struct xLIST_ITEM * _24; long unsigned int _25; long unsigned int _26; long unsigned int _27; struct TCB_t * pxCurrentTCB.108_28; long unsigned int _29; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = pxEventList_37(D)->xListEnd.pxNext; pxUnblockedTCB_38 = _1->pvOwner; # DEBUG pxUnblockedTCB => pxUnblockedTCB_38 # DEBUG BEGIN_STMT if (pxUnblockedTCB_38 == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_66 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_66 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxList_39 = pxUnblockedTCB_38->xEventListItem.pvContainer; # DEBUG pxList => pxList_39 # DEBUG BEGIN_STMT _2 = pxUnblockedTCB_38->xEventListItem.pxNext; _3 = pxUnblockedTCB_38->xEventListItem.pxPrevious; _2->pxPrevious = _3; # DEBUG BEGIN_STMT _3->pxNext = _2; # DEBUG BEGIN_STMT _4 = pxList_39->pxIndex; _5 = &pxUnblockedTCB_38->xEventListItem; if (_4 == _5) goto ; [30.00%] else goto ; [70.00%] [local count: 75162]: # DEBUG BEGIN_STMT pxList_39->pxIndex = _3; [local count: 250539]: # DEBUG BEGIN_STMT pxUnblockedTCB_38->xEventListItem.pvContainer = 0B; # DEBUG BEGIN_STMT _6 ={v} pxList_39->uxNumberOfItems; _7 = _6 + 4294967295; pxList_39->uxNumberOfItems ={v} _7; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxSchedulerSuspended.106_8 ={v} uxSchedulerSuspended; if (uxSchedulerSuspended.106_8 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 125270]: # DEBUG BEGIN_STMT pxList_52 = pxUnblockedTCB_38->xStateListItem.pvContainer; # DEBUG pxList => pxList_52 # DEBUG BEGIN_STMT _9 = pxUnblockedTCB_38->xStateListItem.pxNext; _10 = pxUnblockedTCB_38->xStateListItem.pxPrevious; _9->pxPrevious = _10; # DEBUG BEGIN_STMT _11 = pxUnblockedTCB_38->xStateListItem.pxPrevious; _11->pxNext = _9; # DEBUG BEGIN_STMT _12 = pxList_52->pxIndex; _13 = &pxUnblockedTCB_38->xStateListItem; if (_12 == _13) goto ; [30.00%] else goto ; [70.00%] [local count: 37581]: # DEBUG BEGIN_STMT pxList_52->pxIndex = _11; [local count: 125270]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _14 ={v} pxList_52->uxNumberOfItems; _15 = _14 + 4294967295; pxList_52->uxNumberOfItems ={v} _15; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _16 = pxUnblockedTCB_38->uxPriority; uxTopReadyPriority.107_17 ={v} uxTopReadyPriority; if (_16 > uxTopReadyPriority.107_17) goto ; [50.00%] else goto ; [50.00%] [local count: 62635]: # DEBUG BEGIN_STMT uxTopReadyPriority ={v} _16; [local count: 125270]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxIndex_58 = pxReadyTasksLists[_16].pxIndex; # DEBUG pxIndex => pxIndex_58 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxUnblockedTCB_38->xStateListItem.pxNext = pxIndex_58; # DEBUG BEGIN_STMT _18 = pxIndex_58->pxPrevious; pxUnblockedTCB_38->xStateListItem.pxPrevious = _18; # DEBUG BEGIN_STMT _19 = pxIndex_58->pxPrevious; _19->pxNext = _13; # DEBUG BEGIN_STMT pxIndex_58->pxPrevious = _13; # DEBUG BEGIN_STMT _20 = &pxReadyTasksLists[_16]; pxUnblockedTCB_38->xStateListItem.pvContainer = _20; # DEBUG BEGIN_STMT _21 ={v} pxReadyTasksLists[_16].uxNumberOfItems; _22 = _21 + 1; pxReadyTasksLists[_16].uxNumberOfItems ={v} _22; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 125270]: # DEBUG BEGIN_STMT pxIndex_45 = xPendingReadyList.pxIndex; # DEBUG pxIndex => pxIndex_45 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxUnblockedTCB_38->xEventListItem.pxNext = pxIndex_45; # DEBUG BEGIN_STMT _23 = pxIndex_45->pxPrevious; pxUnblockedTCB_38->xEventListItem.pxPrevious = _23; # DEBUG BEGIN_STMT _24 = pxIndex_45->pxPrevious; _24->pxNext = _5; # DEBUG BEGIN_STMT pxIndex_45->pxPrevious = _5; # DEBUG BEGIN_STMT pxUnblockedTCB_38->xEventListItem.pvContainer = &xPendingReadyList; # DEBUG BEGIN_STMT _25 ={v} xPendingReadyList.uxNumberOfItems; _26 = _25 + 1; xPendingReadyList.uxNumberOfItems ={v} _26; [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _27 = pxUnblockedTCB_38->uxPriority; pxCurrentTCB.108_28 ={v} pxCurrentTCB; _29 = pxCurrentTCB.108_28->uxPriority; if (_27 > _29) goto ; [50.00%] else goto ; [50.00%] [local count: 125270]: # DEBUG BEGIN_STMT # DEBUG xReturn => 1 # DEBUG BEGIN_STMT xYieldPending ={v} 1; [local count: 250539]: # xReturn_30 = PHI <1(15), 0(14)> # DEBUG xReturn => xReturn_30 # DEBUG BEGIN_STMT return xReturn_30; } vTaskPlaceOnEventListRestricted (struct List_t * const pxEventList, TickType_t xTicksToWait, const BaseType_t xWaitIndefinitely) { uint32_t ulNewBASEPRI; struct ListItem_t * const pxIndex; struct TCB_t * pxCurrentTCB.101_1; struct TCB_t * pxCurrentTCB.102_2; struct xLIST_ITEM * _3; struct TCB_t * pxCurrentTCB.103_4; struct xLIST_ITEM * _5; struct ListItem_t * _6; struct TCB_t * pxCurrentTCB.104_7; struct ListItem_t * _8; struct TCB_t * pxCurrentTCB.105_9; long unsigned int _10; long unsigned int _11; [local count: 357913]: # DEBUG BEGIN_STMT if (pxEventList_13(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_25 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_25 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxIndex_15 = pxEventList_13(D)->pxIndex; # DEBUG pxIndex => pxIndex_15 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxCurrentTCB.101_1 ={v} pxCurrentTCB; pxCurrentTCB.101_1->xEventListItem.pxNext = pxIndex_15; # DEBUG BEGIN_STMT pxCurrentTCB.102_2 ={v} pxCurrentTCB; _3 = pxIndex_15->pxPrevious; pxCurrentTCB.102_2->xEventListItem.pxPrevious = _3; # DEBUG BEGIN_STMT pxCurrentTCB.103_4 ={v} pxCurrentTCB; _5 = pxIndex_15->pxPrevious; _6 = &pxCurrentTCB.103_4->xEventListItem; _5->pxNext = _6; # DEBUG BEGIN_STMT pxCurrentTCB.104_7 ={v} pxCurrentTCB; _8 = &pxCurrentTCB.104_7->xEventListItem; pxIndex_15->pxPrevious = _8; # DEBUG BEGIN_STMT pxCurrentTCB.105_9 ={v} pxCurrentTCB; pxCurrentTCB.105_9->xEventListItem.pvContainer = pxEventList_13(D); # DEBUG BEGIN_STMT _10 ={v} pxEventList_13(D)->uxNumberOfItems; _11 = _10 + 1; pxEventList_13(D)->uxNumberOfItems ={v} _11; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xWaitIndefinitely_22(D) != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 125270]: # DEBUG BEGIN_STMT # DEBUG xTicksToWait => 4294967295 [local count: 250539]: # xTicksToWait_12 = PHI # DEBUG xTicksToWait => xTicksToWait_12 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT prvAddCurrentTaskToDelayedList (xTicksToWait_12, xWaitIndefinitely_22(D)); return; } vTaskPlaceOnUnorderedEventList (struct List_t * pxEventList, const TickType_t xItemValue, const TickType_t xTicksToWait) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; struct ListItem_t * const pxIndex; long unsigned int uxSchedulerSuspended.94_1; struct TCB_t * pxCurrentTCB.95_2; long unsigned int _3; struct TCB_t * pxCurrentTCB.96_4; struct TCB_t * pxCurrentTCB.97_5; struct xLIST_ITEM * _6; struct TCB_t * pxCurrentTCB.98_7; struct xLIST_ITEM * _8; struct ListItem_t * _9; struct TCB_t * pxCurrentTCB.99_10; struct ListItem_t * _11; struct TCB_t * pxCurrentTCB.100_12; long unsigned int _13; long unsigned int _14; [local count: 228942]: # DEBUG BEGIN_STMT if (pxEventList_15(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 68683]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_28 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_28 [local count: 686828460]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 686828460]: goto ; [100.00%] [local count: 160260]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxSchedulerSuspended.94_1 ={v} uxSchedulerSuspended; if (uxSchedulerSuspended.94_1 == 0) goto ; [67.00%] else goto ; [33.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_29 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_29 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 52886]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxCurrentTCB.95_2 ={v} pxCurrentTCB; _3 = xItemValue_17(D) | 2147483648; pxCurrentTCB.95_2->xEventListItem.xItemValue = _3; # DEBUG BEGIN_STMT pxIndex_19 = pxEventList_15(D)->pxIndex; # DEBUG pxIndex => pxIndex_19 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxCurrentTCB.96_4 ={v} pxCurrentTCB; pxCurrentTCB.96_4->xEventListItem.pxNext = pxIndex_19; # DEBUG BEGIN_STMT pxCurrentTCB.97_5 ={v} pxCurrentTCB; _6 = pxIndex_19->pxPrevious; pxCurrentTCB.97_5->xEventListItem.pxPrevious = _6; # DEBUG BEGIN_STMT pxCurrentTCB.98_7 ={v} pxCurrentTCB; _8 = pxIndex_19->pxPrevious; _9 = &pxCurrentTCB.98_7->xEventListItem; _8->pxNext = _9; # DEBUG BEGIN_STMT pxCurrentTCB.99_10 ={v} pxCurrentTCB; _11 = &pxCurrentTCB.99_10->xEventListItem; pxIndex_19->pxPrevious = _11; # DEBUG BEGIN_STMT pxCurrentTCB.100_12 ={v} pxCurrentTCB; pxCurrentTCB.100_12->xEventListItem.pvContainer = pxEventList_15(D); # DEBUG BEGIN_STMT _13 ={v} pxEventList_15(D)->uxNumberOfItems; _14 = _13 + 1; pxEventList_15(D)->uxNumberOfItems ={v} _14; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT prvAddCurrentTaskToDelayedList (xTicksToWait_26(D), 1); return; } vTaskPlaceOnEventList (struct List_t * const pxEventList, const TickType_t xTicksToWait) { uint32_t ulNewBASEPRI; struct TCB_t * pxCurrentTCB.93_1; struct ListItem_t * _2; [local count: 230763]: # DEBUG BEGIN_STMT if (pxEventList_3(D) == 0B) goto ; [46.53%] else goto ; [53.47%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_8 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 123389]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxCurrentTCB.93_1 ={v} pxCurrentTCB; _2 = &pxCurrentTCB.93_1->xEventListItem; vListInsert (pxEventList_3(D), _2); # DEBUG BEGIN_STMT prvAddCurrentTaskToDelayedList (xTicksToWait_6(D), 1); return; } __attribute__((used)) vTaskSwitchContext () { UBaseType_t uxTopPriority; long unsigned int uxSchedulerSuspended.92_1; long unsigned int _2; struct ListItem_t * _3; struct xLIST_ITEM * _4; struct MiniListItem_t * _6; struct xLIST_ITEM * _8; struct ListItem_t * _9; void * _10; [local count: 441995]: # DEBUG BEGIN_STMT uxSchedulerSuspended.92_1 ={v} uxSchedulerSuspended; if (uxSchedulerSuspended.92_1 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 220997]: # DEBUG BEGIN_STMT xYieldPending ={v} 1; goto ; [100.00%] [local count: 220997]: # DEBUG BEGIN_STMT xYieldPending ={v} 0; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxTopPriority_15 ={v} uxTopReadyPriority; # DEBUG uxTopPriority => uxTopPriority_15 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 1952255]: # DEBUG BEGIN_STMT if (uxTopPriority_11 == 0) goto ; [5.50%] else goto ; [94.50%] [local count: 107374]: vTaskSwitchContext.part.0 (); [local count: 1844881]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxTopPriority_21 = uxTopPriority_11 + 4294967295; # DEBUG uxTopPriority => uxTopPriority_21 [local count: 2065878]: # uxTopPriority_11 = PHI # DEBUG uxTopPriority => uxTopPriority_11 # DEBUG BEGIN_STMT _2 ={v} pxReadyTasksLists[uxTopPriority_11].uxNumberOfItems; if (_2 == 0) goto ; [94.50%] else goto ; [5.50%] [local count: 113623]: # uxTopPriority_5 = PHI # DEBUG BEGIN_STMT # DEBUG D#6 => &pxReadyTasksLists[uxTopPriority_5] # DEBUG pxConstList => D#6 # DEBUG BEGIN_STMT _3 = MEM[(struct List_t *)&pxReadyTasksLists][uxTopPriority_5].pxIndex; _4 = _3->pxNext; MEM[(struct List_t *)&pxReadyTasksLists][uxTopPriority_5].pxIndex = _4; # DEBUG BEGIN_STMT _6 = &MEM[(struct List_t *)&pxReadyTasksLists][uxTopPriority_5].xListEnd; if (_4 == _6) goto ; [30.00%] else goto ; [70.00%] [local count: 34087]: # DEBUG BEGIN_STMT _8 = MEM[(struct ListItem_t *)_4].pxNext; MEM[(struct List_t *)&pxReadyTasksLists][uxTopPriority_5].pxIndex = _8; [local count: 113623]: # DEBUG BEGIN_STMT _9 = MEM[(struct List_t *)&pxReadyTasksLists][uxTopPriority_5].pxIndex; _10 = _9->pvOwner; pxCurrentTCB ={v} _10; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxTopReadyPriority ={v} uxTopPriority_5; [local count: 334621]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return; } xTaskIncrementTick () { BaseType_t xSwitchRequired; long unsigned int uxSchedulerSuspended.79_1; long unsigned int xPendedTicks.91_5; long unsigned int _6; [local count: 641039]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG xSwitchRequired => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxSchedulerSuspended.79_1 ={v} uxSchedulerSuspended; if (uxSchedulerSuspended.79_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 320520]: xSwitchRequired_2 = xTaskIncrementTick.part.0 (); goto ; [100.00%] [local count: 320519]: # DEBUG BEGIN_STMT xPendedTicks.91_5 ={v} xPendedTicks; _6 = xPendedTicks.91_5 + 1; xPendedTicks ={v} _6; [local count: 533665]: # xSwitchRequired_7 = PHI # DEBUG xSwitchRequired => xSwitchRequired_7 # DEBUG BEGIN_STMT return xSwitchRequired_7; } xTaskAbortDelay (struct tskTaskControlBlock * xTask) { uint32_t ulNewBASEPRI; struct ListItem_t * const pxIndex; BaseType_t xReturn; _1; struct ListItem_t * _2; struct xLIST * _3; struct ListItem_t * _4; long unsigned int _5; long unsigned int uxTopReadyPriority.77_6; struct xLIST_ITEM * _7; struct xLIST_ITEM * _8; struct List_t * _9; long unsigned int _10; long unsigned int _11; struct TCB_t * pxCurrentTCB.78_12; long unsigned int _13; [local count: 230763]: # DEBUG BEGIN_STMT # DEBUG pxTCB => xTask_18(D) # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xTask_18(D) == 0B) goto ; [46.53%] else goto ; [53.47%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_37 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_37 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 123389]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT _1 = eTaskGetState (xTask_18(D)); if (_1 == 2) goto ; [20.24%] else goto ; [79.76%] [local count: 24974]: # DEBUG BEGIN_STMT # DEBUG xReturn => 1 # DEBUG BEGIN_STMT _2 = &MEM[(struct TCB_t *)xTask_18(D)].xStateListItem; uxListRemove (_2); # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _3 = MEM[(struct TCB_t *)xTask_18(D)].xEventListItem.pvContainer; if (_3 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 13354]: # DEBUG BEGIN_STMT _4 = &MEM[(struct TCB_t *)xTask_18(D)].xEventListItem; uxListRemove (_4); # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTask_18(D)].ucDelayAborted = 1; [local count: 24974]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _5 = MEM[(struct TCB_t *)xTask_18(D)].uxPriority; uxTopReadyPriority.77_6 ={v} uxTopReadyPriority; if (_5 > uxTopReadyPriority.77_6) goto ; [50.00%] else goto ; [50.00%] [local count: 12487]: # DEBUG BEGIN_STMT uxTopReadyPriority ={v} _5; [local count: 24974]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxIndex_28 = pxReadyTasksLists[_5].pxIndex; # DEBUG pxIndex => pxIndex_28 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTask_18(D)].xStateListItem.pxNext = pxIndex_28; # DEBUG BEGIN_STMT _7 = pxIndex_28->pxPrevious; MEM[(struct TCB_t *)xTask_18(D)].xStateListItem.pxPrevious = _7; # DEBUG BEGIN_STMT _8 = pxIndex_28->pxPrevious; _8->pxNext = _2; # DEBUG BEGIN_STMT pxIndex_28->pxPrevious = _2; # DEBUG BEGIN_STMT _9 = &pxReadyTasksLists[_5]; MEM[(struct TCB_t *)xTask_18(D)].xStateListItem.pvContainer = _9; # DEBUG BEGIN_STMT _10 ={v} pxReadyTasksLists[_5].uxNumberOfItems; _11 = _10 + 1; pxReadyTasksLists[_5].uxNumberOfItems ={v} _11; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxCurrentTCB.78_12 ={v} pxCurrentTCB; _13 = pxCurrentTCB.78_12->uxPriority; if (_5 > _13) goto ; [50.00%] else goto ; [50.00%] [local count: 12487]: # DEBUG BEGIN_STMT xYieldPending ={v} 1; [local count: 123389]: # xReturn_14 = PHI <1(11), 0(5), 1(10)> # DEBUG xReturn => xReturn_14 # DEBUG BEGIN_STMT xTaskResumeAll (); # DEBUG BEGIN_STMT return xReturn_14; } xTaskCatchUpTicks (TickType_t xTicksToCatchUp) { uint32_t ulNewBASEPRI; BaseType_t xYieldOccurred; long unsigned int uxSchedulerSuspended.75_1; long unsigned int xPendedTicks.76_2; long unsigned int _3; [local count: 160260]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxSchedulerSuspended.75_1 ={v} uxSchedulerSuspended; if (uxSchedulerSuspended.75_1 != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_10 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_10 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 52886]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT xPendedTicks.76_2 ={v} xPendedTicks; _3 = xPendedTicks.76_2 + xTicksToCatchUp_6(D); xPendedTicks ={v} _3; # DEBUG BEGIN_STMT xYieldOccurred_9 = xTaskResumeAll (); # DEBUG xYieldOccurred => xYieldOccurred_9 # DEBUG BEGIN_STMT return xYieldOccurred_9; } uxTaskGetSystemState (struct TaskStatus_t * const pxTaskStatusArray, const UBaseType_t uxArraySize, uint32_t * const pulTotalRunTime) { UBaseType_t uxQueue; UBaseType_t uxTask; long unsigned int uxCurrentNumberOfTasks.72_1; long unsigned int _2; struct TaskStatus_t * _3; struct List_t * _4; long unsigned int _5; struct TaskStatus_t * _6; struct List_t * pxDelayedTaskList.73_7; long unsigned int _8; struct TaskStatus_t * _9; struct List_t * pxOverflowDelayedTaskList.74_10; long unsigned int _11; struct TaskStatus_t * _12; long unsigned int _13; struct TaskStatus_t * _14; long unsigned int _27; long unsigned int _30; long unsigned int _33; long unsigned int _36; long unsigned int _39; [local count: 429496728]: # DEBUG BEGIN_STMT # DEBUG uxTask => 0 # DEBUG uxQueue => 5 # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT uxCurrentNumberOfTasks.72_1 ={v} uxCurrentNumberOfTasks; if (uxCurrentNumberOfTasks.72_1 <= uxArraySize_23(D)) goto ; [50.00%] else goto ; [50.00%] [local count: 214748364]: [local count: 1073741824]: # uxTask_15 = PHI <0(7), uxTask_28(8)> # uxQueue_17 = PHI <5(7), uxQueue_24(8)> # DEBUG uxQueue => uxQueue_17 # DEBUG uxTask => uxTask_15 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxQueue_24 = uxQueue_17 + 4294967295; # DEBUG uxQueue => uxQueue_24 # DEBUG BEGIN_STMT _2 = uxTask_15 * 36; _3 = pxTaskStatusArray_25(D) + _2; _4 = &pxReadyTasksLists[uxQueue_24]; _27 = prvListTasksWithinSingleList (_3, _4, 1); uxTask_28 = uxTask_15 + _27; # DEBUG uxTask => uxTask_28 # DEBUG BEGIN_STMT if (uxQueue_24 != 0) goto ; [80.00%] else goto ; [20.00%] [local count: 858993459]: goto ; [100.00%] [local count: 214748365]: # uxTask_20 = PHI # DEBUG BEGIN_STMT _5 = uxTask_20 * 36; _6 = pxTaskStatusArray_25(D) + _5; pxDelayedTaskList.73_7 ={v} pxDelayedTaskList; _30 = prvListTasksWithinSingleList (_6, pxDelayedTaskList.73_7, 2); uxTask_31 = uxTask_20 + _30; # DEBUG uxTask => uxTask_31 # DEBUG BEGIN_STMT _8 = uxTask_31 * 36; _9 = pxTaskStatusArray_25(D) + _8; pxOverflowDelayedTaskList.74_10 ={v} pxOverflowDelayedTaskList; _33 = prvListTasksWithinSingleList (_9, pxOverflowDelayedTaskList.74_10, 2); uxTask_34 = uxTask_31 + _33; # DEBUG uxTask => uxTask_34 # DEBUG BEGIN_STMT _11 = uxTask_34 * 36; _12 = pxTaskStatusArray_25(D) + _11; _36 = prvListTasksWithinSingleList (_12, &xTasksWaitingTermination, 4); uxTask_37 = uxTask_34 + _36; # DEBUG uxTask => uxTask_37 # DEBUG BEGIN_STMT _13 = uxTask_37 * 36; _14 = pxTaskStatusArray_25(D) + _13; _39 = prvListTasksWithinSingleList (_14, &xSuspendedTaskList, 3); uxTask_40 = uxTask_37 + _39; # DEBUG uxTask => uxTask_40 # DEBUG BEGIN_STMT if (pulTotalRunTime_41(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 150323855]: # DEBUG BEGIN_STMT *pulTotalRunTime_41(D) = 0; [local count: 429496729]: # uxTask_16 = PHI <0(2), uxTask_40(5), uxTask_40(4)> # DEBUG uxTask => uxTask_16 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xTaskResumeAll (); # DEBUG BEGIN_STMT return uxTask_16; } xTaskGetHandle (const char * pcNameToQuery) { uint32_t ulNewBASEPRI; struct TCB_t * pxTCB; UBaseType_t uxQueue; unsigned int _1; struct List_t * _2; struct List_t * pxDelayedTaskList.70_3; struct List_t * pxOverflowDelayedTaskList.71_4; [local count: 160260]: # DEBUG BEGIN_STMT # DEBUG uxQueue => 5 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = strlen (pcNameToQuery_17(D)); if (_1 > 9) goto ; [67.00%] else goto ; [33.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_31 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_31 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 52886]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vTaskSuspendAll (); [local count: 216745]: # uxQueue_5 = PHI <5(5), uxQueue_19(18)> # DEBUG uxQueue => uxQueue_5 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxQueue_19 = uxQueue_5 + 4294967295; # DEBUG uxQueue => uxQueue_19 # DEBUG BEGIN_STMT _2 = &pxReadyTasksLists[uxQueue_19]; pxTCB_21 = prvSearchForNameWithinSingleList (_2, pcNameToQuery_17(D)); # DEBUG pxTCB => pxTCB_21 # DEBUG BEGIN_STMT if (pxTCB_21 != 0B) goto ; [5.50%] else goto ; [94.50%] [local count: 204824]: # DEBUG BEGIN_STMT if (uxQueue_19 != 0) goto ; [80.00%] else goto ; [20.00%] [local count: 163859]: goto ; [100.00%] [local count: 52886]: # pxTCB_15 = PHI # DEBUG BEGIN_STMT if (pxTCB_15 == 0B) goto ; [17.43%] else goto ; [82.57%] [local count: 9218]: # DEBUG BEGIN_STMT pxDelayedTaskList.70_3 ={v} pxDelayedTaskList; pxTCB_23 = prvSearchForNameWithinSingleList (pxDelayedTaskList.70_3, pcNameToQuery_17(D)); # DEBUG pxTCB => pxTCB_23 [local count: 52886]: # pxTCB_6 = PHI # DEBUG pxTCB => pxTCB_6 # DEBUG BEGIN_STMT if (pxTCB_6 == 0B) goto ; [17.43%] else goto ; [82.57%] [local count: 9218]: # DEBUG BEGIN_STMT pxOverflowDelayedTaskList.71_4 ={v} pxOverflowDelayedTaskList; pxTCB_25 = prvSearchForNameWithinSingleList (pxOverflowDelayedTaskList.71_4, pcNameToQuery_17(D)); # DEBUG pxTCB => pxTCB_25 [local count: 52886]: # pxTCB_7 = PHI # DEBUG pxTCB => pxTCB_7 # DEBUG BEGIN_STMT if (pxTCB_7 == 0B) goto ; [17.43%] else goto ; [82.57%] [local count: 9218]: # DEBUG BEGIN_STMT pxTCB_27 = prvSearchForNameWithinSingleList (&xSuspendedTaskList, pcNameToQuery_17(D)); # DEBUG pxTCB => pxTCB_27 [local count: 52886]: # pxTCB_8 = PHI # DEBUG pxTCB => pxTCB_8 # DEBUG BEGIN_STMT if (pxTCB_8 == 0B) goto ; [17.43%] else goto ; [82.57%] [local count: 9218]: # DEBUG BEGIN_STMT pxTCB_29 = prvSearchForNameWithinSingleList (&xTasksWaitingTermination, pcNameToQuery_17(D)); # DEBUG pxTCB => pxTCB_29 [local count: 52886]: # pxTCB_9 = PHI # DEBUG pxTCB => pxTCB_9 # DEBUG BEGIN_STMT xTaskResumeAll (); # DEBUG BEGIN_STMT return pxTCB_9; } prvSearchForNameWithinSingleList (struct List_t * pxList, const char * pcNameToQuery) { char cNextChar; UBaseType_t x; struct TCB_t * pxReturn; struct TCB_t * pxFirstTCB; struct TCB_t * pxNextTCB; long unsigned int _1; struct ListItem_t * _2; struct xLIST_ITEM * _3; struct MiniListItem_t * _4; struct xLIST_ITEM * _5; struct ListItem_t * _6; struct ListItem_t * _7; struct xLIST_ITEM * _8; struct xLIST_ITEM * _9; struct ListItem_t * _10; const char * _11; char _12; [local count: 25274560]: # DEBUG BEGIN_STMT # DEBUG pxReturn => 0B # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 ={v} pxList_23(D)->uxNumberOfItems; if (_1 != 0) goto ; [71.00%] else goto ; [29.00%] [local count: 17944938]: # DEBUG BEGIN_STMT # DEBUG pxConstList => pxList_23(D) # DEBUG BEGIN_STMT _2 = pxList_23(D)->pxIndex; _3 = _2->pxNext; pxList_23(D)->pxIndex = _3; # DEBUG BEGIN_STMT _4 = &pxList_23(D)->xListEnd; if (_3 == _4) goto ; [30.00%] else goto ; [70.00%] [local count: 5383481]: # DEBUG BEGIN_STMT _5 = MEM[(struct ListItem_t *)_3].pxNext; pxList_23(D)->pxIndex = _5; [local count: 17944938]: # DEBUG BEGIN_STMT _6 = pxList_23(D)->pxIndex; pxFirstTCB_26 = _6->pvOwner; # DEBUG pxFirstTCB => pxFirstTCB_26 [local count: 167748888]: # pxReturn_13 = PHI <0B(5), 0B(16)> # DEBUG pxReturn => pxReturn_13 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxConstList => pxList_23(D) # DEBUG BEGIN_STMT _7 = pxList_23(D)->pxIndex; _8 = _7->pxNext; pxList_23(D)->pxIndex = _8; # DEBUG BEGIN_STMT if (_4 == _8) goto ; [30.00%] else goto ; [70.00%] [local count: 50324666]: # DEBUG BEGIN_STMT _9 = MEM[(struct ListItem_t *)_8].pxNext; pxList_23(D)->pxIndex = _9; [local count: 167748888]: # DEBUG BEGIN_STMT _10 = pxList_23(D)->pxIndex; pxNextTCB_29 = _10->pvOwner; # DEBUG pxNextTCB => pxNextTCB_29 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG xBreakLoop => 0 # DEBUG BEGIN_STMT # DEBUG x => 0 goto ; [100.00%] [local count: 976138693]: # DEBUG BEGIN_STMT cNextChar_30 = pxNextTCB_29->pcTaskName[x_17]; # DEBUG cNextChar => cNextChar_30 # DEBUG BEGIN_STMT _11 = pcNameToQuery_31(D) + x_17; _12 = *_11; if (_12 != cNextChar_30) goto ; [3.66%] else goto ; [96.34%] [local count: 940412017]: # DEBUG BEGIN_STMT if (cNextChar_30 == 0) goto ; [3.66%] else goto ; [96.34%] [local count: 905992937]: # DEBUG xBreakLoop => 0 # DEBUG pxReturn => pxReturn_14 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT x_32 = x_17 + 1; # DEBUG x => x_32 [local count: 1073741824]: # pxReturn_14 = PHI # x_17 = PHI <0(8), x_32(11)> # DEBUG xBreakLoop => 0 # DEBUG x => x_17 # DEBUG pxReturn => pxReturn_14 # DEBUG BEGIN_STMT if (x_17 != 10) goto ; [90.91%] else goto ; [9.09%] [local count: 167748888]: # pxReturn_15 = PHI # DEBUG xBreakLoop => NULL # DEBUG pxReturn => pxReturn_15 # DEBUG BEGIN_STMT if (pxReturn_15 != 0B) goto ; [5.50%] else goto ; [94.50%] [local count: 158522699]: # DEBUG BEGIN_STMT if (pxFirstTCB_26 != pxNextTCB_29) goto ; [94.50%] else goto ; [5.50%] [local count: 149803950]: goto ; [100.00%] [local count: 25274560]: # pxReturn_16 = PHI <0B(2), 0B(14), pxReturn_15(13)> # DEBUG pxReturn => pxReturn_16 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return pxReturn_16; } pcTaskGetName (struct tskTaskControlBlock * xTaskToQuery) { uint32_t ulNewBASEPRI; struct TCB_t * iftmp.69_1; struct TCB_t * iftmp.69_4; char * _5; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xTaskToQuery_2(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: iftmp.69_4 ={v} pxCurrentTCB; [local count: 357913]: # iftmp.69_1 = PHI # DEBUG pxTCB => iftmp.69_1 # DEBUG BEGIN_STMT if (iftmp.69_1 == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_6 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_6 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _5 = &iftmp.69_1->pcTaskName[0]; return _5; } uxTaskGetNumberOfTasks () { UBaseType_t _2; [local count: 1073741824]: # DEBUG BEGIN_STMT _2 ={v} uxCurrentNumberOfTasks; return _2; } xTaskGetTickCountFromISR () { TickType_t xReturn; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortValidateInterruptPriority (); # DEBUG BEGIN_STMT # DEBUG uxSavedInterruptStatus => 0 # DEBUG BEGIN_STMT xReturn_3 ={v} xTickCount; # DEBUG xReturn => xReturn_3 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xReturn_3; } xTaskGetTickCount () { TickType_t xTicks; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xTicks_2 ={v} xTickCount; # DEBUG xTicks => xTicks_2 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xTicks_2; } xTaskResumeAll () { BaseType_t D.8425; uint32_t ulNewBASEPRI; long unsigned int uxSchedulerSuspended.62_1; [local count: 160260]: # DEBUG BEGIN_STMT # DEBUG pxTCB => 0B # DEBUG BEGIN_STMT # DEBUG xAlreadyYielded => 0 # DEBUG BEGIN_STMT uxSchedulerSuspended.62_1 ={v} uxSchedulerSuspended; if (uxSchedulerSuspended.62_1 == 0) goto ; [67.00%] else goto ; [33.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_5 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_5 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 52886]: _2 = xTaskResumeAll.part.0 (); return _2; } vTaskSuspendAll () { long unsigned int uxSchedulerSuspended.61_1; long unsigned int _2; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxSchedulerSuspended.61_1 ={v} uxSchedulerSuspended; _2 = uxSchedulerSuspended.61_1 + 1; uxSchedulerSuspended ={v} _2; # DEBUG BEGIN_STMT __asm__ __volatile__("" : : : "memory"); return; } vTaskEndScheduler () { uint32_t ulNewBASEPRI; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_4 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT xSchedulerRunning ={v} 0; # DEBUG BEGIN_STMT vPortEndScheduler (); return; } vTaskStartScheduler () { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; BaseType_t xReturn; long unsigned int vol.57_13; [local count: 395945]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xReturn_6 = xTaskCreate (prvIdleTask, "IDLE", 90, 0B, 0, &xIdleTaskHandle); # DEBUG xReturn => xReturn_6 # DEBUG BEGIN_STMT if (xReturn_6 == 1) goto ; [20.24%] else goto ; [79.76%] [local count: 80139]: # DEBUG BEGIN_STMT xReturn_8 = xTimerCreateTimerTask (); # DEBUG xReturn => xReturn_8 [local count: 395945]: # xReturn_1 = PHI # DEBUG xReturn => xReturn_1 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xReturn_1 == 1) goto ; [20.24%] else goto ; [79.76%] [local count: 80139]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_14 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT xNextTaskUnblockTime ={v} 4294967295; # DEBUG BEGIN_STMT xSchedulerRunning ={v} 1; # DEBUG BEGIN_STMT xTickCount ={v} 0; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xPortStartScheduler (); goto ; [100.00%] [local count: 315806]: # DEBUG BEGIN_STMT if (xReturn_1 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_15 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_15 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 288571]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vol.57_13 ={v} uxTopUsedPriority; return; } xTaskResumeFromISR (struct tskTaskControlBlock * xTaskToResume) { uint32_t ulOriginalBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; struct ListItem_t * const pxIndex; BaseType_t xYieldRequired; long int _1; long unsigned int uxSchedulerSuspended.54_2; long unsigned int _3; struct TCB_t * pxCurrentTCB.55_4; long unsigned int _5; struct ListItem_t * _6; long unsigned int _7; long unsigned int uxTopReadyPriority.56_8; struct xLIST_ITEM * _9; struct xLIST_ITEM * _10; struct List_t * _11; long unsigned int _12; long unsigned int _13; struct ListItem_t * _14; [local count: 230763]: # DEBUG BEGIN_STMT # DEBUG xYieldRequired => 0 # DEBUG BEGIN_STMT # DEBUG pxTCB => xTaskToResume_20(D) # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xTaskToResume_20(D) == 0B) goto ; [46.53%] else goto ; [53.47%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_35 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_35 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 123389]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortValidateInterruptPriority (); # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mrs %0, basepri mov %1, %2 msr basepri, %1 isb dsb " : "=r" ulOriginalBASEPRI_36, "=r" ulNewBASEPRI_37 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_37 # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_36 # DEBUG BEGIN_STMT # DEBUG ulNewBASEPRI => NULL # DEBUG ulOriginalBASEPRI => NULL # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_36 # DEBUG BEGIN_STMT _1 = prvTaskIsTaskSuspended (xTaskToResume_20(D)); if (_1 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 61694]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxSchedulerSuspended.54_2 ={v} uxSchedulerSuspended; if (uxSchedulerSuspended.54_2 == 0) goto ; [67.00%] else goto ; [33.00%] [local count: 41335]: # DEBUG BEGIN_STMT _3 = MEM[(struct TCB_t *)xTaskToResume_20(D)].uxPriority; pxCurrentTCB.55_4 ={v} pxCurrentTCB; _5 = pxCurrentTCB.55_4->uxPriority; if (_3 >= _5) goto ; [50.00%] else goto ; [50.00%] [local count: 20668]: # DEBUG BEGIN_STMT # DEBUG xYieldRequired => 1 # DEBUG BEGIN_STMT xYieldPending ={v} 1; [local count: 41335]: # xYieldRequired_15 = PHI <0(7), 1(8)> # DEBUG xYieldRequired => xYieldRequired_15 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _6 = &MEM[(struct TCB_t *)xTaskToResume_20(D)].xStateListItem; uxListRemove (_6); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _7 = MEM[(struct TCB_t *)xTaskToResume_20(D)].uxPriority; uxTopReadyPriority.56_8 ={v} uxTopReadyPriority; if (_7 > uxTopReadyPriority.56_8) goto ; [50.00%] else goto ; [50.00%] [local count: 20668]: # DEBUG BEGIN_STMT uxTopReadyPriority ={v} _7; [local count: 41335]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxIndex_28 = pxReadyTasksLists[_7].pxIndex; # DEBUG pxIndex => pxIndex_28 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTaskToResume_20(D)].xStateListItem.pxNext = pxIndex_28; # DEBUG BEGIN_STMT _9 = pxIndex_28->pxPrevious; MEM[(struct TCB_t *)xTaskToResume_20(D)].xStateListItem.pxPrevious = _9; # DEBUG BEGIN_STMT _10 = pxIndex_28->pxPrevious; _10->pxNext = _6; # DEBUG BEGIN_STMT pxIndex_28->pxPrevious = _6; # DEBUG BEGIN_STMT _11 = &pxReadyTasksLists[_7]; MEM[(struct TCB_t *)xTaskToResume_20(D)].xStateListItem.pvContainer = _11; # DEBUG BEGIN_STMT _12 ={v} pxReadyTasksLists[_7].uxNumberOfItems; _13 = _12 + 1; pxReadyTasksLists[_7].uxNumberOfItems ={v} _13; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 20359]: # DEBUG BEGIN_STMT _14 = &MEM[(struct TCB_t *)xTaskToResume_20(D)].xEventListItem; vListInsertEnd (&xPendingReadyList, _14); [local count: 123389]: # xYieldRequired_16 = PHI <0(5), 0(12), xYieldRequired_15(11)> # DEBUG xYieldRequired => xYieldRequired_16 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG ulNewMaskValue => ulOriginalBASEPRI_36 # DEBUG INLINE_ENTRY vPortSetBASEPRI # DEBUG BEGIN_STMT __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_36 : "memory"); # DEBUG ulNewMaskValue => NULL # DEBUG BEGIN_STMT return xYieldRequired_16; } vTaskResume (struct tskTaskControlBlock * xTaskToResume) { uint32_t ulNewBASEPRI; struct ListItem_t * const pxIndex; struct TCB_t * pxCurrentTCB.51_1; long int _2; struct ListItem_t * _3; long unsigned int _4; long unsigned int uxTopReadyPriority.52_5; struct xLIST_ITEM * _6; struct xLIST_ITEM * _7; struct List_t * _8; long unsigned int _9; long unsigned int _10; struct TCB_t * pxCurrentTCB.53_11; long unsigned int _12; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG pxTCB => xTaskToResume_16(D) # DEBUG BEGIN_STMT if (xTaskToResume_16(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_33 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_33 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxCurrentTCB.51_1 ={v} pxCurrentTCB; if (pxCurrentTCB.51_1 != xTaskToResume_16(D)) goto ; [53.47%] else goto ; [46.53%] [local count: 133963]: # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _2 = prvTaskIsTaskSuspended (xTaskToResume_16(D)); if (_2 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 44208]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _3 = &MEM[(struct TCB_t *)xTaskToResume_16(D)].xStateListItem; uxListRemove (_3); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _4 = MEM[(struct TCB_t *)xTaskToResume_16(D)].uxPriority; uxTopReadyPriority.52_5 ={v} uxTopReadyPriority; if (_4 > uxTopReadyPriority.52_5) goto ; [50.00%] else goto ; [50.00%] [local count: 22104]: # DEBUG BEGIN_STMT uxTopReadyPriority ={v} _4; [local count: 44208]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxIndex_22 = pxReadyTasksLists[_4].pxIndex; # DEBUG pxIndex => pxIndex_22 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTaskToResume_16(D)].xStateListItem.pxNext = pxIndex_22; # DEBUG BEGIN_STMT _6 = pxIndex_22->pxPrevious; MEM[(struct TCB_t *)xTaskToResume_16(D)].xStateListItem.pxPrevious = _6; # DEBUG BEGIN_STMT _7 = pxIndex_22->pxPrevious; _7->pxNext = _3; # DEBUG BEGIN_STMT pxIndex_22->pxPrevious = _3; # DEBUG BEGIN_STMT _8 = &pxReadyTasksLists[_4]; MEM[(struct TCB_t *)xTaskToResume_16(D)].xStateListItem.pvContainer = _8; # DEBUG BEGIN_STMT _9 ={v} pxReadyTasksLists[_4].uxNumberOfItems; _10 = _9 + 1; pxReadyTasksLists[_4].uxNumberOfItems ={v} _10; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxCurrentTCB.53_11 ={v} pxCurrentTCB; _12 = pxCurrentTCB.53_11->uxPriority; if (_4 >= _12) goto ; [50.00%] else goto ; [50.00%] [local count: 22104]: # DEBUG BEGIN_STMT MEM[(volatile uint32_t *)3758157060B] ={v} 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT [local count: 133963]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); [local count: 250539]: # DEBUG BEGIN_STMT return; } prvTaskIsTaskSuspended (struct tskTaskControlBlock * const xTask) { uint32_t ulNewBASEPRI; BaseType_t xReturn; struct xLIST * _1; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG xReturn => 0 # DEBUG BEGIN_STMT # DEBUG pxTCB => xTask_5(D) # DEBUG BEGIN_STMT if (xTask_5(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_8 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = MEM[(const struct TCB_t *)xTask_5(D)].xStateListItem.pvContainer; if (_1 == &xSuspendedTaskList) goto ; [30.00%] else goto ; [70.00%] [local count: 75162]: xReturn_2 = prvTaskIsTaskSuspended.part.0 (xTask_5(D)); [local count: 250539]: # xReturn_3 = PHI <0(5), xReturn_2(6)> # DEBUG xReturn => xReturn_3 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xReturn_3; } vTaskSuspend (struct tskTaskControlBlock * xTaskToSuspend) { uint32_t ulNewBASEPRI; BaseType_t x; struct ListItem_t * _1; struct xLIST * _2; struct ListItem_t * _3; unsigned char _4; long int xSchedulerRunning.46_5; struct TCB_t * pxCurrentTCB.47_6; long int xSchedulerRunning.48_7; long unsigned int uxSchedulerSuspended.49_8; long unsigned int _9; long unsigned int uxCurrentNumberOfTasks.50_10; struct TCB_t * iftmp.45_12; struct TCB_t * iftmp.45_21; [local count: 1431653]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT if (xTaskToSuspend_20(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 429496]: iftmp.45_21 ={v} pxCurrentTCB; [local count: 1431653]: # iftmp.45_12 = PHI # DEBUG pxTCB => iftmp.45_12 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = &iftmp.45_12->xStateListItem; uxListRemove (_1); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = iftmp.45_12->xEventListItem.pvContainer; if (_2 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 765505]: # DEBUG BEGIN_STMT _3 = &iftmp.45_12->xEventListItem; uxListRemove (_3); [local count: 1431653]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vListInsertEnd (&xSuspendedTaskList, _1); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG x => 0 goto ; [100.00%] [local count: 24598407]: # DEBUG BEGIN_STMT _4 ={v} iftmp.45_12->ucNotifyState[0]; if (_4 == 1) goto ; [67.00%] else goto ; [33.00%] [local count: 8117474]: goto ; [100.00%] [local count: 16480933]: # DEBUG BEGIN_STMT iftmp.45_12->ucNotifyState[0] ={v} 0; [local count: 17912586]: # x_14 = PHI <0(6), 1(8)> [local count: 26030061]: # x_11 = PHI # DEBUG x => x_11 # DEBUG BEGIN_STMT if (x_11 == 0) goto ; [94.50%] else goto ; [5.50%] [local count: 1431653]: # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT xSchedulerRunning.46_5 ={v} xSchedulerRunning; if (xSchedulerRunning.46_5 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 472446]: # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT prvResetNextTaskUnblockTime (); # DEBUG BEGIN_STMT vPortExitCritical (); [local count: 1431653]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxCurrentTCB.47_6 ={v} pxCurrentTCB; if (pxCurrentTCB.47_6 == iftmp.45_12) goto ; [30.00%] else goto ; [70.00%] [local count: 429496]: # DEBUG BEGIN_STMT xSchedulerRunning.48_7 ={v} xSchedulerRunning; if (xSchedulerRunning.48_7 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 214748]: # DEBUG BEGIN_STMT uxSchedulerSuspended.49_8 ={v} uxSchedulerSuspended; if (uxSchedulerSuspended.49_8 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_36 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_36 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT MEM[(volatile uint32_t *)3758157060B] ={v} 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 214748]: # DEBUG BEGIN_STMT _9 ={v} xSuspendedTaskList.uxNumberOfItems; uxCurrentNumberOfTasks.50_10 ={v} uxCurrentNumberOfTasks; if (_9 == uxCurrentNumberOfTasks.50_10) goto ; [51.12%] else goto ; [48.88%] [local count: 109779]: # DEBUG BEGIN_STMT pxCurrentTCB ={v} 0B; goto ; [100.00%] [local count: 104969]: # DEBUG BEGIN_STMT vTaskSwitchContext (); [local count: 1324279]: # DEBUG BEGIN_STMT return; } vTaskPrioritySet (struct tskTaskControlBlock * xTask, UBaseType_t uxNewPriority) { uint32_t ulNewBASEPRI; struct ListItem_t * const pxIndex; BaseType_t xYieldRequired; UBaseType_t uxPriorityUsedOnEntry; UBaseType_t uxCurrentBasePriority; struct TCB_t * pxCurrentTCB.41_1; struct TCB_t * pxCurrentTCB.42_2; long unsigned int _3; struct TCB_t * pxCurrentTCB.43_4; long unsigned int _5; signed int _6; long unsigned int _7; struct xLIST * _8; struct List_t * _9; struct ListItem_t * _10; long unsigned int _11; long unsigned int uxTopReadyPriority.44_12; struct xLIST_ITEM * _13; struct xLIST_ITEM * _14; struct List_t * _15; long unsigned int _16; long unsigned int _17; struct TCB_t * iftmp.40_19; struct TCB_t * iftmp.40_29; [local count: 160260]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG xYieldRequired => 0 # DEBUG BEGIN_STMT if (uxNewPriority_25(D) > 4) goto ; [67.00%] else goto ; [33.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_48 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_48 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 52886]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG uxNewPriority => uxNewPriority_25(D) # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT if (xTask_28(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 15866]: iftmp.40_29 ={v} pxCurrentTCB; [local count: 52886]: # iftmp.40_19 = PHI # DEBUG pxTCB => iftmp.40_19 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxCurrentBasePriority_30 = iftmp.40_19->uxBasePriority; # DEBUG uxCurrentBasePriority => uxCurrentBasePriority_30 # DEBUG BEGIN_STMT if (uxNewPriority_25(D) != uxCurrentBasePriority_30) goto ; [66.00%] else goto ; [34.00%] [local count: 34905]: # DEBUG BEGIN_STMT if (uxNewPriority_25(D) > uxCurrentBasePriority_30) goto ; [50.00%] else goto ; [50.00%] [local count: 17452]: # DEBUG BEGIN_STMT pxCurrentTCB.41_1 ={v} pxCurrentTCB; if (pxCurrentTCB.41_1 != iftmp.40_19) goto ; [70.00%] else goto ; [30.00%] [local count: 12217]: # DEBUG BEGIN_STMT pxCurrentTCB.42_2 ={v} pxCurrentTCB; _3 = pxCurrentTCB.42_2->uxPriority; if (_3 <= uxNewPriority_25(D)) goto ; [50.00%] else goto ; [50.00%] [local count: 6108]: # DEBUG BEGIN_STMT # DEBUG xYieldRequired => 1 goto ; [100.00%] [local count: 17452]: # DEBUG BEGIN_STMT pxCurrentTCB.43_4 ={v} pxCurrentTCB; if (pxCurrentTCB.43_4 == iftmp.40_19) goto ; [30.00%] else goto ; [70.00%] [local count: 5236]: # DEBUG BEGIN_STMT # DEBUG xYieldRequired => 1 [local count: 34905]: # xYieldRequired_18 = PHI <1(11), 0(12), 1(13), 0(9), 0(10)> # DEBUG xYieldRequired => xYieldRequired_18 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxPriorityUsedOnEntry_31 = iftmp.40_19->uxPriority; # DEBUG uxPriorityUsedOnEntry => uxPriorityUsedOnEntry_31 # DEBUG BEGIN_STMT if (uxCurrentBasePriority_30 == uxPriorityUsedOnEntry_31) goto ; [34.00%] else goto ; [66.00%] [local count: 11868]: # DEBUG BEGIN_STMT iftmp.40_19->uxPriority = uxNewPriority_25(D); [local count: 34905]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT iftmp.40_19->uxBasePriority = uxNewPriority_25(D); # DEBUG BEGIN_STMT _5 = iftmp.40_19->xEventListItem.xItemValue; _6 = (signed int) _5; if (_6 >= 0) goto ; [59.00%] else goto ; [41.00%] [local count: 20594]: # DEBUG BEGIN_STMT _7 = 5 - uxNewPriority_25(D); iftmp.40_19->xEventListItem.xItemValue = _7; [local count: 34905]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _8 = iftmp.40_19->xStateListItem.pvContainer; _9 = &pxReadyTasksLists[uxPriorityUsedOnEntry_31]; if (_8 == _9) goto ; [17.43%] else goto ; [82.57%] [local count: 6084]: # DEBUG BEGIN_STMT _10 = &iftmp.40_19->xStateListItem; uxListRemove (_10); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _11 = iftmp.40_19->uxPriority; uxTopReadyPriority.44_12 ={v} uxTopReadyPriority; if (_11 > uxTopReadyPriority.44_12) goto ; [50.00%] else goto ; [50.00%] [local count: 3042]: # DEBUG BEGIN_STMT uxTopReadyPriority ={v} _11; [local count: 6084]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxIndex_37 = pxReadyTasksLists[_11].pxIndex; # DEBUG pxIndex => pxIndex_37 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT iftmp.40_19->xStateListItem.pxNext = pxIndex_37; # DEBUG BEGIN_STMT _13 = pxIndex_37->pxPrevious; iftmp.40_19->xStateListItem.pxPrevious = _13; # DEBUG BEGIN_STMT _14 = pxIndex_37->pxPrevious; _14->pxNext = _10; # DEBUG BEGIN_STMT pxIndex_37->pxPrevious = _10; # DEBUG BEGIN_STMT _15 = &pxReadyTasksLists[_11]; iftmp.40_19->xStateListItem.pvContainer = _15; # DEBUG BEGIN_STMT _16 ={v} pxReadyTasksLists[_11].uxNumberOfItems; _17 = _16 + 1; pxReadyTasksLists[_11].uxNumberOfItems ={v} _17; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 34905]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xYieldRequired_18 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 17452]: # DEBUG BEGIN_STMT MEM[(volatile uint32_t *)3758157060B] ={v} 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT [local count: 52886]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); return; } uxTaskPriorityGetFromISR (struct tskTaskControlBlock * const xTask) { uint32_t ulOriginalBASEPRI; uint32_t ulNewBASEPRI; UBaseType_t uxReturn; const struct TCB_t * iftmp.39_1; const struct TCB_t * iftmp.39_5; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortValidateInterruptPriority (); # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mrs %0, basepri mov %1, %2 msr basepri, %1 isb dsb " : "=r" ulOriginalBASEPRI_7, "=r" ulNewBASEPRI_8 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_8 # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_7 # DEBUG BEGIN_STMT # DEBUG ulNewBASEPRI => NULL # DEBUG ulOriginalBASEPRI => NULL # DEBUG uxSavedInterruptState => ulOriginalBASEPRI_7 # DEBUG BEGIN_STMT if (xTask_4(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 322122547]: iftmp.39_5 ={v} pxCurrentTCB; [local count: 1073741824]: # iftmp.39_1 = PHI # DEBUG pxTCB => iftmp.39_1 # DEBUG BEGIN_STMT uxReturn_6 = iftmp.39_1->uxPriority; # DEBUG uxReturn => uxReturn_6 # DEBUG BEGIN_STMT # DEBUG ulNewMaskValue => ulOriginalBASEPRI_7 # DEBUG INLINE_ENTRY vPortSetBASEPRI # DEBUG BEGIN_STMT __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_7 : "memory"); # DEBUG ulNewMaskValue => NULL # DEBUG BEGIN_STMT return uxReturn_6; } uxTaskPriorityGet (struct tskTaskControlBlock * const xTask) { UBaseType_t uxReturn; const struct TCB_t * iftmp.38_1; const struct TCB_t * iftmp.38_5; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT if (xTask_4(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 322122547]: iftmp.38_5 ={v} pxCurrentTCB; [local count: 1073741824]: # iftmp.38_1 = PHI # DEBUG pxTCB => iftmp.38_1 # DEBUG BEGIN_STMT uxReturn_6 = iftmp.38_1->uxPriority; # DEBUG uxReturn => uxReturn_6 # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT return uxReturn_6; } eTaskGetState (struct tskTaskControlBlock * xTask) { uint32_t ulNewBASEPRI; BaseType_t x; const struct List_t * pxOverflowedDelayedList; const struct List_t * pxDelayedList; const struct List_t * pxStateList; eTaskState eReturn; struct TCB_t * pxCurrentTCB.37_1; struct xLIST * _2; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxTCB => xTask_5(D) # DEBUG BEGIN_STMT if (xTask_5(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_15 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_15 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxCurrentTCB.37_1 ={v} pxCurrentTCB; if (pxCurrentTCB.37_1 == xTask_5(D)) goto ; [46.53%] else goto ; [53.47%] [local count: 133963]: # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT pxStateList_9 = MEM[(const struct TCB_t *)xTask_5(D)].xStateListItem.pvContainer; # DEBUG pxStateList => pxStateList_9 # DEBUG BEGIN_STMT pxDelayedList_10 ={v} pxDelayedTaskList; # DEBUG pxDelayedList => pxDelayedList_10 # DEBUG BEGIN_STMT pxOverflowedDelayedList_11 ={v} pxOverflowDelayedTaskList; # DEBUG pxOverflowedDelayedList => pxOverflowedDelayedList_11 # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT if (pxStateList_9 == pxDelayedList_10) goto ; [18.75%] else goto ; [81.25%] [local count: 108845]: if (pxStateList_9 == pxOverflowedDelayedList_11) goto ; [18.75%] else goto ; [81.25%] [local count: 88437]: # DEBUG BEGIN_STMT if (pxStateList_9 == &xSuspendedTaskList) goto ; [30.00%] else goto ; [70.00%] [local count: 26531]: # DEBUG BEGIN_STMT _2 = MEM[(const struct TCB_t *)xTask_5(D)].xEventListItem.pvContainer; if (_2 == 0B) goto ; [44.32%] else goto ; [55.68%] [local count: 11759]: # x_4 = PHI <0(9)> eReturn_13 = eTaskGetState.part.0 (xTask_5(D)); goto ; [100.00%] [local count: 61906]: # DEBUG BEGIN_STMT if (pxStateList_9 == &xTasksWaitingTermination) goto ; [18.75%] else goto ; [81.25%] [local count: 50298]: if (pxStateList_9 == 0B) goto ; [18.75%] else goto ; [81.25%] [local count: 40867]: # DEBUG BEGIN_STMT # DEBUG eReturn => 1 [local count: 250539]: # eReturn_3 = PHI <0(5), 2(7), 2(9), 4(12), 1(13), 4(11), eReturn_13(10), 2(6)> # DEBUG eReturn => eReturn_3 # DEBUG BEGIN_STMT return eReturn_3; } vTaskDelay (const TickType_t xTicksToDelay) { uint32_t ulNewBASEPRI; BaseType_t xAlreadyYielded; long unsigned int uxSchedulerSuspended.36_1; [local count: 320519]: # DEBUG BEGIN_STMT # DEBUG xAlreadyYielded => 0 # DEBUG BEGIN_STMT if (xTicksToDelay_3(D) != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 160260]: # DEBUG BEGIN_STMT uxSchedulerSuspended.36_1 ={v} uxSchedulerSuspended; if (uxSchedulerSuspended.36_1 != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_13 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_13 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 52886]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT prvAddCurrentTaskToDelayedList (xTicksToDelay_3(D), 0); # DEBUG BEGIN_STMT xAlreadyYielded_8 = xTaskResumeAll (); # DEBUG xAlreadyYielded => xAlreadyYielded_8 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xAlreadyYielded_8 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 186703]: # DEBUG xAlreadyYielded => NULL # DEBUG BEGIN_STMT MEM[(volatile uint32_t *)3758157060B] ={v} 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT [local count: 213145]: # DEBUG BEGIN_STMT return; } xTaskDelayUntil (TickType_t * const pxPreviousWakeTime, const TickType_t xTimeIncrement) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; const TickType_t xConstTickCount; BaseType_t xShouldDelay; BaseType_t xAlreadyYielded; TickType_t xTimeToWake; long unsigned int uxSchedulerSuspended.22_1; long unsigned int _2; long unsigned int _3; [local count: 306783]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG xShouldDelay => 0 # DEBUG BEGIN_STMT if (pxPreviousWakeTime_7(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 92035]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_21 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_21 [local count: 920350133]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 920350133]: goto ; [100.00%] [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xTimeIncrement_8(D) == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_22 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_22 [local count: 1073741823]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxSchedulerSuspended.22_1 ={v} uxSchedulerSuspended; if (uxSchedulerSuspended.22_1 != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 71941]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_23 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_23 [local count: 719407021]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 719407021]: goto ; [100.00%] [local count: 35433]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT xConstTickCount_11 ={v} xTickCount; # DEBUG xConstTickCount => xConstTickCount_11 # DEBUG BEGIN_STMT _2 = *pxPreviousWakeTime_7(D); xTimeToWake_12 = _2 + xTimeIncrement_8(D); # DEBUG xTimeToWake => xTimeToWake_12 # DEBUG BEGIN_STMT if (_2 > xConstTickCount_11) goto ; [50.00%] else goto ; [50.00%] [local count: 17717]: # DEBUG BEGIN_STMT if (_2 > xTimeToWake_12) goto ; [50.00%] else goto ; [50.00%] [local count: 8858]: # DEBUG xShouldDelay => 0 # DEBUG BEGIN_STMT *pxPreviousWakeTime_7(D) = xTimeToWake_12; # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 8858]: if (xConstTickCount_11 < xTimeToWake_12) goto ; [50.00%] else goto ; [50.00%] [local count: 4429]: # DEBUG xShouldDelay => 0 # DEBUG BEGIN_STMT *pxPreviousWakeTime_7(D) = xTimeToWake_12; # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 4429]: # DEBUG BEGIN_STMT # DEBUG xShouldDelay => 1 # DEBUG BEGIN_STMT *pxPreviousWakeTime_7(D) = xTimeToWake_12; # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 17717]: # DEBUG BEGIN_STMT if (_2 > xTimeToWake_12) goto ; [50.00%] else goto ; [50.00%] [local count: 8858]: if (xConstTickCount_11 < xTimeToWake_12) goto ; [50.00%] else goto ; [50.00%] [local count: 13288]: # DEBUG BEGIN_STMT # DEBUG xShouldDelay => 1 # DEBUG BEGIN_STMT *pxPreviousWakeTime_7(D) = xTimeToWake_12; # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 4429]: # DEBUG xShouldDelay => 0 # DEBUG BEGIN_STMT *pxPreviousWakeTime_7(D) = xTimeToWake_12; # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 17717]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _3 = xTimeToWake_12 - xConstTickCount_11; prvAddCurrentTaskToDelayedList (_3, 0); [local count: 35433]: # xShouldDelay_29 = PHI <0(20), 1(21), 0(15), 0(13)> # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xAlreadyYielded_16 = xTaskResumeAll (); # DEBUG xAlreadyYielded => xAlreadyYielded_16 # DEBUG BEGIN_STMT if (xAlreadyYielded_16 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 17717]: # DEBUG BEGIN_STMT MEM[(volatile uint32_t *)3758157060B] ={v} 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT [local count: 35433]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xShouldDelay_29; } vTaskDelete (struct tskTaskControlBlock * xTaskToDelete) { uint32_t ulNewBASEPRI; struct ListItem_t * _1; struct xLIST * _2; struct ListItem_t * _3; long unsigned int uxTaskNumber.13_4; long unsigned int _5; struct TCB_t * pxCurrentTCB.14_6; long unsigned int uxDeletedTasksWaitingCleanUp.15_7; long unsigned int _8; long unsigned int uxCurrentNumberOfTasks.16_9; long unsigned int _10; long int xSchedulerRunning.17_11; struct TCB_t * pxCurrentTCB.18_12; long unsigned int uxSchedulerSuspended.19_13; struct TCB_t * iftmp.12_14; struct TCB_t * iftmp.12_21; [local count: 1431653]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT if (xTaskToDelete_20(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 429496]: iftmp.12_21 ={v} pxCurrentTCB; [local count: 1431653]: # iftmp.12_14 = PHI # DEBUG pxTCB => iftmp.12_14 # DEBUG BEGIN_STMT _1 = &iftmp.12_14->xStateListItem; uxListRemove (_1); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = iftmp.12_14->xEventListItem.pvContainer; if (_2 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 765505]: # DEBUG BEGIN_STMT _3 = &iftmp.12_14->xEventListItem; uxListRemove (_3); [local count: 1431653]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxTaskNumber.13_4 = uxTaskNumber; _5 = uxTaskNumber.13_4 + 1; uxTaskNumber = _5; # DEBUG BEGIN_STMT pxCurrentTCB.14_6 ={v} pxCurrentTCB; if (pxCurrentTCB.14_6 == iftmp.12_14) goto ; [30.00%] else goto ; [70.00%] [local count: 429496]: # DEBUG BEGIN_STMT vListInsertEnd (&xTasksWaitingTermination, _1); # DEBUG BEGIN_STMT uxDeletedTasksWaitingCleanUp.15_7 ={v} uxDeletedTasksWaitingCleanUp; _8 = uxDeletedTasksWaitingCleanUp.15_7 + 1; uxDeletedTasksWaitingCleanUp ={v} _8; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 1002157]: # DEBUG BEGIN_STMT uxCurrentNumberOfTasks.16_9 ={v} uxCurrentNumberOfTasks; _10 = uxCurrentNumberOfTasks.16_9 + 4294967295; uxCurrentNumberOfTasks ={v} _10; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT prvDeleteTCB (iftmp.12_14); # DEBUG BEGIN_STMT prvResetNextTaskUnblockTime (); [local count: 1431653]: # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT xSchedulerRunning.17_11 ={v} xSchedulerRunning; if (xSchedulerRunning.17_11 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 715827]: # DEBUG BEGIN_STMT pxCurrentTCB.18_12 ={v} pxCurrentTCB; if (pxCurrentTCB.18_12 == iftmp.12_14) goto ; [30.00%] else goto ; [70.00%] [local count: 214748]: # DEBUG BEGIN_STMT uxSchedulerSuspended.19_13 ={v} uxSchedulerSuspended; if (uxSchedulerSuspended.19_13 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_34 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_34 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT MEM[(volatile uint32_t *)3758157060B] ={v} 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT [local count: 1324279]: # DEBUG BEGIN_STMT return; } prvAddNewTaskToReadyList (struct TCB_t * pxNewTCB) { struct ListItem_t * const pxIndex; long unsigned int uxCurrentNumberOfTasks.2_1; long unsigned int _2; struct TCB_t * pxCurrentTCB.3_3; long unsigned int uxCurrentNumberOfTasks.4_4; long int xSchedulerRunning.5_5; struct TCB_t * pxCurrentTCB.6_6; long unsigned int _7; long unsigned int _8; long unsigned int uxTaskNumber.7_9; long unsigned int _10; long unsigned int _11; long unsigned int uxTopReadyPriority.9_12; struct xLIST_ITEM * _13; struct xLIST_ITEM * _14; struct ListItem_t * _15; struct List_t * _16; long unsigned int _17; long unsigned int _18; long int xSchedulerRunning.10_19; struct TCB_t * pxCurrentTCB.11_20; long unsigned int _21; long unsigned int _22; [local count: 1073741821]: # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT uxCurrentNumberOfTasks.2_1 ={v} uxCurrentNumberOfTasks; _2 = uxCurrentNumberOfTasks.2_1 + 1; uxCurrentNumberOfTasks ={v} _2; # DEBUG BEGIN_STMT pxCurrentTCB.3_3 ={v} pxCurrentTCB; if (pxCurrentTCB.3_3 == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 322122546]: # DEBUG BEGIN_STMT pxCurrentTCB ={v} pxNewTCB_29(D); # DEBUG BEGIN_STMT uxCurrentNumberOfTasks.4_4 ={v} uxCurrentNumberOfTasks; if (uxCurrentNumberOfTasks.4_4 == 1) goto ; [20.24%] else goto ; [79.76%] [local count: 65197603]: # DEBUG BEGIN_STMT prvInitialiseTaskLists (); goto ; [100.00%] [local count: 751619275]: # DEBUG BEGIN_STMT xSchedulerRunning.5_5 ={v} xSchedulerRunning; if (xSchedulerRunning.5_5 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 375809637]: # DEBUG BEGIN_STMT pxCurrentTCB.6_6 ={v} pxCurrentTCB; _7 = pxCurrentTCB.6_6->uxPriority; _8 = pxNewTCB_29(D)->uxPriority; if (_7 <= _8) goto ; [50.00%] else goto ; [50.00%] [local count: 187904819]: # DEBUG BEGIN_STMT pxCurrentTCB ={v} pxNewTCB_29(D); [local count: 1073741823]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxTaskNumber.7_9 = uxTaskNumber; _10 = uxTaskNumber.7_9 + 1; uxTaskNumber = _10; # DEBUG BEGIN_STMT pxNewTCB_29(D)->uxTCBNumber = _10; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _11 = pxNewTCB_29(D)->uxPriority; uxTopReadyPriority.9_12 ={v} uxTopReadyPriority; if (_11 > uxTopReadyPriority.9_12) goto ; [50.00%] else goto ; [50.00%] [local count: 536870911]: # DEBUG BEGIN_STMT uxTopReadyPriority ={v} _11; [local count: 1073741823]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxIndex_36 = pxReadyTasksLists[_11].pxIndex; # DEBUG pxIndex => pxIndex_36 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxNewTCB_29(D)->xStateListItem.pxNext = pxIndex_36; # DEBUG BEGIN_STMT _13 = pxIndex_36->pxPrevious; pxNewTCB_29(D)->xStateListItem.pxPrevious = _13; # DEBUG BEGIN_STMT _14 = pxIndex_36->pxPrevious; _15 = &pxNewTCB_29(D)->xStateListItem; _14->pxNext = _15; # DEBUG BEGIN_STMT pxIndex_36->pxPrevious = _15; # DEBUG BEGIN_STMT _16 = &pxReadyTasksLists[_11]; pxNewTCB_29(D)->xStateListItem.pvContainer = _16; # DEBUG BEGIN_STMT _17 ={v} pxReadyTasksLists[_11].uxNumberOfItems; _18 = _17 + 1; pxReadyTasksLists[_11].uxNumberOfItems ={v} _18; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT xSchedulerRunning.10_19 ={v} xSchedulerRunning; if (xSchedulerRunning.10_19 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870911]: # DEBUG BEGIN_STMT pxCurrentTCB.11_20 ={v} pxCurrentTCB; _21 = pxCurrentTCB.11_20->uxPriority; _22 = pxNewTCB_29(D)->uxPriority; if (_21 < _22) goto ; [50.00%] else goto ; [50.00%] [local count: 268435456]: # DEBUG BEGIN_STMT MEM[(volatile uint32_t *)3758157060B] ={v} 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT [local count: 1073741824]: # DEBUG BEGIN_STMT return; } xTaskCreate (void (*TaskFunction_t) (void *) pxTaskCode, const char * const pcName, const uint16_t usStackDepth, void * const pvParameters, UBaseType_t uxPriority, struct tskTaskControlBlock * * const pxCreatedTask) { StackType_t * pxStack; BaseType_t xReturn; struct TCB_t * pxNewTCB; unsigned int _1; unsigned int _2; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = (unsigned int) usStackDepth_6(D); _2 = _1 * 4; pxStack_9 = pvPortMalloc (_2); # DEBUG pxStack => pxStack_9 # DEBUG BEGIN_STMT if (pxStack_9 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 574129754]: # DEBUG BEGIN_STMT pxNewTCB_11 = pvPortMalloc (88); # DEBUG pxNewTCB => pxNewTCB_11 # DEBUG BEGIN_STMT if (pxNewTCB_11 != 0B) goto ; [82.57%] else goto ; [17.43%] [local count: 474058937]: # DEBUG BEGIN_STMT pxNewTCB_11->pxStack = pxStack_9; goto ; [100.00%] [local count: 100070816]: # DEBUG BEGIN_STMT vPortFree (pxStack_9); [local count: 574129754]: # DEBUG pxNewTCB => pxNewTCB_11 # DEBUG BEGIN_STMT if (pxNewTCB_11 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 306987179]: # DEBUG BEGIN_STMT # DEBUG D#1 => 0B prvInitialiseNewTask.isra.0 (pxTaskCode_14(D), pcName_15(D), _1, pvParameters_16(D), uxPriority_17(D), pxCreatedTask_18(D), pxNewTCB_11); # DEBUG BEGIN_STMT prvAddNewTaskToReadyList (pxNewTCB_11); # DEBUG BEGIN_STMT # DEBUG xReturn => 1 [local count: 1073741824]: # xReturn_3 = PHI <1(8), -1(7), -1(2)> # DEBUG pxNewTCB => NULL # DEBUG xReturn => xReturn_3 # DEBUG BEGIN_STMT return xReturn_3; }