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) @06a4bb60 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) @06a4b2a0 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) @06bee620 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) @06bcfee0 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) @06bcf380 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) @06bcf2a0 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) @06bcf1c0 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) @06ba3620 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) @06ba32a0 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) @06ba3000 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) @06b4d8c0 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) @06b4de00 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) @06b4dd20 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) @06b4dc40 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) @06b4db60 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) @06b4da80 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) @06b4d9a0 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) @06b4d460 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) @06b3e000 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) @06b3ed20 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) @06b3ec40 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) @06b3eb60 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) @06b3ea80 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) @06b3e540 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) @06b3e2a0 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) @06b38e00 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) @06b38460 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) @06b38d20 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) @06b389a0 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) @06b38700 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) @06b38380 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) @06b380e0 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) @06b2f8c0 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) @06b2f380 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) @06b2fe00 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) @06b2fa80 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) @06b2f7e0 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) @06b2f540 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) @06b2f2a0 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) @06b26d20 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) @06b260e0 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) @06b26c40 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) @06b268c0 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) @06b26460 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) @06b26000 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) @06b12c40 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) @06b12540 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) @06ab9d20 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) @06ab9c40 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) @06ab97e0 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) @06ab90e0 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) @06ab29a0 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) @06ab20e0 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) @06ab2c40 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) @06ab28c0 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) @06ab2540 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) @06ab22a0 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) @06ab2000 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) @06ac77e0 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) @06ac7c40 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) @06ac2630 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%] }