Marking local functions: vQueueUnregisterQueue.part.0 xQueueGenericReset.part.0 prvIsQueueFull prvIsQueueEmpty prvUnlockQueue prvCopyDataFromQueue prvCopyDataToQueue prvGetDisinheritPriorityAfterTimeout prvInitialiseMutex prvInitialiseNewQueue Marking externally visible functions: vQueueWaitForMessageRestricted vQueueUnregisterQueue pcQueueGetName vQueueAddToRegistry xQueueIsQueueFullFromISR xQueueIsQueueEmptyFromISR ucQueueGetQueueType vQueueSetQueueNumber uxQueueGetQueueNumber vQueueDelete uxQueueMessagesWaitingFromISR uxQueueSpacesAvailable uxQueueMessagesWaiting xQueuePeekFromISR xQueueReceiveFromISR xQueuePeek xQueueSemaphoreTake xQueueReceive xQueueGiveFromISR xQueueGenericSendFromISR xQueueGenericSend xQueueCreateCountingSemaphore xQueueTakeMutexRecursive xQueueGiveMutexRecursive xQueueGetMutexHolderFromISR xQueueGetMutexHolder xQueueCreateMutex xQueueGenericCreate xQueueGenericReset Marking externally visible variables: xQueueRegistry Clearing variable flags: Reclaiming functions: Reclaiming variables: Clearing address taken flags: Symbol table: vQueueUnregisterQueue.part.0/114 (vQueueUnregisterQueue.part.0) @05df8b60 Type: function definition analyzed Visibility: prevailing_def_ironly artificial References: Referring: Availability: local Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size Called by: vQueueUnregisterQueue/40 (107374 (estimated locally),0.30 per call) Calls: xQueueGenericReset.part.0/65 (xQueueGenericReset.part.0) @05df82a0 Type: function definition analyzed Visibility: prevailing_def_ironly 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) @05f9a620 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) @05f79ee0 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) @05f79380 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) @05f792a0 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) @05f791c0 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) @05f53620 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) @05f532a0 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) @05f53000 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) @05f058c0 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) @05f05e00 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) @05f05d20 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) @05f05c40 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) @05f05b60 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) @05f05a80 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) @05f059a0 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) @05f05460 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) @05ef2000 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) @05ef2d20 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) @05ef2c40 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) @05ef2b60 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) @05ef2a80 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) @05ef2540 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) @05ef22a0 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) @05eece00 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) @05eec460 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) @05eecd20 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) @05eec9a0 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) @05eec700 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) @05eec380 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) @05eec0e0 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) @05ee38c0 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) @05ee3380 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) @05ee3e00 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) @05ee3a80 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) @05ee37e0 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) @05ee3540 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) @05ee32a0 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) @05edad20 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) @05eda0e0 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) @05edac40 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) @05eda8c0 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) @05eda460 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) @05eda000 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) @05ec8c40 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) @05ec8540 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) @05e68d20 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) @05e68c40 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) @05e687e0 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) @05e680e0 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) @05e609a0 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) @05e600e0 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) @05e60c40 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) @05e608c0 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) @05e60540 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) @05e602a0 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) @05e60000 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) @05e767e0 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) @05e76c40 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) @05e71630 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: 250539]: goto ; [100.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 [local count: 1073741824]: 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 [local count: 582880751]: 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 [local count: 480629211]: 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 [local count: 686828460]: 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 [local count: 1073741824]: 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 [local count: 132214478]: 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 [local count: 125556217]: 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 [local count: 1073741824]: 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 [local count: 582880751]: 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 [local count: 480629211]: 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 [local count: 1073741824]: 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 [local count: 375809639]: 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 [local count: 718505940]: 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 [local count: 352770504]: 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 [local count: 551107865]: 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 [local count: 1073741824]: goto ; [100.00%] }