Reclaiming functions: Reclaiming variables: Clearing address taken flags: Symbol table: vQueueUnregisterQueue.part.0/114 (vQueueUnregisterQueue.part.0) @05e48b60 Type: function definition analyzed Visibility: artificial References: Referring: Availability: local Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size Called by: vQueueUnregisterQueue/40 (107374 (estimated locally),0.30 per call) Calls: xQueueGenericReset.part.0/65 (xQueueGenericReset.part.0) @05e482a0 Type: function definition analyzed Visibility: artificial References: Referring: Availability: local Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size Called by: xQueueGenericReset/5 (21218 (estimated locally),0.12 per call) Calls: vPortEnterCritical/42 (1073741824 (estimated locally),1.00 per call) xTaskRemoveFromEventList/43 (237404317 (estimated locally),0.22 per call) vListInitialise/44 (354334802 (estimated locally),0.33 per call) vListInitialise/44 (354334802 (estimated locally),0.33 per call) vPortExitCritical/45 (1073741824 (estimated locally),1.00 per call) vTaskPlaceOnEventListRestricted/62 (vTaskPlaceOnEventListRestricted) @05fe8620 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vQueueWaitForMessageRestricted/41 (354334802 (estimated locally),0.33 per call) Calls: vPortFree/61 (vPortFree) @05fc9ee0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vQueueDelete/26 (123389 (estimated locally),0.53 per call) Calls: vTaskPriorityDisinheritAfterTimeout/60 (vTaskPriorityDisinheritAfterTimeout) @05fc9380 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueueSemaphoreTake/19 (2502 (estimated locally),0.01 per call) Calls: xTaskPriorityInherit/59 (xTaskPriorityInherit) @05fc92a0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueueSemaphoreTake/19 (24195 (estimated locally),0.11 per call) Calls: pvTaskIncrementMutexHeldCount/58 (pvTaskIncrementMutexHeldCount) @05fc91c0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueueSemaphoreTake/19 (2848 (estimated locally),0.01 per call) Calls: vPortValidateInterruptPriority/57 (vPortValidateInterruptPriority) @05fa3620 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueuePeekFromISR/22 (52886 (estimated locally),0.20 per call) xQueueReceiveFromISR/21 (192251 (estimated locally),0.54 per call) xQueueGiveFromISR/17 (72401 (estimated locally),0.24 per call) xQueueGenericSendFromISR/16 (141108 (estimated locally),0.39 per call) Calls: vTaskMissedYield/56 (vTaskMissedYield) @05fa32a0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: prvUnlockQueue/33 (316429830 (estimated locally),2.75 per call) prvUnlockQueue/33 (316429836 (estimated locally),2.75 per call) Calls: memcpy/55 (memcpy) @05fa3000 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: prvCopyDataFromQueue/32 (536870913 (estimated locally),0.50 per call) prvCopyDataToQueue/31 (268435456 (estimated locally),0.25 per call) prvCopyDataToQueue/31 (268435456 (estimated locally),0.25 per call) Calls: xTaskPriorityDisinherit/54 (xTaskPriorityDisinherit) @05f558c0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: prvCopyDataToQueue/31 (93576600 (estimated locally),0.09 per call) Calls: xTaskResumeAll/53 (xTaskResumeAll) @05f55e00 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueuePeek/20 (753146 (estimated locally),2.10 per call) xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueueSemaphoreTake/19 (207180 (estimated locally),0.90 per call) xQueueSemaphoreTake/19 (68369 (estimated locally),0.30 per call) xQueueSemaphoreTake/19 (138811 (estimated locally),0.61 per call) xQueueReceive/18 (753146 (estimated locally),2.10 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueGenericSend/15 (25362 (estimated locally),0.07 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call) Calls: vTaskPlaceOnEventList/52 (vTaskPlaceOnEventList) @05f55d20 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueueSemaphoreTake/19 (138811 (estimated locally),0.61 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call) Calls: xTaskCheckForTimeOut/51 (xTaskCheckForTimeOut) @05f55c40 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueuePeek/20 (1506292 (estimated locally),4.21 per call) xQueueSemaphoreTake/19 (414360 (estimated locally),1.81 per call) xQueueReceive/18 (1506292 (estimated locally),4.21 per call) xQueueGenericSend/15 (922239 (estimated locally),2.58 per call) Calls: vTaskSuspendAll/50 (vTaskSuspendAll) @05f55b60 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueuePeek/20 (1506292 (estimated locally),4.21 per call) xQueueSemaphoreTake/19 (414360 (estimated locally),1.81 per call) xQueueReceive/18 (1506292 (estimated locally),4.21 per call) xQueueGenericSend/15 (922239 (estimated locally),2.58 per call) Calls: vTaskInternalSetTimeOutState/49 (vTaskInternalSetTimeOutState) @05f55a80 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueuePeek/20 (497076 (estimated locally),1.39 per call) xQueueSemaphoreTake/19 (136739 (estimated locally),0.60 per call) xQueueReceive/18 (497076 (estimated locally),1.39 per call) xQueueGenericSend/15 (304339 (estimated locally),0.85 per call) Calls: xTaskGetSchedulerState/48 (xTaskGetSchedulerState) @05f559a0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueuePeek/20 (192251 (estimated locally),0.54 per call) xQueueSemaphoreTake/19 (52886 (estimated locally),0.23 per call) xQueueReceive/18 (192251 (estimated locally),0.54 per call) xQueueGenericSend/15 (141108 (estimated locally),0.39 per call) Calls: xTaskGetCurrentTaskHandle/47 (xTaskGetCurrentTaskHandle) @05f55460 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueueTakeMutexRecursive/13 (123389 (estimated locally),0.53 per call) xQueueGiveMutexRecursive/12 (123389 (estimated locally),0.53 per call) Calls: pvPortMalloc/46 (pvPortMalloc) @05f42000 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueueGenericCreate/6 (9655 (estimated locally),0.08 per call) Calls: vPortExitCritical/45 (vPortExitCritical) @05f42d20 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vQueueWaitForMessageRestricted/41 (1073741824 (estimated locally),1.00 per call) uxQueueSpacesAvailable/24 (123389 (estimated locally),0.53 per call) uxQueueMessagesWaiting/23 (123389 (estimated locally),0.53 per call) xQueuePeek/20 (1506292 (estimated locally),4.21 per call) xQueuePeek/20 (1506292 (estimated locally),4.21 per call) xQueuePeek/20 (57225 (estimated locally),0.16 per call) xQueuePeek/20 (59399 (estimated locally),0.17 per call) xQueueSemaphoreTake/19 (2502 (estimated locally),0.01 per call) xQueueSemaphoreTake/19 (24195 (estimated locally),0.11 per call) xQueueSemaphoreTake/19 (414360 (estimated locally),1.81 per call) xQueueSemaphoreTake/19 (414360 (estimated locally),1.81 per call) xQueueSemaphoreTake/19 (3186 (estimated locally),0.01 per call) xQueueSemaphoreTake/19 (16340 (estimated locally),0.07 per call) xQueueReceive/18 (1506292 (estimated locally),4.21 per call) xQueueReceive/18 (1506292 (estimated locally),4.21 per call) xQueueReceive/18 (57225 (estimated locally),0.16 per call) xQueueReceive/18 (59399 (estimated locally),0.17 per call) xQueueGenericSend/15 (922239 (estimated locally),2.58 per call) xQueueGenericSend/15 (922239 (estimated locally),2.58 per call) xQueueGenericSend/15 (26079 (estimated locally),0.07 per call) xQueueGenericSend/15 (54391 (estimated locally),0.15 per call) xQueueGetMutexHolder/10 (123389 (estimated locally),0.53 per call) xQueueGenericReset.part.0/65 (1073741824 (estimated locally),1.00 per call) prvUnlockQueue/33 (114863529 (estimated locally),1.00 per call) prvUnlockQueue/33 (114863532 (estimated locally),1.00 per call) prvIsQueueEmpty/34 (1073741824 (estimated locally),1.00 per call) prvIsQueueFull/36 (1073741824 (estimated locally),1.00 per call) Calls: vListInitialise/44 (vListInitialise) @05f42c40 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueueGenericReset.part.0/65 (354334802 (estimated locally),0.33 per call) xQueueGenericReset.part.0/65 (354334802 (estimated locally),0.33 per call) Calls: xTaskRemoveFromEventList/43 (xTaskRemoveFromEventList) @05f42b60 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueueReceiveFromISR/21 (7118 (estimated locally),0.02 per call) xQueuePeek/20 (19602 (estimated locally),0.05 per call) xQueueSemaphoreTake/19 (5392 (estimated locally),0.02 per call) xQueueReceive/18 (19602 (estimated locally),0.05 per call) xQueueGiveFromISR/17 (4062 (estimated locally),0.01 per call) xQueueGenericSendFromISR/16 (8831 (estimated locally),0.02 per call) xQueueGenericSend/15 (17949 (estimated locally),0.05 per call) xQueueGenericReset.part.0/65 (237404317 (estimated locally),0.22 per call) prvUnlockQueue/33 (958878272 (estimated locally),8.35 per call) prvUnlockQueue/33 (958878293 (estimated locally),8.35 per call) Calls: vPortEnterCritical/42 (vPortEnterCritical) @05f42a80 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vQueueWaitForMessageRestricted/41 (1073741824 (estimated locally),1.00 per call) uxQueueSpacesAvailable/24 (123389 (estimated locally),0.53 per call) uxQueueMessagesWaiting/23 (123389 (estimated locally),0.53 per call) xQueuePeek/20 (1506292 (estimated locally),4.21 per call) xQueuePeek/20 (1622915 (estimated locally),4.53 per call) xQueueSemaphoreTake/19 (2502 (estimated locally),0.01 per call) xQueueSemaphoreTake/19 (24195 (estimated locally),0.11 per call) xQueueSemaphoreTake/19 (414360 (estimated locally),1.81 per call) xQueueSemaphoreTake/19 (446442 (estimated locally),1.95 per call) xQueueReceive/18 (1506292 (estimated locally),4.21 per call) xQueueReceive/18 (1622915 (estimated locally),4.53 per call) xQueueGenericSend/15 (922239 (estimated locally),2.58 per call) xQueueGenericSend/15 (1002708 (estimated locally),2.80 per call) xQueueGetMutexHolder/10 (123389 (estimated locally),0.53 per call) xQueueGenericReset.part.0/65 (1073741824 (estimated locally),1.00 per call) prvUnlockQueue/33 (114863532 (estimated locally),1.00 per call) prvUnlockQueue/33 (114863534 (estimated locally),1.00 per call) prvIsQueueEmpty/34 (1073741824 (estimated locally),1.00 per call) prvIsQueueFull/36 (1073741824 (estimated locally),1.00 per call) Calls: vQueueWaitForMessageRestricted/41 (vQueueWaitForMessageRestricted) @05f42540 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: prvUnlockQueue/33 (1073741824 (estimated locally),1.00 per call) vTaskPlaceOnEventListRestricted/62 (354334802 (estimated locally),0.33 per call) vPortExitCritical/45 (1073741824 (estimated locally),1.00 per call) vPortEnterCritical/42 (1073741824 (estimated locally),1.00 per call) vQueueUnregisterQueue/40 (vQueueUnregisterQueue) @05f422a0 Type: function definition analyzed Visibility: externally_visible public References: xQueueRegistry/4 (read)xQueueRegistry/4 (write)xQueueRegistry/4 (write) Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: vQueueDelete/26 (123389 (estimated locally),0.53 per call) Calls: vQueueUnregisterQueue.part.0/114 (107374 (estimated locally),0.30 per call) pcQueueGetName/39 (pcQueueGetName) @05f3ce00 Type: function definition analyzed Visibility: externally_visible public References: xQueueRegistry/4 (read)xQueueRegistry/4 (read) Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: vQueueAddToRegistry/38 (vQueueAddToRegistry) @05f3c460 Type: function definition analyzed Visibility: externally_visible public References: xQueueRegistry/4 (read)xQueueRegistry/4 (addr)xQueueRegistry/4 (read)xQueueRegistry/4 (addr) Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: xQueueIsQueueFullFromISR/37 (xQueueIsQueueFullFromISR) @05f3cd20 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: prvIsQueueFull/36 (prvIsQueueFull) @05f3c9a0 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:1073741824 (estimated locally) body local optimize_size Called by: xQueueGenericSend/15 (896877 (estimated locally),2.51 per call) Calls: vPortExitCritical/45 (1073741824 (estimated locally),1.00 per call) vPortEnterCritical/42 (1073741824 (estimated locally),1.00 per call) xQueueIsQueueEmptyFromISR/35 (xQueueIsQueueEmptyFromISR) @05f3c700 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: prvIsQueueEmpty/34 (prvIsQueueEmpty) @05f3c380 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:1073741824 (estimated locally) body local optimize_size Called by: xQueuePeek/20 (753146 (estimated locally),2.10 per call) xQueuePeek/20 (753146 (estimated locally),2.10 per call) xQueueSemaphoreTake/19 (207180 (estimated locally),0.90 per call) xQueueSemaphoreTake/19 (207180 (estimated locally),0.90 per call) xQueueReceive/18 (753146 (estimated locally),2.10 per call) xQueueReceive/18 (753146 (estimated locally),2.10 per call) Calls: vPortExitCritical/45 (1073741824 (estimated locally),1.00 per call) vPortEnterCritical/42 (1073741824 (estimated locally),1.00 per call) prvUnlockQueue/33 (prvUnlockQueue) @05f3c0e0 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:114863534 (estimated locally) body local optimize_size Called by: vQueueWaitForMessageRestricted/41 (1073741824 (estimated locally),1.00 per call) xQueuePeek/20 (753146 (estimated locally),2.10 per call) xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueueSemaphoreTake/19 (207180 (estimated locally),0.90 per call) xQueueSemaphoreTake/19 (68369 (estimated locally),0.30 per call) xQueueSemaphoreTake/19 (138811 (estimated locally),0.61 per call) xQueueReceive/18 (753146 (estimated locally),2.10 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueGenericSend/15 (25362 (estimated locally),0.07 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call) Calls: vPortExitCritical/45 (114863529 (estimated locally),1.00 per call) vTaskMissedYield/56 (316429830 (estimated locally),2.75 per call) xTaskRemoveFromEventList/43 (958878272 (estimated locally),8.35 per call) vPortEnterCritical/42 (114863532 (estimated locally),1.00 per call) vPortExitCritical/45 (114863532 (estimated locally),1.00 per call) vTaskMissedYield/56 (316429836 (estimated locally),2.75 per call) xTaskRemoveFromEventList/43 (958878293 (estimated locally),8.35 per call) vPortEnterCritical/42 (114863534 (estimated locally),1.00 per call) prvCopyDataFromQueue/32 (prvCopyDataFromQueue) @05f338c0 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:1073741824 (estimated locally) body local optimize_size Called by: xQueuePeekFromISR/22 (17452 (estimated locally),0.06 per call) xQueueReceiveFromISR/21 (63443 (estimated locally),0.18 per call) xQueuePeek/20 (59399 (estimated locally),0.17 per call) xQueueReceive/18 (59399 (estimated locally),0.17 per call) Calls: memcpy/55 (536870913 (estimated locally),0.50 per call) prvCopyDataToQueue/31 (prvCopyDataToQueue) @05f33380 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:1073741823 (estimated locally) body local optimize_size Called by: xQueueGenericSendFromISR/16 (78710 (estimated locally),0.22 per call) xQueueGenericSend/15 (54391 (estimated locally),0.15 per call) Calls: memcpy/55 (268435456 (estimated locally),0.25 per call) memcpy/55 (268435456 (estimated locally),0.25 per call) xTaskPriorityDisinherit/54 (93576600 (estimated locally),0.09 per call) prvGetDisinheritPriorityAfterTimeout/30 (prvGetDisinheritPriorityAfterTimeout) @05f33e00 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:1073741824 (estimated locally) body local optimize_size Called by: xQueueSemaphoreTake/19 (2502 (estimated locally),0.01 per call) Calls: ucQueueGetQueueType/29 (ucQueueGetQueueType) @05f33a80 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: vQueueSetQueueNumber/28 (vQueueSetQueueNumber) @05f337e0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: uxQueueGetQueueNumber/27 (uxQueueGetQueueNumber) @05f33540 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: vQueueDelete/26 (vQueueDelete) @05f332a0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:230763 (estimated locally) body optimize_size Called by: Calls: vPortFree/61 (123389 (estimated locally),0.53 per call) vQueueUnregisterQueue/40 (123389 (estimated locally),0.53 per call) uxQueueMessagesWaitingFromISR/25 (uxQueueMessagesWaitingFromISR) @05f2ad20 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: uxQueueSpacesAvailable/24 (uxQueueSpacesAvailable) @05f2a0e0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:230763 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/45 (123389 (estimated locally),0.53 per call) vPortEnterCritical/42 (123389 (estimated locally),0.53 per call) uxQueueMessagesWaiting/23 (uxQueueMessagesWaiting) @05f2ac40 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:230763 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/45 (123389 (estimated locally),0.53 per call) vPortEnterCritical/42 (123389 (estimated locally),0.53 per call) xQueuePeekFromISR/22 (xQueuePeekFromISR) @05f2a8c0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:269344 (estimated locally) body optimize_size Called by: Calls: prvCopyDataFromQueue/32 (17452 (estimated locally),0.06 per call) vPortValidateInterruptPriority/57 (52886 (estimated locally),0.20 per call) xQueueReceiveFromISR/21 (xQueueReceiveFromISR) @05f2a460 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: xTaskRemoveFromEventList/43 (7118 (estimated locally),0.02 per call) prvCopyDataFromQueue/32 (63443 (estimated locally),0.18 per call) vPortValidateInterruptPriority/57 (192251 (estimated locally),0.54 per call) xQueuePeek/20 (xQueuePeek) @05f2a000 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: prvIsQueueEmpty/34 (753146 (estimated locally),2.10 per call) xTaskResumeAll/53 (753146 (estimated locally),2.10 per call) prvUnlockQueue/33 (753146 (estimated locally),2.10 per call) xTaskResumeAll/53 (376573 (estimated locally),1.05 per call) prvUnlockQueue/33 (376573 (estimated locally),1.05 per call) xTaskResumeAll/53 (376573 (estimated locally),1.05 per call) prvUnlockQueue/33 (376573 (estimated locally),1.05 per call) vTaskPlaceOnEventList/52 (376573 (estimated locally),1.05 per call) prvIsQueueEmpty/34 (753146 (estimated locally),2.10 per call) xTaskCheckForTimeOut/51 (1506292 (estimated locally),4.21 per call) vPortExitCritical/45 (1506292 (estimated locally),4.21 per call) vPortEnterCritical/42 (1506292 (estimated locally),4.21 per call) vTaskSuspendAll/50 (1506292 (estimated locally),4.21 per call) vPortExitCritical/45 (1506292 (estimated locally),4.21 per call) vTaskInternalSetTimeOutState/49 (497076 (estimated locally),1.39 per call) vPortExitCritical/45 (57225 (estimated locally),0.16 per call) vPortExitCritical/45 (59399 (estimated locally),0.17 per call) xTaskRemoveFromEventList/43 (19602 (estimated locally),0.05 per call) prvCopyDataFromQueue/32 (59399 (estimated locally),0.17 per call) vPortEnterCritical/42 (1622915 (estimated locally),4.53 per call) xTaskGetSchedulerState/48 (192251 (estimated locally),0.54 per call) xQueueSemaphoreTake/19 (xQueueSemaphoreTake) @05f18c40 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:228942 (estimated locally) body optimize_size Called by: xQueueTakeMutexRecursive/13 (65976 (estimated locally),0.29 per call) Calls: vPortExitCritical/45 (2502 (estimated locally),0.01 per call) vTaskPriorityDisinheritAfterTimeout/60 (2502 (estimated locally),0.01 per call) prvGetDisinheritPriorityAfterTimeout/30 (2502 (estimated locally),0.01 per call) vPortEnterCritical/42 (2502 (estimated locally),0.01 per call) prvIsQueueEmpty/34 (207180 (estimated locally),0.90 per call) xTaskResumeAll/53 (207180 (estimated locally),0.90 per call) prvUnlockQueue/33 (207180 (estimated locally),0.90 per call) xTaskResumeAll/53 (68369 (estimated locally),0.30 per call) prvUnlockQueue/33 (68369 (estimated locally),0.30 per call) xTaskResumeAll/53 (138811 (estimated locally),0.61 per call) prvUnlockQueue/33 (138811 (estimated locally),0.61 per call) vTaskPlaceOnEventList/52 (138811 (estimated locally),0.61 per call) vPortExitCritical/45 (24195 (estimated locally),0.11 per call) xTaskPriorityInherit/59 (24195 (estimated locally),0.11 per call) vPortEnterCritical/42 (24195 (estimated locally),0.11 per call) prvIsQueueEmpty/34 (207180 (estimated locally),0.90 per call) xTaskCheckForTimeOut/51 (414360 (estimated locally),1.81 per call) vPortExitCritical/45 (414360 (estimated locally),1.81 per call) vPortEnterCritical/42 (414360 (estimated locally),1.81 per call) vTaskSuspendAll/50 (414360 (estimated locally),1.81 per call) vPortExitCritical/45 (414360 (estimated locally),1.81 per call) vTaskInternalSetTimeOutState/49 (136739 (estimated locally),0.60 per call) vPortExitCritical/45 (3186 (estimated locally),0.01 per call) vPortExitCritical/45 (16340 (estimated locally),0.07 per call) xTaskRemoveFromEventList/43 (5392 (estimated locally),0.02 per call) pvTaskIncrementMutexHeldCount/58 (2848 (estimated locally),0.01 per call) vPortEnterCritical/42 (446442 (estimated locally),1.95 per call) xTaskGetSchedulerState/48 (52886 (estimated locally),0.23 per call) xQueueReceive/18 (xQueueReceive) @05f18540 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: prvIsQueueEmpty/34 (753146 (estimated locally),2.10 per call) xTaskResumeAll/53 (753146 (estimated locally),2.10 per call) prvUnlockQueue/33 (753146 (estimated locally),2.10 per call) xTaskResumeAll/53 (376573 (estimated locally),1.05 per call) prvUnlockQueue/33 (376573 (estimated locally),1.05 per call) xTaskResumeAll/53 (376573 (estimated locally),1.05 per call) prvUnlockQueue/33 (376573 (estimated locally),1.05 per call) vTaskPlaceOnEventList/52 (376573 (estimated locally),1.05 per call) prvIsQueueEmpty/34 (753146 (estimated locally),2.10 per call) xTaskCheckForTimeOut/51 (1506292 (estimated locally),4.21 per call) vPortExitCritical/45 (1506292 (estimated locally),4.21 per call) vPortEnterCritical/42 (1506292 (estimated locally),4.21 per call) vTaskSuspendAll/50 (1506292 (estimated locally),4.21 per call) vPortExitCritical/45 (1506292 (estimated locally),4.21 per call) vTaskInternalSetTimeOutState/49 (497076 (estimated locally),1.39 per call) vPortExitCritical/45 (57225 (estimated locally),0.16 per call) vPortExitCritical/45 (59399 (estimated locally),0.17 per call) xTaskRemoveFromEventList/43 (19602 (estimated locally),0.05 per call) prvCopyDataFromQueue/32 (59399 (estimated locally),0.17 per call) vPortEnterCritical/42 (1622915 (estimated locally),4.53 per call) xTaskGetSchedulerState/48 (192251 (estimated locally),0.54 per call) xQueueGiveFromISR/17 (xQueueGiveFromISR) @05eb8d20 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:306783 (estimated locally) body optimize_size Called by: Calls: xTaskRemoveFromEventList/43 (4062 (estimated locally),0.01 per call) vPortValidateInterruptPriority/57 (72401 (estimated locally),0.24 per call) xQueueGenericSendFromISR/16 (xQueueGenericSendFromISR) @05eb8c40 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: xTaskRemoveFromEventList/43 (8831 (estimated locally),0.02 per call) prvCopyDataToQueue/31 (78710 (estimated locally),0.22 per call) vPortValidateInterruptPriority/57 (141108 (estimated locally),0.39 per call) xQueueGenericSend/15 (xQueueGenericSend) @05eb87e0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: xQueueGiveMutexRecursive/12 (12216 (estimated locally),0.05 per call) prvInitialiseMutex/8 (574129754 (estimated locally),0.53 per call) Calls: xTaskResumeAll/53 (25362 (estimated locally),0.07 per call) prvUnlockQueue/33 (25362 (estimated locally),0.07 per call) xTaskResumeAll/53 (448439 (estimated locally),1.25 per call) prvUnlockQueue/33 (448439 (estimated locally),1.25 per call) xTaskResumeAll/53 (448439 (estimated locally),1.25 per call) prvUnlockQueue/33 (448439 (estimated locally),1.25 per call) vTaskPlaceOnEventList/52 (448439 (estimated locally),1.25 per call) prvIsQueueFull/36 (896877 (estimated locally),2.51 per call) xTaskCheckForTimeOut/51 (922239 (estimated locally),2.58 per call) vPortExitCritical/45 (922239 (estimated locally),2.58 per call) vPortEnterCritical/42 (922239 (estimated locally),2.58 per call) vTaskSuspendAll/50 (922239 (estimated locally),2.58 per call) vPortExitCritical/45 (922239 (estimated locally),2.58 per call) vTaskInternalSetTimeOutState/49 (304339 (estimated locally),0.85 per call) vPortExitCritical/45 (26079 (estimated locally),0.07 per call) vPortExitCritical/45 (54391 (estimated locally),0.15 per call) xTaskRemoveFromEventList/43 (17949 (estimated locally),0.05 per call) prvCopyDataToQueue/31 (54391 (estimated locally),0.15 per call) vPortEnterCritical/42 (1002708 (estimated locally),2.80 per call) xTaskGetSchedulerState/48 (141108 (estimated locally),0.39 per call) xQueueCreateCountingSemaphore/14 (xQueueCreateCountingSemaphore) @05eb80e0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:128592 (estimated locally) body optimize_size Called by: Calls: xQueueGenericCreate/6 (21218 (estimated locally),0.17 per call) xQueueTakeMutexRecursive/13 (xQueueTakeMutexRecursive) @05eb09a0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:230763 (estimated locally) body optimize_size Called by: Calls: xQueueSemaphoreTake/19 (65976 (estimated locally),0.29 per call) xTaskGetCurrentTaskHandle/47 (123389 (estimated locally),0.53 per call) xQueueGiveMutexRecursive/12 (xQueueGiveMutexRecursive) @05eb00e0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:230763 (estimated locally) body optimize_size Called by: Calls: xQueueGenericSend/15 (12216 (estimated locally),0.05 per call) xTaskGetCurrentTaskHandle/47 (123389 (estimated locally),0.53 per call) xQueueGetMutexHolderFromISR/11 (xQueueGetMutexHolderFromISR) @05eb0c40 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: xQueueGetMutexHolder/10 (xQueueGetMutexHolder) @05eb08c0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:230763 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/45 (123389 (estimated locally),0.53 per call) vPortEnterCritical/42 (123389 (estimated locally),0.53 per call) xQueueCreateMutex/9 (xQueueCreateMutex) @05eb0540 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: prvInitialiseMutex/8 (1073741824 (estimated locally),1.00 per call) xQueueGenericCreate/6 (1073741824 (estimated locally),1.00 per call) prvInitialiseMutex/8 (prvInitialiseMutex) @05eb02a0 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:1073741824 (estimated locally) body local optimize_size Called by: xQueueCreateMutex/9 (1073741824 (estimated locally),1.00 per call) Calls: xQueueGenericSend/15 (574129754 (estimated locally),0.53 per call) prvInitialiseNewQueue/7 (prvInitialiseNewQueue) @05eb0000 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:1073741824 (estimated locally) body local optimize_size Called by: xQueueGenericCreate/6 (5162 (estimated locally),0.04 per call) Calls: xQueueGenericReset/5 (1073741824 (estimated locally),1.00 per call) xQueueGenericCreate/6 (xQueueGenericCreate) @05ec67e0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:117029 (estimated locally) body optimize_size Called by: xQueueCreateMutex/9 (1073741824 (estimated locally),1.00 per call) xQueueCreateCountingSemaphore/14 (21218 (estimated locally),0.17 per call) Calls: prvInitialiseNewQueue/7 (5162 (estimated locally),0.04 per call) pvPortMalloc/46 (9655 (estimated locally),0.08 per call) xQueueGenericReset/5 (xQueueGenericReset) @05ec6c40 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:183702 (estimated locally) body optimize_size Called by: prvInitialiseNewQueue/7 (1073741824 (estimated locally),1.00 per call) Calls: xQueueGenericReset.part.0/65 (21218 (estimated locally),0.12 per call) xQueueRegistry/4 (xQueueRegistry) @05ec1630 Type: variable definition analyzed Visibility: externally_visible public References: Referring: pcQueueGetName/39 (read)vQueueAddToRegistry/38 (addr)vQueueAddToRegistry/38 (read)vQueueAddToRegistry/38 (addr)pcQueueGetName/39 (read)vQueueAddToRegistry/38 (read)vQueueUnregisterQueue/40 (read)vQueueUnregisterQueue/40 (write)vQueueUnregisterQueue/40 (write) Availability: available Varpool flags: vQueueUnregisterQueue.part.0 () { UBaseType_t ux; uint32_t ulNewBASEPRI; struct QueueDefinition * xQueue; [local count: 107374]: # DEBUG D#2 s=> xQueue # DEBUG xQueue => D#2 [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%] } xQueueGenericReset.part.0 (struct QueueDefinition * xQueue, BaseType_t xNewQueue) { BaseType_t xReturn; struct Queue_t * const pxQueue; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; int8_t * _2; long unsigned int _3; long unsigned int _4; long unsigned int _5; int8_t * _6; long unsigned int _7; long unsigned int _8; int8_t * _9; long unsigned int _11; struct List_t * _12; long int _13; struct List_t * _14; struct List_t * _15; [local count: 1073741824]: [local count: 1073741824]: # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _2 = MEM[(struct Queue_t *)xQueue_1(D)].pcHead; _3 = MEM[(struct Queue_t *)xQueue_1(D)].uxLength; _4 = MEM[(struct Queue_t *)xQueue_1(D)].uxItemSize; _5 = _3 * _4; _6 = _2 + _5; MEM[(struct Queue_t *)xQueue_1(D)].u.xQueue.pcTail = _6; # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_1(D)].uxMessagesWaiting ={v} 0; # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_1(D)].pcWriteTo = _2; # DEBUG BEGIN_STMT _7 = _3 + 4294967295; _8 = _4 * _7; _9 = _2 + _8; MEM[(struct Queue_t *)xQueue_1(D)].u.xQueue.pcReadFrom = _9; # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_1(D)].cRxLock ={v} -1; # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_1(D)].cTxLock ={v} -1; # DEBUG BEGIN_STMT if (xNewQueue_10(D) == 0) goto ; [67.00%] else goto ; [33.00%] [local count: 719407023]: # DEBUG BEGIN_STMT _11 ={v} MEM[(struct Queue_t *)xQueue_1(D)].xTasksWaitingToSend.uxNumberOfItems; if (_11 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 237404317]: # DEBUG BEGIN_STMT _12 = &MEM[(struct Queue_t *)xQueue_1(D)].xTasksWaitingToSend; _13 = xTaskRemoveFromEventList (_12); if (_13 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 118702159]: # 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: 354334802]: # DEBUG BEGIN_STMT _14 = &MEM[(struct Queue_t *)xQueue_1(D)].xTasksWaitingToSend; vListInitialise (_14); # DEBUG BEGIN_STMT _15 = &MEM[(struct Queue_t *)xQueue_1(D)].xTasksWaitingToReceive; vListInitialise (_15); [local count: 1073741824]: # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG xReturn => 1 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return 1; } vQueueWaitForMessageRestricted (struct QueueDefinition * xQueue, TickType_t xTicksToWait, const BaseType_t xWaitIndefinitely) { signed char _1; signed char _2; long unsigned int _3; struct List_t * _4; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_8(D) # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _1 ={v} MEM[(struct Queue_t *)xQueue_8(D)].cRxLock; if (_1 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 365072220]: # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_8(D)].cRxLock ={v} 0; [local count: 1073741824]: # DEBUG BEGIN_STMT _2 ={v} MEM[(struct Queue_t *)xQueue_8(D)].cTxLock; if (_2 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 365072220]: # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_8(D)].cTxLock ={v} 0; [local count: 1073741824]: # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT _3 ={v} MEM[(struct Queue_t *)xQueue_8(D)].uxMessagesWaiting; if (_3 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 354334802]: # DEBUG BEGIN_STMT _4 = &MEM[(struct Queue_t *)xQueue_8(D)].xTasksWaitingToReceive; vTaskPlaceOnEventListRestricted (_4, xTicksToWait_14(D), xWaitIndefinitely_15(D)); [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_8(D)); return; } vQueueUnregisterQueue (struct QueueDefinition * xQueue) { UBaseType_t ux; struct QueueDefinition * _1; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xQueue_3(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG D#1 => xQueue_3(D) vQueueUnregisterQueue.part.0 (); [local count: 451483]: # DEBUG BEGIN_STMT _1 = xQueueRegistry[ux_2].xHandle; if (_1 == xQueue_3(D)) goto ; [5.50%] else goto ; [94.50%] [local count: 24832]: # ux_4 = PHI # DEBUG BEGIN_STMT xQueueRegistry[ux_4].pcQueueName = 0B; # DEBUG BEGIN_STMT xQueueRegistry[ux_4].xHandle = 0B; # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 426652]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT ux_6 = ux_2 + 1; # DEBUG ux => ux_6 [local count: 677191]: # ux_2 = PHI # DEBUG ux => ux_2 # DEBUG BEGIN_STMT if (ux_2 != 2) goto ; [66.67%] else goto ; [33.33%] [local count: 250539]: return; } pcQueueGetName (struct QueueDefinition * xQueue) { uint32_t ulNewBASEPRI; const char * pcReturn; UBaseType_t ux; struct QueueDefinition * _1; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pcReturn => 0B # DEBUG BEGIN_STMT if (xQueue_5(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 250539]: goto ; [100.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_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: 451483]: # DEBUG BEGIN_STMT _1 = xQueueRegistry[ux_2].xHandle; if (_1 == xQueue_5(D)) goto ; [5.50%] else goto ; [94.50%] [local count: 24832]: # ux_4 = PHI # DEBUG BEGIN_STMT pcReturn_8 = xQueueRegistry[ux_4].pcQueueName; # DEBUG pcReturn => pcReturn_8 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 426652]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT ux_7 = ux_2 + 1; # DEBUG ux => ux_7 [local count: 677191]: # ux_2 = PHI # DEBUG ux => ux_2 # DEBUG BEGIN_STMT if (ux_2 != 2) goto ; [66.67%] else goto ; [33.33%] [local count: 250539]: # pcReturn_3 = PHI # DEBUG pcReturn => pcReturn_3 # DEBUG BEGIN_STMT return pcReturn_3; } vQueueAddToRegistry (struct QueueDefinition * xQueue, const char * pcQueueName) { uint32_t ulNewBASEPRI; struct QueueRegistryItem_t * pxEntryToWrite; UBaseType_t ux; struct QueueDefinition * _1; const char * _2; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xQueue_8(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_17 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_17 [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 # DEBUG pxEntryToWrite => 0B # DEBUG BEGIN_STMT if (pcQueueName_10(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 175378]: goto ; [100.00%] [local count: 316038]: # DEBUG BEGIN_STMT _1 = xQueueRegistry[ux_3].xHandle; if (_1 == xQueue_8(D)) goto ; [5.50%] else goto ; [94.50%] [local count: 17382]: # ux_9 = PHI # DEBUG BEGIN_STMT pxEntryToWrite_14 = &xQueueRegistry[ux_9]; # DEBUG pxEntryToWrite => pxEntryToWrite_14 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 298656]: # DEBUG BEGIN_STMT if (pxEntryToWrite_5 == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 89597]: _2 = xQueueRegistry[ux_3].pcQueueName; if (_2 == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 26879]: # DEBUG BEGIN_STMT pxEntryToWrite_12 = &xQueueRegistry[ux_3]; # DEBUG pxEntryToWrite => pxEntryToWrite_12 [local count: 298656]: # pxEntryToWrite_4 = PHI # DEBUG pxEntryToWrite => pxEntryToWrite_4 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT ux_13 = ux_3 + 1; # DEBUG ux => ux_13 [local count: 474034]: # ux_3 = PHI # pxEntryToWrite_5 = PHI # DEBUG pxEntryToWrite => pxEntryToWrite_5 # DEBUG ux => ux_3 # DEBUG BEGIN_STMT if (ux_3 != 2) goto ; [66.67%] else goto ; [33.33%] [local count: 175378]: # pxEntryToWrite_6 = PHI # DEBUG pxEntryToWrite => pxEntryToWrite_6 # DEBUG BEGIN_STMT if (pxEntryToWrite_6 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 122764]: # DEBUG BEGIN_STMT pxEntryToWrite_6->pcQueueName = pcQueueName_10(D); # DEBUG BEGIN_STMT pxEntryToWrite_6->xHandle = xQueue_8(D); [local count: 250539]: # DEBUG pxEntryToWrite => NULL # DEBUG BEGIN_STMT return; } xQueueIsQueueFullFromISR (struct QueueDefinition * const xQueue) { uint32_t ulNewBASEPRI; BaseType_t xReturn; long unsigned int _1; long unsigned int _2; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_4(D) # DEBUG BEGIN_STMT if (xQueue_4(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_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 _1 ={v} MEM[(struct Queue_t *)xQueue_4(D)].uxMessagesWaiting; _2 = MEM[(struct Queue_t *)xQueue_4(D)].uxLength; if (_1 == _2) goto ; [34.00%] else goto ; [66.00%] [local count: 165356]: # DEBUG BEGIN_STMT # DEBUG xReturn => 0 [local count: 250539]: # xReturn_3 = PHI <1(5), 0(6)> # DEBUG xReturn => xReturn_3 # DEBUG BEGIN_STMT return xReturn_3; } prvIsQueueFull (const struct Queue_t * pxQueue) { BaseType_t xReturn; long unsigned int _1; long unsigned int _2; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _1 ={v} pxQueue_6(D)->uxMessagesWaiting; _2 = pxQueue_6(D)->uxLength; if (_1 == _2) goto ; [34.00%] else goto ; [66.00%] [local count: 708669605]: # DEBUG BEGIN_STMT # DEBUG xReturn => 0 [local count: 1073741824]: # xReturn_3 = PHI <1(2), 0(3)> # DEBUG xReturn => xReturn_3 # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT return xReturn_3; } xQueueIsQueueEmptyFromISR (struct QueueDefinition * const xQueue) { uint32_t ulNewBASEPRI; BaseType_t xReturn; long unsigned int _1; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_3(D) # DEBUG BEGIN_STMT if (xQueue_3(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_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: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 ={v} MEM[(struct Queue_t *)xQueue_3(D)].uxMessagesWaiting; if (_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 125270]: # DEBUG BEGIN_STMT # DEBUG xReturn => 0 [local count: 250539]: # xReturn_2 = PHI <1(5), 0(6)> # DEBUG xReturn => xReturn_2 # DEBUG BEGIN_STMT return xReturn_2; } prvIsQueueEmpty (const struct Queue_t * pxQueue) { BaseType_t xReturn; long unsigned int _1; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _1 ={v} pxQueue_5(D)->uxMessagesWaiting; if (_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG xReturn => 0 [local count: 1073741824]: # xReturn_2 = PHI <1(2), 0(3)> # DEBUG xReturn => xReturn_2 # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT return xReturn_2; } prvUnlockQueue (struct Queue_t * const pxQueue) { int8_t cRxLock; int8_t cTxLock; long unsigned int _1; struct List_t * _2; long int _3; unsigned char cTxLock.6_4; unsigned char _5; long unsigned int _6; struct List_t * _7; long int _8; unsigned char cRxLock.7_9; unsigned char _10; [local count: 114863534]: # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT cTxLock_20 ={v} pxQueue_19(D)->cTxLock; # DEBUG cTxLock => cTxLock_20 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 1014686025]: # DEBUG BEGIN_STMT _1 ={v} pxQueue_19(D)->xTasksWaitingToReceive.uxNumberOfItems; if (_1 != 0) goto ; [94.50%] else goto ; [5.50%] [local count: 958878293]: # DEBUG BEGIN_STMT _2 = &pxQueue_19(D)->xTasksWaitingToReceive; _3 = xTaskRemoveFromEventList (_2); if (_3 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 316429836]: # DEBUG BEGIN_STMT vTaskMissedYield (); [local count: 958878293]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT cTxLock.6_4 = (unsigned char) cTxLock_11; _5 = cTxLock.6_4 + 255; cTxLock_23 = (int8_t) _5; # DEBUG cTxLock => cTxLock_23 [local count: 1073741824]: # cTxLock_11 = PHI # DEBUG cTxLock => cTxLock_11 # DEBUG BEGIN_STMT if (cTxLock_11 > 0) goto ; [94.50%] else goto ; [5.50%] [local count: 114863532]: # DEBUG BEGIN_STMT pxQueue_19(D)->cTxLock ={v} -1; # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT cRxLock_27 ={v} pxQueue_19(D)->cRxLock; # DEBUG cRxLock => cRxLock_27 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 1014686003]: # DEBUG BEGIN_STMT _6 ={v} pxQueue_19(D)->xTasksWaitingToSend.uxNumberOfItems; if (_6 != 0) goto ; [94.50%] else goto ; [5.50%] [local count: 958878272]: # DEBUG BEGIN_STMT _7 = &pxQueue_19(D)->xTasksWaitingToSend; _8 = xTaskRemoveFromEventList (_7); if (_8 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 316429830]: # DEBUG BEGIN_STMT vTaskMissedYield (); [local count: 958878272]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT cRxLock.7_9 = (unsigned char) cRxLock_12; _10 = cRxLock.7_9 + 255; cRxLock_30 = (int8_t) _10; # DEBUG cRxLock => cRxLock_30 [local count: 1073741803]: # cRxLock_12 = PHI # DEBUG cRxLock => cRxLock_12 # DEBUG BEGIN_STMT if (cRxLock_12 > 0) goto ; [94.50%] else goto ; [5.50%] [local count: 114863529]: # DEBUG BEGIN_STMT pxQueue_19(D)->cRxLock ={v} -1; # DEBUG BEGIN_STMT vPortExitCritical (); return; } prvCopyDataFromQueue (struct Queue_t * const pxQueue, void * const pvBuffer) { long unsigned int _1; int8_t * _2; int8_t * _3; int8_t * _4; int8_t * _5; int8_t * _6; [local count: 1073741824]: # DEBUG BEGIN_STMT _1 = pxQueue_10(D)->uxItemSize; if (_1 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT _2 = pxQueue_10(D)->u.xQueue.pcReadFrom; _3 = _2 + _1; pxQueue_10(D)->u.xQueue.pcReadFrom = _3; # DEBUG BEGIN_STMT _4 = pxQueue_10(D)->u.xQueue.pcTail; if (_3 >= _4) goto ; [50.00%] else goto ; [50.00%] [local count: 268435456]: # DEBUG BEGIN_STMT _5 = pxQueue_10(D)->pcHead; pxQueue_10(D)->u.xQueue.pcReadFrom = _5; [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _6 = pxQueue_10(D)->u.xQueue.pcReadFrom; memcpy (pvBuffer_13(D), _6, _1); [local count: 1073741824]: return; } prvCopyDataToQueue (struct Queue_t * const pxQueue, const void * pvItemToQueue, const BaseType_t xPosition) { UBaseType_t uxMessagesWaiting; BaseType_t xReturn; long unsigned int _1; int8_t * _2; struct tskTaskControlBlock * _3; int8_t * _4; int8_t * _5; long unsigned int _6; int8_t * _7; int8_t * _8; int8_t * _9; int8_t * _10; int8_t * _11; long unsigned int _12; sizetype _13; int8_t * _14; int8_t * _15; int8_t * _16; int8_t * _17; long unsigned int _18; [local count: 1073741823]: # DEBUG BEGIN_STMT # DEBUG xReturn => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxMessagesWaiting_25 ={v} pxQueue_24(D)->uxMessagesWaiting; # DEBUG uxMessagesWaiting => uxMessagesWaiting_25 # DEBUG BEGIN_STMT _1 = pxQueue_24(D)->uxItemSize; if (_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870911]: # DEBUG BEGIN_STMT _2 = pxQueue_24(D)->pcHead; if (_2 == 0B) goto ; [17.43%] else goto ; [82.57%] [local count: 93576600]: # DEBUG BEGIN_STMT _3 = pxQueue_24(D)->u.xSemaphore.xMutexHolder; xReturn_36 = xTaskPriorityDisinherit (_3); # DEBUG xReturn => xReturn_36 # DEBUG BEGIN_STMT pxQueue_24(D)->u.xSemaphore.xMutexHolder = 0B; goto ; [100.00%] [local count: 536870911]: # DEBUG BEGIN_STMT if (xPosition_26(D) == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 268435456]: # DEBUG BEGIN_STMT _4 = pxQueue_24(D)->pcWriteTo; memcpy (_4, pvItemToQueue_27(D), _1); # DEBUG BEGIN_STMT _5 = pxQueue_24(D)->pcWriteTo; _6 = pxQueue_24(D)->uxItemSize; _7 = _5 + _6; pxQueue_24(D)->pcWriteTo = _7; # DEBUG BEGIN_STMT _8 = pxQueue_24(D)->u.xQueue.pcTail; if (_7 >= _8) goto ; [50.00%] else goto ; [50.00%] [local count: 134217728]: # DEBUG BEGIN_STMT _9 = pxQueue_24(D)->pcHead; pxQueue_24(D)->pcWriteTo = _9; goto ; [100.00%] [local count: 268435456]: # DEBUG BEGIN_STMT _10 = pxQueue_24(D)->u.xQueue.pcReadFrom; memcpy (_10, pvItemToQueue_27(D), _1); # DEBUG BEGIN_STMT _11 = pxQueue_24(D)->u.xQueue.pcReadFrom; _12 = pxQueue_24(D)->uxItemSize; _13 = -_12; _14 = _11 + _13; pxQueue_24(D)->u.xQueue.pcReadFrom = _14; # DEBUG BEGIN_STMT _15 = pxQueue_24(D)->pcHead; if (_14 < _15) goto ; [50.00%] else goto ; [50.00%] [local count: 134217728]: # DEBUG BEGIN_STMT _16 = pxQueue_24(D)->u.xQueue.pcTail; _17 = _16 + _13; pxQueue_24(D)->u.xQueue.pcReadFrom = _17; [local count: 268435456]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xPosition_26(D) == 2) goto ; [34.00%] else goto ; [66.00%] [local count: 91268055]: # DEBUG BEGIN_STMT if (uxMessagesWaiting_25 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 45634027]: # DEBUG BEGIN_STMT uxMessagesWaiting_31 = uxMessagesWaiting_25 + 4294967295; # DEBUG uxMessagesWaiting => uxMessagesWaiting_31 [local count: 1073741824]: # xReturn_19 = PHI # uxMessagesWaiting_20 = PHI # DEBUG uxMessagesWaiting => uxMessagesWaiting_20 # DEBUG xReturn => xReturn_19 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _18 = uxMessagesWaiting_20 + 1; pxQueue_24(D)->uxMessagesWaiting ={v} _18; # DEBUG BEGIN_STMT return xReturn_19; } prvGetDisinheritPriorityAfterTimeout (const struct Queue_t * const pxQueue) { UBaseType_t uxHighestPriorityOfWaitingTasks; long unsigned int _1; struct xLIST_ITEM * _2; long unsigned int _3; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 ={v} pxQueue_6(D)->xTasksWaitingToReceive.uxNumberOfItems; if (_1 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT _2 = pxQueue_6(D)->xTasksWaitingToReceive.xListEnd.pxNext; _3 = _2->xItemValue; uxHighestPriorityOfWaitingTasks_7 = 5 - _3; # DEBUG uxHighestPriorityOfWaitingTasks => uxHighestPriorityOfWaitingTasks_7 [local count: 1073741824]: # uxHighestPriorityOfWaitingTasks_4 = PHI # DEBUG uxHighestPriorityOfWaitingTasks => uxHighestPriorityOfWaitingTasks_4 # DEBUG BEGIN_STMT return uxHighestPriorityOfWaitingTasks_4; } ucQueueGetQueueType (struct QueueDefinition * xQueue) { uint8_t _3; [local count: 1073741824]: # DEBUG BEGIN_STMT _3 = MEM[(struct Queue_t *)xQueue_2(D)].ucQueueType; return _3; } vQueueSetQueueNumber (struct QueueDefinition * xQueue, UBaseType_t uxQueueNumber) { [local count: 1073741824]: # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_2(D)].uxQueueNumber = uxQueueNumber_3(D); return; } uxQueueGetQueueNumber (struct QueueDefinition * xQueue) { UBaseType_t _3; [local count: 1073741824]: # DEBUG BEGIN_STMT _3 = MEM[(struct Queue_t *)xQueue_2(D)].uxQueueNumber; return _3; } vQueueDelete (struct QueueDefinition * xQueue) { uint32_t ulNewBASEPRI; [local count: 230763]: # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_1(D) # DEBUG BEGIN_STMT if (xQueue_1(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_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: 123389]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vQueueUnregisterQueue (xQueue_1(D)); # DEBUG BEGIN_STMT vPortFree (xQueue_1(D)); return; } uxQueueMessagesWaitingFromISR (struct QueueDefinition * const xQueue) { uint32_t ulNewBASEPRI; UBaseType_t uxReturn; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_1(D) # DEBUG BEGIN_STMT if (xQueue_1(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_4 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_4 [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 uxReturn_3 ={v} MEM[(struct Queue_t *)xQueue_1(D)].uxMessagesWaiting; # DEBUG uxReturn => uxReturn_3 # DEBUG BEGIN_STMT return uxReturn_3; } uxQueueSpacesAvailable (struct QueueDefinition * const xQueue) { uint32_t ulNewBASEPRI; UBaseType_t uxReturn; long unsigned int _1; long unsigned int _2; [local count: 230763]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_3(D) # DEBUG BEGIN_STMT if (xQueue_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 vPortEnterCritical (); # DEBUG BEGIN_STMT _1 = MEM[(struct Queue_t *)xQueue_3(D)].uxLength; _2 ={v} MEM[(struct Queue_t *)xQueue_3(D)].uxMessagesWaiting; uxReturn_6 = _1 - _2; # DEBUG uxReturn => uxReturn_6 # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT return uxReturn_6; } uxQueueMessagesWaiting (struct QueueDefinition * const xQueue) { uint32_t ulNewBASEPRI; UBaseType_t uxReturn; [local count: 230763]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xQueue_1(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_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: 123389]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT uxReturn_4 ={v} MEM[(struct Queue_t *)xQueue_1(D)].uxMessagesWaiting; # DEBUG uxReturn => uxReturn_4 # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT return uxReturn_4; } xQueuePeekFromISR (struct QueueDefinition * xQueue, void * const pvBuffer) { uint32_t ulOriginalBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; int8_t * pcOriginalReadPosition; BaseType_t xReturn; long unsigned int _1; long unsigned int _2; long unsigned int _3; [local count: 269344]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_6(D) # DEBUG BEGIN_STMT if (xQueue_6(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 80803]: # 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: 808033481]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 808033481]: goto ; [100.00%] [local count: 188541]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (pvBuffer_7(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 56562]: _1 = MEM[(struct Queue_t *)xQueue_6(D)].uxItemSize; if (_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 28281]: # 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 => ulNewBASEPRI_14 [local count: 282811719]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 282811719]: goto ; [100.00%] [local count: 160260]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = MEM[(struct Queue_t *)xQueue_6(D)].uxItemSize; if (_2 == 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_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: 52886]: # 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_16, "=r" ulNewBASEPRI_17 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_17 # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_16 # DEBUG BEGIN_STMT # DEBUG ulNewBASEPRI => NULL # DEBUG ulOriginalBASEPRI => NULL # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_16 # DEBUG BEGIN_STMT _3 ={v} MEM[(struct Queue_t *)xQueue_6(D)].uxMessagesWaiting; if (_3 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 17452]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pcOriginalReadPosition_10 = MEM[(struct Queue_t *)xQueue_6(D)].u.xQueue.pcReadFrom; # DEBUG pcOriginalReadPosition => pcOriginalReadPosition_10 # DEBUG BEGIN_STMT prvCopyDataFromQueue (xQueue_6(D), pvBuffer_7(D)); # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_6(D)].u.xQueue.pcReadFrom = pcOriginalReadPosition_10; # DEBUG BEGIN_STMT # DEBUG xReturn => 1 [local count: 52886]: # xReturn_4 = PHI <1(13), 0(12)> # DEBUG xReturn => xReturn_4 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG ulNewMaskValue => ulOriginalBASEPRI_16 # DEBUG INLINE_ENTRY vPortSetBASEPRI # DEBUG BEGIN_STMT __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_16 : "memory"); # DEBUG ulNewMaskValue => NULL # DEBUG BEGIN_STMT return xReturn_4; } xQueueReceiveFromISR (struct QueueDefinition * xQueue, void * const pvBuffer, BaseType_t * const pxHigherPriorityTaskWoken) { uint32_t ulNewBASEPRI; uint32_t ulOriginalBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; const int8_t cRxLock; const UBaseType_t uxMessagesWaiting; BaseType_t xReturn; long unsigned int _1; long unsigned int _2; long unsigned int _3; struct List_t * _4; long int _5; unsigned char cRxLock.28_6; unsigned char _7; signed char _8; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_11(D) # DEBUG BEGIN_STMT if (xQueue_11(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_23 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_23 [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 if (pvBuffer_12(D) != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 116576]: _1 = MEM[(struct Queue_t *)xQueue_11(D)].uxItemSize; if (_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 58288]: # 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: 582880751]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 582880751]: goto ; [100.00%] [local count: 192251]: # 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_25, "=r" ulNewBASEPRI_26 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_26 # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_25 # DEBUG BEGIN_STMT # DEBUG ulNewBASEPRI => NULL # DEBUG ulOriginalBASEPRI => NULL # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_25 # DEBUG BEGIN_STMT uxMessagesWaiting_15 ={v} MEM[(struct Queue_t *)xQueue_11(D)].uxMessagesWaiting; # DEBUG uxMessagesWaiting => uxMessagesWaiting_15 # DEBUG BEGIN_STMT if (uxMessagesWaiting_15 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 63443]: # DEBUG BEGIN_STMT cRxLock_16 ={v} MEM[(struct Queue_t *)xQueue_11(D)].cRxLock; # DEBUG cRxLock => cRxLock_16 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT prvCopyDataFromQueue (xQueue_11(D), pvBuffer_12(D)); # DEBUG BEGIN_STMT _2 = uxMessagesWaiting_15 + 4294967295; MEM[(struct Queue_t *)xQueue_11(D)].uxMessagesWaiting ={v} _2; # DEBUG BEGIN_STMT if (cRxLock_16 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 21571]: # DEBUG BEGIN_STMT _3 ={v} MEM[(struct Queue_t *)xQueue_11(D)].xTasksWaitingToSend.uxNumberOfItems; if (_3 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 7118]: # DEBUG BEGIN_STMT _4 = &MEM[(struct Queue_t *)xQueue_11(D)].xTasksWaitingToSend; _5 = xTaskRemoveFromEventList (_4); if (_5 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 3559]: # DEBUG BEGIN_STMT if (pxHigherPriorityTaskWoken_21(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 2491]: # DEBUG BEGIN_STMT *pxHigherPriorityTaskWoken_21(D) = 1; goto ; [100.00%] [local count: 41872]: # DEBUG BEGIN_STMT if (cRxLock_16 == 127) goto ; [34.00%] else goto ; [66.00%] [local count: 14237]: # 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_27 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_27 [local count: 142366217]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 142366217]: goto ; [100.00%] [local count: 27636]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT cRxLock.28_6 = (unsigned char) cRxLock_16; _7 = cRxLock.28_6 + 1; _8 = (signed char) _7; MEM[(struct Queue_t *)xQueue_11(D)].cRxLock ={v} _8; [local count: 178015]: # xReturn_9 = PHI <1(18), 0(9), 1(14), 1(12), 1(13), 1(11)> # DEBUG xReturn => xReturn_9 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG ulNewMaskValue => ulOriginalBASEPRI_25 # DEBUG INLINE_ENTRY vPortSetBASEPRI # DEBUG BEGIN_STMT __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_25 : "memory"); # DEBUG ulNewMaskValue => NULL # DEBUG BEGIN_STMT return xReturn_9; } xQueuePeek (struct QueueDefinition * xQueue, void * const pvBuffer, TickType_t xTicksToWait) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; const UBaseType_t uxMessagesWaiting; int8_t * pcOriginalReadPosition; struct TimeOut_t xTimeOut; BaseType_t xEntryTimeSet; long unsigned int _1; long int _2; long unsigned int xTicksToWait.24_3; long unsigned int _4; struct List_t * _5; long int _6; long unsigned int xTicksToWait.25_7; signed char _8; signed char _9; long int _10; long int _11; struct List_t * _12; long unsigned int xTicksToWait.26_13; long int _14; long int _15; BaseType_t _18; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG xEntryTimeSet => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_26(D) # DEBUG BEGIN_STMT if (xQueue_26(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_64 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_64 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (pvBuffer_27(D) != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 116576]: _1 = MEM[(struct Queue_t *)xQueue_26(D)].uxItemSize; if (_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 58288]: # 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_65 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_65 [local count: 582880751]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 192251]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = xTaskGetSchedulerState (); if (_2 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 144189]: # xEntryTimeSet_30 = PHI <0(9), 0(11)> goto ; [100.00%] [local count: 96126]: xTicksToWait.24_3 = xTicksToWait; if (xTicksToWait.24_3 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 48063]: # 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: 480629211]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 1478726]: # xEntryTimeSet_44 = PHI [local count: 1622915]: # xEntryTimeSet_16 = PHI # DEBUG xEntryTimeSet => xEntryTimeSet_16 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT uxMessagesWaiting_32 ={v} MEM[(struct Queue_t *)xQueue_26(D)].uxMessagesWaiting; # DEBUG uxMessagesWaiting => uxMessagesWaiting_32 # DEBUG BEGIN_STMT if (uxMessagesWaiting_32 != 0) goto ; [3.66%] else goto ; [96.34%] [local count: 59399]: # DEBUG BEGIN_STMT pcOriginalReadPosition_55 = MEM[(struct Queue_t *)xQueue_26(D)].u.xQueue.pcReadFrom; # DEBUG pcOriginalReadPosition => pcOriginalReadPosition_55 # DEBUG BEGIN_STMT prvCopyDataFromQueue (xQueue_26(D), pvBuffer_27(D)); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_26(D)].u.xQueue.pcReadFrom = pcOriginalReadPosition_55; # DEBUG BEGIN_STMT _4 ={v} MEM[(struct Queue_t *)xQueue_26(D)].xTasksWaitingToReceive.uxNumberOfItems; if (_4 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 19602]: # DEBUG BEGIN_STMT _5 = &MEM[(struct Queue_t *)xQueue_26(D)].xTasksWaitingToReceive; _6 = xTaskRemoveFromEventList (_5); if (_6 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 9801]: # 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: 59399]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 1563516]: # DEBUG BEGIN_STMT xTicksToWait.25_7 = xTicksToWait; if (xTicksToWait.25_7 == 0) goto ; [3.66%] else goto ; [96.34%] [local count: 57225]: # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 1506292]: # DEBUG BEGIN_STMT if (xEntryTimeSet_16 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 497076]: # DEBUG BEGIN_STMT vTaskInternalSetTimeOutState (&xTimeOut); # DEBUG BEGIN_STMT # DEBUG xEntryTimeSet => 1 [local count: 1506292]: # xEntryTimeSet_17 = PHI # DEBUG xEntryTimeSet => xEntryTimeSet_17 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _8 ={v} MEM[(struct Queue_t *)xQueue_26(D)].cRxLock; if (_8 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 512139]: # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_26(D)].cRxLock ={v} 0; [local count: 1506292]: # DEBUG BEGIN_STMT _9 ={v} MEM[(struct Queue_t *)xQueue_26(D)].cTxLock; if (_9 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 512139]: # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_26(D)].cTxLock ={v} 0; [local count: 1506292]: # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT _10 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); if (_10 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 753146]: # DEBUG BEGIN_STMT _11 = prvIsQueueEmpty (xQueue_26(D)); if (_11 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 376573]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _12 = &MEM[(struct Queue_t *)xQueue_26(D)].xTasksWaitingToReceive; xTicksToWait.26_13 = xTicksToWait; vTaskPlaceOnEventList (_12, xTicksToWait.26_13); # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_26(D)); # DEBUG BEGIN_STMT _14 = xTaskResumeAll (); if (_14 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 188286]: # 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: 376573]: # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_26(D)); # DEBUG BEGIN_STMT xTaskResumeAll (); goto ; [100.00%] [local count: 753146]: # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_26(D)); # DEBUG BEGIN_STMT xTaskResumeAll (); # DEBUG BEGIN_STMT _15 = prvIsQueueEmpty (xQueue_26(D)); if (_15 != 0) goto ; [3.66%] else goto ; [96.34%] [local count: 144189]: # _18 = PHI <1(19), 0(21), 0(33)> xTimeOut ={v} {CLOBBER}; return _18; } xQueueSemaphoreTake (struct QueueDefinition * xQueue, TickType_t xTicksToWait) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; UBaseType_t uxHighestWaitingPriority; const UBaseType_t uxSemaphoreCount; BaseType_t xInheritanceOccurred; struct TimeOut_t xTimeOut; BaseType_t xEntryTimeSet; long unsigned int _1; long int _2; long unsigned int xTicksToWait.19_3; long unsigned int _4; int8_t * _5; struct tskTaskControlBlock * _6; long unsigned int _7; struct List_t * _8; long int _9; long unsigned int xTicksToWait.20_10; signed char _11; signed char _12; long int _13; long int _14; int8_t * _15; struct tskTaskControlBlock * _16; struct List_t * _17; long unsigned int xTicksToWait.21_18; long int _19; long int _20; struct tskTaskControlBlock * _21; BaseType_t _27; [local count: 228942]: # DEBUG BEGIN_STMT # DEBUG xEntryTimeSet => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_38(D) # DEBUG BEGIN_STMT # DEBUG xInheritanceOccurred => 0 # DEBUG BEGIN_STMT if (xQueue_38(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_88 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_88 [local count: 686828460]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 160260]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = MEM[(struct Queue_t *)xQueue_38(D)].uxItemSize; if (_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_89 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_89 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 52886]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = xTaskGetSchedulerState (); if (_2 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 26443]: xTicksToWait.19_3 = xTicksToWait; if (xTicksToWait.19_3 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 39664]: # xEntryTimeSet_40 = PHI <0(9), 0(8)> # xInheritanceOccurred_64 = PHI <0(9), 0(8)> goto ; [100.00%] [local count: 13221]: # 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_90 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_90 [local count: 132214478]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 406777]: # xEntryTimeSet_48 = PHI # xInheritanceOccurred_39 = PHI [local count: 446442]: # xEntryTimeSet_22 = PHI # xInheritanceOccurred_24 = PHI # DEBUG xInheritanceOccurred => xInheritanceOccurred_24 # DEBUG xEntryTimeSet => xEntryTimeSet_22 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT uxSemaphoreCount_46 ={v} MEM[(struct Queue_t *)xQueue_38(D)].uxMessagesWaiting; # DEBUG uxSemaphoreCount => uxSemaphoreCount_46 # DEBUG BEGIN_STMT if (uxSemaphoreCount_46 != 0) goto ; [3.66%] else goto ; [96.34%] [local count: 16340]: # uxSemaphoreCount_26 = PHI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _4 = uxSemaphoreCount_26 + 4294967295; MEM[(struct Queue_t *)xQueue_38(D)].uxMessagesWaiting ={v} _4; # DEBUG BEGIN_STMT _5 = MEM[(struct Queue_t *)xQueue_38(D)].pcHead; if (_5 == 0B) goto ; [17.43%] else goto ; [82.57%] [local count: 2848]: # DEBUG BEGIN_STMT _6 = pvTaskIncrementMutexHeldCount (); MEM[(struct Queue_t *)xQueue_38(D)].u.xSemaphore.xMutexHolder = _6; [local count: 16340]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _7 ={v} MEM[(struct Queue_t *)xQueue_38(D)].xTasksWaitingToSend.uxNumberOfItems; if (_7 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 5392]: # DEBUG BEGIN_STMT _8 = &MEM[(struct Queue_t *)xQueue_38(D)].xTasksWaitingToSend; _9 = xTaskRemoveFromEventList (_8); if (_9 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 2696]: # 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: 16340]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 430102]: # DEBUG BEGIN_STMT xTicksToWait.20_10 = xTicksToWait; if (xTicksToWait.20_10 == 0) goto ; [3.66%] else goto ; [96.34%] [local count: 15742]: # xInheritanceOccurred_43 = PHI # DEBUG BEGIN_STMT if (xInheritanceOccurred_43 != 0) goto ; [79.76%] else goto ; [20.24%] [local count: 12556]: # 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_91 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_91 [local count: 125556217]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 3186]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 414360]: # DEBUG BEGIN_STMT if (xEntryTimeSet_22 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 136739]: # DEBUG BEGIN_STMT vTaskInternalSetTimeOutState (&xTimeOut); # DEBUG BEGIN_STMT # DEBUG xEntryTimeSet => 1 [local count: 414360]: # xEntryTimeSet_23 = PHI # DEBUG xEntryTimeSet => xEntryTimeSet_23 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _11 ={v} MEM[(struct Queue_t *)xQueue_38(D)].cRxLock; if (_11 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 140882]: # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_38(D)].cRxLock ={v} 0; [local count: 414360]: # DEBUG BEGIN_STMT _12 ={v} MEM[(struct Queue_t *)xQueue_38(D)].cTxLock; if (_12 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 140882]: # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_38(D)].cTxLock ={v} 0; [local count: 414360]: # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT _13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); if (_13 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 207180]: # DEBUG BEGIN_STMT _14 = prvIsQueueEmpty (xQueue_38(D)); if (_14 != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 138811]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _15 = MEM[(struct Queue_t *)xQueue_38(D)].pcHead; if (_15 == 0B) goto ; [17.43%] else goto ; [82.57%] [local count: 24195]: # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _16 = MEM[(struct Queue_t *)xQueue_38(D)].u.xSemaphore.xMutexHolder; xInheritanceOccurred_70 = xTaskPriorityInherit (_16); # DEBUG xInheritanceOccurred => xInheritanceOccurred_70 # DEBUG BEGIN_STMT vPortExitCritical (); [local count: 138811]: # xInheritanceOccurred_25 = PHI # DEBUG xInheritanceOccurred => xInheritanceOccurred_25 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _17 = &MEM[(struct Queue_t *)xQueue_38(D)].xTasksWaitingToReceive; xTicksToWait.21_18 = xTicksToWait; vTaskPlaceOnEventList (_17, xTicksToWait.21_18); # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_38(D)); # DEBUG BEGIN_STMT _19 = xTaskResumeAll (); if (_19 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 69405]: # 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: 68369]: # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_38(D)); # DEBUG BEGIN_STMT xTaskResumeAll (); goto ; [100.00%] [local count: 207180]: # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_38(D)); # DEBUG BEGIN_STMT xTaskResumeAll (); # DEBUG BEGIN_STMT _20 = prvIsQueueEmpty (xQueue_38(D)); if (_20 != 0) goto ; [3.66%] else goto ; [96.34%] [local count: 7583]: # xInheritanceOccurred_44 = PHI # DEBUG BEGIN_STMT if (xInheritanceOccurred_44 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 2502]: # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxHighestWaitingPriority_61 = prvGetDisinheritPriorityAfterTimeout (xQueue_38(D)); # DEBUG uxHighestWaitingPriority => uxHighestWaitingPriority_61 # DEBUG BEGIN_STMT _21 = MEM[(struct Queue_t *)xQueue_38(D)].u.xSemaphore.xMutexHolder; vTaskPriorityDisinheritAfterTimeout (_21, uxHighestWaitingPriority_61); # DEBUG BEGIN_STMT vPortExitCritical (); [local count: 7583]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 27109]: # _27 = PHI <1(20), 0(25), 0(42)> xTimeOut ={v} {CLOBBER}; return _27; } xQueueReceive (struct QueueDefinition * xQueue, void * const pvBuffer, TickType_t xTicksToWait) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; const UBaseType_t uxMessagesWaiting; struct TimeOut_t xTimeOut; BaseType_t xEntryTimeSet; long unsigned int _1; long int _2; long unsigned int xTicksToWait.15_3; long unsigned int _4; long unsigned int _5; struct List_t * _6; long int _7; long unsigned int xTicksToWait.16_8; signed char _9; signed char _10; long int _11; long int _12; struct List_t * _13; long unsigned int xTicksToWait.17_14; long int _15; long int _16; BaseType_t _19; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG xEntryTimeSet => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_27(D) # DEBUG BEGIN_STMT if (xQueue_27(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_65 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_65 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (pvBuffer_28(D) != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 116576]: _1 = MEM[(struct Queue_t *)xQueue_27(D)].uxItemSize; if (_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 58288]: # 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: 582880751]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 192251]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = xTaskGetSchedulerState (); if (_2 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 144189]: # xEntryTimeSet_32 = PHI <0(9), 0(11)> goto ; [100.00%] [local count: 96126]: xTicksToWait.15_3 = xTicksToWait; if (xTicksToWait.15_3 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 48063]: # 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_67 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_67 [local count: 480629211]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 1478726]: # xEntryTimeSet_46 = PHI [local count: 1622915]: # xEntryTimeSet_17 = PHI # DEBUG xEntryTimeSet => xEntryTimeSet_17 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT uxMessagesWaiting_34 ={v} MEM[(struct Queue_t *)xQueue_27(D)].uxMessagesWaiting; # DEBUG uxMessagesWaiting => uxMessagesWaiting_34 # DEBUG BEGIN_STMT if (uxMessagesWaiting_34 != 0) goto ; [3.66%] else goto ; [96.34%] [local count: 59399]: # uxMessagesWaiting_31 = PHI # DEBUG BEGIN_STMT prvCopyDataFromQueue (xQueue_27(D), pvBuffer_28(D)); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _4 = uxMessagesWaiting_31 + 4294967295; MEM[(struct Queue_t *)xQueue_27(D)].uxMessagesWaiting ={v} _4; # DEBUG BEGIN_STMT _5 ={v} MEM[(struct Queue_t *)xQueue_27(D)].xTasksWaitingToSend.uxNumberOfItems; if (_5 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 19602]: # DEBUG BEGIN_STMT _6 = &MEM[(struct Queue_t *)xQueue_27(D)].xTasksWaitingToSend; _7 = xTaskRemoveFromEventList (_6); if (_7 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 9801]: # 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: 59399]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 1563516]: # DEBUG BEGIN_STMT xTicksToWait.16_8 = xTicksToWait; if (xTicksToWait.16_8 == 0) goto ; [3.66%] else goto ; [96.34%] [local count: 57225]: # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 1506292]: # DEBUG BEGIN_STMT if (xEntryTimeSet_17 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 497076]: # DEBUG BEGIN_STMT vTaskInternalSetTimeOutState (&xTimeOut); # DEBUG BEGIN_STMT # DEBUG xEntryTimeSet => 1 [local count: 1506292]: # xEntryTimeSet_18 = PHI # DEBUG xEntryTimeSet => xEntryTimeSet_18 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _9 ={v} MEM[(struct Queue_t *)xQueue_27(D)].cRxLock; if (_9 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 512139]: # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_27(D)].cRxLock ={v} 0; [local count: 1506292]: # DEBUG BEGIN_STMT _10 ={v} MEM[(struct Queue_t *)xQueue_27(D)].cTxLock; if (_10 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 512139]: # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_27(D)].cTxLock ={v} 0; [local count: 1506292]: # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT _11 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); if (_11 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 753146]: # DEBUG BEGIN_STMT _12 = prvIsQueueEmpty (xQueue_27(D)); if (_12 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 376573]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _13 = &MEM[(struct Queue_t *)xQueue_27(D)].xTasksWaitingToReceive; xTicksToWait.17_14 = xTicksToWait; vTaskPlaceOnEventList (_13, xTicksToWait.17_14); # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_27(D)); # DEBUG BEGIN_STMT _15 = xTaskResumeAll (); if (_15 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 188286]: # 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: 376573]: # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_27(D)); # DEBUG BEGIN_STMT xTaskResumeAll (); goto ; [100.00%] [local count: 753146]: # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_27(D)); # DEBUG BEGIN_STMT xTaskResumeAll (); # DEBUG BEGIN_STMT _16 = prvIsQueueEmpty (xQueue_27(D)); if (_16 != 0) goto ; [3.66%] else goto ; [96.34%] [local count: 144189]: # _19 = PHI <1(19), 0(21), 0(33)> xTimeOut ={v} {CLOBBER}; return _19; } xQueueGiveFromISR (struct QueueDefinition * xQueue, BaseType_t * const pxHigherPriorityTaskWoken) { uint32_t ulNewBASEPRI; uint32_t ulOriginalBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; const int8_t cTxLock; const UBaseType_t uxMessagesWaiting; BaseType_t xReturn; long unsigned int _1; int8_t * _2; struct tskTaskControlBlock * _3; long unsigned int _4; long unsigned int _5; long unsigned int _6; struct List_t * _7; long int _8; unsigned char cTxLock.12_9; unsigned char _10; signed char _11; [local count: 306783]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_14(D) # DEBUG BEGIN_STMT if (xQueue_14(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_24 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_24 [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 _1 = MEM[(struct Queue_t *)xQueue_14(D)].uxItemSize; 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_25 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_25 [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 Queue_t *)xQueue_14(D)].pcHead; if (_2 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 49961]: _3 = MEM[(struct Queue_t *)xQueue_14(D)].u.xSemaphore.xMutexHolder; if (_3 == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 34973]: # 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_26 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_26 [local count: 349728449]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 349728449]: goto ; [100.00%] [local count: 72401]: # 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_27, "=r" ulNewBASEPRI_28 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_28 # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_27 # DEBUG BEGIN_STMT # DEBUG ulNewBASEPRI => NULL # DEBUG ulOriginalBASEPRI => NULL # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_27 # DEBUG BEGIN_STMT uxMessagesWaiting_17 ={v} MEM[(struct Queue_t *)xQueue_14(D)].uxMessagesWaiting; # DEBUG uxMessagesWaiting => uxMessagesWaiting_17 # DEBUG BEGIN_STMT _4 = MEM[(struct Queue_t *)xQueue_14(D)].uxLength; if (_4 > uxMessagesWaiting_17) goto ; [50.00%] else goto ; [50.00%] [local count: 36201]: # DEBUG BEGIN_STMT cTxLock_18 ={v} MEM[(struct Queue_t *)xQueue_14(D)].cTxLock; # DEBUG cTxLock => cTxLock_18 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _5 = uxMessagesWaiting_17 + 1; MEM[(struct Queue_t *)xQueue_14(D)].uxMessagesWaiting ={v} _5; # DEBUG BEGIN_STMT if (cTxLock_18 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 12308]: # DEBUG BEGIN_STMT _6 ={v} MEM[(struct Queue_t *)xQueue_14(D)].xTasksWaitingToReceive.uxNumberOfItems; if (_6 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 4062]: # DEBUG BEGIN_STMT _7 = &MEM[(struct Queue_t *)xQueue_14(D)].xTasksWaitingToReceive; _8 = xTaskRemoveFromEventList (_7); if (_8 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 2031]: # DEBUG BEGIN_STMT if (pxHigherPriorityTaskWoken_22(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 1422]: # DEBUG BEGIN_STMT *pxHigherPriorityTaskWoken_22(D) = 1; goto ; [100.00%] [local count: 23892]: # DEBUG BEGIN_STMT if (cTxLock_18 == 127) goto ; [34.00%] else goto ; [66.00%] [local count: 8123]: # 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: 81234300]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 81234300]: goto ; [100.00%] [local count: 15769]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT cTxLock.12_9 = (unsigned char) cTxLock_18; _10 = cTxLock.12_9 + 1; _11 = (signed char) _10; MEM[(struct Queue_t *)xQueue_14(D)].cTxLock ={v} _11; [local count: 64278]: # xReturn_12 = PHI <1(21), 0(12), 1(17), 1(15), 1(16), 1(14)> # DEBUG xReturn => xReturn_12 # DEBUG BEGIN_STMT # DEBUG ulNewMaskValue => ulOriginalBASEPRI_27 # DEBUG INLINE_ENTRY vPortSetBASEPRI # DEBUG BEGIN_STMT __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_27 : "memory"); # DEBUG ulNewMaskValue => NULL # DEBUG BEGIN_STMT return xReturn_12; } xQueueGenericSendFromISR (struct QueueDefinition * xQueue, const void * const pvItemToQueue, BaseType_t * const pxHigherPriorityTaskWoken, const BaseType_t xCopyPosition) { uint32_t ulNewBASEPRI; uint32_t ulOriginalBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; const UBaseType_t uxPreviousMessagesWaiting; const int8_t cTxLock; BaseType_t xReturn; long unsigned int _1; long unsigned int _2; long unsigned int _3; long unsigned int _4; long unsigned int _5; struct List_t * _6; long int _7; unsigned char cTxLock.10_8; unsigned char _9; signed char _10; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_13(D) # DEBUG BEGIN_STMT if (xQueue_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 if (pvItemToQueue_14(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 75162]: _1 = MEM[(struct Queue_t *)xQueue_13(D)].uxItemSize; if (_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 37581]: # 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_26 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_26 [local count: 375809639]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 375809639]: goto ; [100.00%] [local count: 212958]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xCopyPosition_16(D) != 2) goto ; [48.88%] else goto ; [51.12%] [local count: 108864]: _2 = MEM[(struct Queue_t *)xQueue_13(D)].uxLength; if (_2 == 1) goto ; [34.00%] else goto ; [66.00%] [local count: 71850]: # 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_27 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_27 [local count: 718505940]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 718505940]: goto ; [100.00%] [local count: 141108]: # 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_28, "=r" ulNewBASEPRI_29 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_29 # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_28 # DEBUG BEGIN_STMT # DEBUG ulNewBASEPRI => NULL # DEBUG ulOriginalBASEPRI => NULL # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_28 # DEBUG BEGIN_STMT _3 ={v} MEM[(struct Queue_t *)xQueue_13(D)].uxMessagesWaiting; _4 = MEM[(struct Queue_t *)xQueue_13(D)].uxLength; if (_3 < _4) goto ; [33.00%] else goto ; [67.00%] [local count: 94542]: if (xCopyPosition_16(D) == 2) goto ; [34.00%] else goto ; [66.00%] [local count: 78710]: # DEBUG BEGIN_STMT cTxLock_18 ={v} MEM[(struct Queue_t *)xQueue_13(D)].cTxLock; # DEBUG cTxLock => cTxLock_18 # DEBUG BEGIN_STMT uxPreviousMessagesWaiting_19 ={v} MEM[(struct Queue_t *)xQueue_13(D)].uxMessagesWaiting; # DEBUG uxPreviousMessagesWaiting => uxPreviousMessagesWaiting_19 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT prvCopyDataToQueue (xQueue_13(D), pvItemToQueue_14(D), xCopyPosition_16(D)); # DEBUG BEGIN_STMT if (cTxLock_18 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 26761]: # DEBUG BEGIN_STMT _5 ={v} MEM[(struct Queue_t *)xQueue_13(D)].xTasksWaitingToReceive.uxNumberOfItems; if (_5 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 8831]: # DEBUG BEGIN_STMT _6 = &MEM[(struct Queue_t *)xQueue_13(D)].xTasksWaitingToReceive; _7 = xTaskRemoveFromEventList (_6); if (_7 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 4416]: # DEBUG BEGIN_STMT if (pxHigherPriorityTaskWoken_23(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 3091]: # DEBUG BEGIN_STMT *pxHigherPriorityTaskWoken_23(D) = 1; goto ; [100.00%] [local count: 51949]: # DEBUG BEGIN_STMT if (cTxLock_18 == 127) goto ; [34.00%] else goto ; [66.00%] [local count: 17663]: # 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_30 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_30 [local count: 176625587]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 176625587]: goto ; [100.00%] [local count: 34286]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT cTxLock.10_8 = (unsigned char) cTxLock_18; _9 = cTxLock.10_8 + 1; _10 = (signed char) _9; MEM[(struct Queue_t *)xQueue_13(D)].cTxLock ={v} _10; [local count: 123445]: # xReturn_11 = PHI <1(23), 0(14), 1(19), 1(17), 1(18), 1(16)> # DEBUG xReturn => xReturn_11 # DEBUG BEGIN_STMT # DEBUG ulNewMaskValue => ulOriginalBASEPRI_28 # DEBUG INLINE_ENTRY vPortSetBASEPRI # DEBUG BEGIN_STMT __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_28 : "memory"); # DEBUG ulNewMaskValue => NULL # DEBUG BEGIN_STMT return xReturn_11; } xQueueGenericSend (struct QueueDefinition * xQueue, const void * const pvItemToQueue, TickType_t xTicksToWait, const BaseType_t xCopyPosition) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; struct TimeOut_t xTimeOut; BaseType_t xYieldRequired; BaseType_t xEntryTimeSet; long unsigned int _1; long unsigned int _2; long int _3; long unsigned int xTicksToWait.3_4; long unsigned int _5; long unsigned int _6; long unsigned int _7; struct List_t * _8; long int _9; long unsigned int xTicksToWait.4_10; signed char _11; signed char _12; long int _13; long int _14; struct List_t * _15; long unsigned int xTicksToWait.5_16; long int _17; BaseType_t _21; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG xEntryTimeSet => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_29(D) # DEBUG BEGIN_STMT if (xQueue_29(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_67 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_67 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (pvItemToQueue_30(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 75162]: _1 = MEM[(struct Queue_t *)xQueue_29(D)].uxItemSize; if (_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 37581]: # 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_68 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_68 [local count: 375809639]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 212958]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xCopyPosition_32(D) != 2) goto ; [48.88%] else goto ; [51.12%] [local count: 108864]: _2 = MEM[(struct Queue_t *)xQueue_29(D)].uxLength; if (_2 == 1) goto ; [34.00%] else goto ; [66.00%] [local count: 71850]: # 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_69 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_69 [local count: 718505940]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 141108]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _3 = xTaskGetSchedulerState (); if (_3 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 105831]: # xEntryTimeSet_36 = PHI <0(13), 0(15)> goto ; [100.00%] [local count: 70554]: xTicksToWait.3_4 = xTicksToWait; if (xTicksToWait.3_4 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 35277]: # 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_70 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_70 [local count: 352770504]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 896877]: # xEntryTimeSet_18 = PHI [local count: 1002708]: # xEntryTimeSet_19 = PHI # DEBUG xEntryTimeSet => xEntryTimeSet_19 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _5 ={v} MEM[(struct Queue_t *)xQueue_29(D)].uxMessagesWaiting; _6 = MEM[(struct Queue_t *)xQueue_29(D)].uxLength; if (_5 < _6) goto ; [2.75%] else goto ; [97.25%] [local count: 975134]: if (xCopyPosition_32(D) == 2) goto ; [2.75%] else goto ; [97.25%] [local count: 54391]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xYieldRequired_57 = prvCopyDataToQueue (xQueue_29(D), pvItemToQueue_30(D), xCopyPosition_32(D)); # DEBUG xYieldRequired => xYieldRequired_57 # DEBUG BEGIN_STMT _7 ={v} MEM[(struct Queue_t *)xQueue_29(D)].xTasksWaitingToReceive.uxNumberOfItems; if (_7 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 17949]: # DEBUG BEGIN_STMT _8 = &MEM[(struct Queue_t *)xQueue_29(D)].xTasksWaitingToReceive; _9 = xTaskRemoveFromEventList (_8); if (_9 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 8974]: # 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: 36442]: # DEBUG BEGIN_STMT if (xYieldRequired_57 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 18221]: # 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: 54391]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 948318]: # DEBUG BEGIN_STMT xTicksToWait.4_10 = xTicksToWait; if (xTicksToWait.4_10 == 0) goto ; [2.75%] else goto ; [97.25%] [local count: 26079]: # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 922239]: # DEBUG BEGIN_STMT if (xEntryTimeSet_19 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 304339]: # DEBUG BEGIN_STMT vTaskInternalSetTimeOutState (&xTimeOut); # DEBUG BEGIN_STMT # DEBUG xEntryTimeSet => 1 [local count: 922239]: # xEntryTimeSet_20 = PHI # DEBUG xEntryTimeSet => xEntryTimeSet_20 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _11 ={v} MEM[(struct Queue_t *)xQueue_29(D)].cRxLock; if (_11 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 313561]: # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_29(D)].cRxLock ={v} 0; [local count: 922239]: # DEBUG BEGIN_STMT _12 ={v} MEM[(struct Queue_t *)xQueue_29(D)].cTxLock; if (_12 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 313561]: # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_29(D)].cTxLock ={v} 0; [local count: 922239]: # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT _13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); if (_13 == 0) goto ; [97.25%] else goto ; [2.75%] [local count: 896877]: # DEBUG BEGIN_STMT _14 = prvIsQueueFull (xQueue_29(D)); if (_14 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 448439]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _15 = &MEM[(struct Queue_t *)xQueue_29(D)].xTasksWaitingToSend; xTicksToWait.5_16 = xTicksToWait; vTaskPlaceOnEventList (_15, xTicksToWait.5_16); # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_29(D)); # DEBUG BEGIN_STMT _17 = xTaskResumeAll (); if (_17 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 224219]: # DEBUG BEGIN_STMT MEM[(volatile uint32_t *)3758157060B] ={v} 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); goto ; [100.00%] [local count: 448439]: # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_29(D)); # DEBUG BEGIN_STMT xTaskResumeAll (); goto ; [100.00%] [local count: 25362]: # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_29(D)); # DEBUG BEGIN_STMT xTaskResumeAll (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 105831]: # _21 = PHI <1(26), 0(28), 0(40)> xTimeOut ={v} {CLOBBER}; return _21; } xQueueCreateCountingSemaphore (const UBaseType_t uxMaxCount, const UBaseType_t uxInitialCount) { uint32_t ulNewBASEPRI; struct QueueDefinition * xHandle; [local count: 128592]: # DEBUG BEGIN_STMT # DEBUG xHandle => 0B # DEBUG BEGIN_STMT if (uxMaxCount_2(D) != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 64296]: if (uxMaxCount_2(D) >= uxInitialCount_3(D)) goto ; [33.00%] else goto ; [67.00%] [local count: 21218]: # DEBUG BEGIN_STMT xHandle_6 = xQueueGenericCreate (uxMaxCount_2(D), 0, 2); # DEBUG xHandle => xHandle_6 # DEBUG BEGIN_STMT if (xHandle_6 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 14852]: # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xHandle_6].uxMessagesWaiting ={v} uxInitialCount_3(D); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # 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: 21218]: # DEBUG xHandle => xHandle_6 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xHandle_6; } xQueueTakeMutexRecursive (struct QueueDefinition * xMutex, TickType_t xTicksToWait) { uint32_t ulNewBASEPRI; BaseType_t xReturn; struct tskTaskControlBlock * _1; struct tskTaskControlBlock * _2; long unsigned int _3; long unsigned int _4; long unsigned int _5; long unsigned int _6; [local count: 230763]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxMutex => xMutex_9(D) # DEBUG BEGIN_STMT if (xMutex_9(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_17 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_17 [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 # DEBUG BEGIN_STMT _1 = MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.xMutexHolder; _2 = xTaskGetCurrentTaskHandle (); if (_1 == _2) goto ; [46.53%] else goto ; [53.47%] [local count: 57413]: # DEBUG BEGIN_STMT _3 = MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.uxRecursiveCallCount; _4 = _3 + 1; MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.uxRecursiveCallCount = _4; # DEBUG BEGIN_STMT # DEBUG xReturn => 1 goto ; [100.00%] [local count: 65976]: # DEBUG BEGIN_STMT xReturn_14 = xQueueSemaphoreTake (xMutex_9(D), xTicksToWait_12(D)); # DEBUG xReturn => xReturn_14 # DEBUG BEGIN_STMT if (xReturn_14 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 32988]: # DEBUG BEGIN_STMT _5 = MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.uxRecursiveCallCount; _6 = _5 + 1; MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.uxRecursiveCallCount = _6; [local count: 123389]: # xReturn_7 = PHI <1(6), xReturn_14(7), xReturn_14(8)> # DEBUG xReturn => xReturn_7 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xReturn_7; } xQueueGiveMutexRecursive (struct QueueDefinition * xMutex) { uint32_t ulNewBASEPRI; BaseType_t xReturn; struct tskTaskControlBlock * _1; struct tskTaskControlBlock * _2; long unsigned int _3; long unsigned int _4; [local count: 230763]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxMutex => xMutex_7(D) # DEBUG BEGIN_STMT if (xMutex_7(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_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: 123389]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = MEM[(struct Queue_t *)xMutex_7(D)].u.xSemaphore.xMutexHolder; _2 = xTaskGetCurrentTaskHandle (); if (_1 == _2) goto ; [30.00%] else goto ; [70.00%] [local count: 37017]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _3 = MEM[(struct Queue_t *)xMutex_7(D)].u.xSemaphore.uxRecursiveCallCount; _4 = _3 + 4294967295; MEM[(struct Queue_t *)xMutex_7(D)].u.xSemaphore.uxRecursiveCallCount = _4; # DEBUG BEGIN_STMT if (_4 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 12216]: # DEBUG BEGIN_STMT xQueueGenericSend (xMutex_7(D), 0B, 0, 0); [local count: 123389]: # xReturn_5 = PHI <1(7), 0(5), 1(6)> # DEBUG xReturn => xReturn_5 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xReturn_5; } xQueueGetMutexHolderFromISR (struct QueueDefinition * xSemaphore) { uint32_t ulNewBASEPRI; struct tskTaskControlBlock * pxReturn; int8_t * _1; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xSemaphore_3(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_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 _1 = MEM[(struct Queue_t *)xSemaphore_3(D)].pcHead; if (_1 == 0B) goto ; [51.20%] else goto ; [48.80%] [local count: 128276]: # DEBUG BEGIN_STMT pxReturn_5 = MEM[(struct Queue_t *)xSemaphore_3(D)].u.xSemaphore.xMutexHolder; # DEBUG pxReturn => pxReturn_5 [local count: 250539]: # pxReturn_2 = PHI # DEBUG pxReturn => pxReturn_2 # DEBUG BEGIN_STMT return pxReturn_2; } xQueueGetMutexHolder (struct QueueDefinition * xSemaphore) { uint32_t ulNewBASEPRI; struct tskTaskControlBlock * pxReturn; int8_t * _1; [local count: 230763]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxSemaphore => xSemaphore_3(D) # DEBUG BEGIN_STMT if (xSemaphore_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 vPortEnterCritical (); # DEBUG BEGIN_STMT _1 = MEM[(struct Queue_t *)xSemaphore_3(D)].pcHead; if (_1 == 0B) goto ; [51.20%] else goto ; [48.80%] [local count: 63175]: # DEBUG BEGIN_STMT pxReturn_6 = MEM[(struct Queue_t *)xSemaphore_3(D)].u.xSemaphore.xMutexHolder; # DEBUG pxReturn => pxReturn_6 [local count: 123389]: # pxReturn_2 = PHI # DEBUG pxReturn => pxReturn_2 # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT return pxReturn_2; } xQueueCreateMutex (const uint8_t ucQueueType) { struct QueueDefinition * xNewQueue; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG uxMutexLength => 1 # DEBUG uxMutexSize => 0 # DEBUG BEGIN_STMT xNewQueue_4 = xQueueGenericCreate (1, 0, ucQueueType_2(D)); # DEBUG xNewQueue => xNewQueue_4 # DEBUG BEGIN_STMT prvInitialiseMutex (xNewQueue_4); # DEBUG BEGIN_STMT return xNewQueue_4; } prvInitialiseMutex (struct Queue_t * pxNewQueue) { [local count: 1073741824]: # DEBUG BEGIN_STMT if (pxNewQueue_2(D) != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 574129754]: # DEBUG BEGIN_STMT pxNewQueue_2(D)->u.xSemaphore.xMutexHolder = 0B; # DEBUG BEGIN_STMT pxNewQueue_2(D)->pcHead = 0B; # DEBUG BEGIN_STMT pxNewQueue_2(D)->u.xSemaphore.uxRecursiveCallCount = 0; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xQueueGenericSend (pxNewQueue_2(D), 0B, 0, 0); [local count: 1073741824]: # DEBUG BEGIN_STMT return; } prvInitialiseNewQueue (const UBaseType_t uxQueueLength, const UBaseType_t uxItemSize, uint8_t * pucQueueStorage, const uint8_t ucQueueType, struct Queue_t * pxNewQueue) { [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (uxItemSize_2(D) == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT pxNewQueue_4(D)->pcHead = pxNewQueue_4(D); goto ; [100.00%] [local count: 536870913]: # DEBUG BEGIN_STMT pxNewQueue_4(D)->pcHead = pucQueueStorage_5(D); [local count: 1073741824]: # DEBUG BEGIN_STMT pxNewQueue_4(D)->uxLength = uxQueueLength_8(D); # DEBUG BEGIN_STMT pxNewQueue_4(D)->uxItemSize = uxItemSize_2(D); # DEBUG BEGIN_STMT xQueueGenericReset (pxNewQueue_4(D), 1); # DEBUG BEGIN_STMT pxNewQueue_4(D)->ucQueueType = ucQueueType_12(D); # DEBUG BEGIN_STMT return; } xQueueGenericCreate (const UBaseType_t uxQueueLength, const UBaseType_t uxItemSize, const uint8_t ucQueueType) { uint32_t ulNewBASEPRI; uint8_t * pucQueueStorage; struct Queue_t * pxNewQueue; __complex__ long unsigned int _1; long unsigned int _2; long unsigned int _3; unsigned int _4; [local count: 117029]: # DEBUG BEGIN_STMT # DEBUG pxNewQueue => 0B # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (uxQueueLength_6(D) != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 58514]: _1 = .MUL_OVERFLOW (uxItemSize_7(D), uxQueueLength_6(D)); _2 = IMAGPART_EXPR <_1>; if (_2 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 29257]: _3 = uxQueueLength_6(D) * uxItemSize_7(D); if (_3 <= 4294967215) goto ; [33.00%] else goto ; [67.00%] [local count: 9655]: # DEBUG BEGIN_STMT # DEBUG xQueueSizeInBytes => _3 # DEBUG BEGIN_STMT _4 = _3 + 80; pxNewQueue_10 = pvPortMalloc (_4); # DEBUG pxNewQueue => pxNewQueue_10 # DEBUG BEGIN_STMT if (pxNewQueue_10 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 5162]: # DEBUG BEGIN_STMT # DEBUG pucQueueStorage => pxNewQueue_10 # DEBUG BEGIN_STMT pucQueueStorage_11 = pxNewQueue_10 + 80; # DEBUG pucQueueStorage => pucQueueStorage_11 # DEBUG BEGIN_STMT prvInitialiseNewQueue (uxQueueLength_6(D), uxItemSize_7(D), pucQueueStorage_11, ucQueueType_12(D), pxNewQueue_10); goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # 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 => ulNewBASEPRI_14 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 9655]: # DEBUG pxNewQueue => pxNewQueue_10 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return pxNewQueue_10; } xQueueGenericReset (struct QueueDefinition * xQueue, BaseType_t xNewQueue) { BaseType_t D.7333; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; long unsigned int _1; __complex__ long unsigned int _2; long unsigned int _3; long unsigned int _4; [local count: 183702]: # DEBUG BEGIN_STMT # DEBUG xReturn => 1 # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_5(D) # DEBUG BEGIN_STMT if (xQueue_5(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 55111]: # 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: 551107865]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 128592]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = MEM[(struct Queue_t *)xQueue_5(D)].uxLength; if (_1 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 64296]: _3 = MEM[(struct Queue_t *)xQueue_5(D)].uxItemSize; _2 = .MUL_OVERFLOW (_3, _1); _4 = IMAGPART_EXPR <_2>; if (_4 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 21218]: _13 = xQueueGenericReset.part.0 (xQueue_5(D), xNewQueue_7(D)); return _13; [local count: 107374]: # DEBUG xReturn => NULL # 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 goto ; [100.00%] }