Marking local functions: prvIsQueueFull prvIsQueueEmpty prvUnlockQueue prvCopyDataFromQueue prvCopyDataToQueue prvGetDisinheritPriorityAfterTimeout prvInitialiseMutex prvInitialiseNewQueue vPortSetBASEPRI ulPortRaiseBASEPRI vPortRaiseBASEPRI 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 Reclaiming functions: Reclaiming variables: Clearing address taken flags: Symbol table: vTaskPlaceOnEventListRestricted/62 (vTaskPlaceOnEventListRestricted) @05f9a620 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vQueueWaitForMessageRestricted/41 Calls: vPortFree/61 (vPortFree) @05f79ee0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vQueueDelete/26 Calls: vTaskPriorityDisinheritAfterTimeout/60 (vTaskPriorityDisinheritAfterTimeout) @05f79380 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueueSemaphoreTake/19 Calls: xTaskPriorityInherit/59 (xTaskPriorityInherit) @05f792a0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueueSemaphoreTake/19 Calls: pvTaskIncrementMutexHeldCount/58 (pvTaskIncrementMutexHeldCount) @05f791c0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueueSemaphoreTake/19 Calls: vPortValidateInterruptPriority/57 (vPortValidateInterruptPriority) @05f53620 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueuePeekFromISR/22 xQueueReceiveFromISR/21 xQueueGiveFromISR/17 xQueueGenericSendFromISR/16 Calls: vTaskMissedYield/56 (vTaskMissedYield) @05f532a0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: prvUnlockQueue/33 prvUnlockQueue/33 Calls: memcpy/55 (memcpy) @05f53000 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: prvCopyDataFromQueue/32 prvCopyDataToQueue/31 prvCopyDataToQueue/31 Calls: xTaskPriorityDisinherit/54 (xTaskPriorityDisinherit) @05f058c0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: prvCopyDataToQueue/31 Calls: xTaskResumeAll/53 (xTaskResumeAll) @05f05e00 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueuePeek/20 xQueuePeek/20 xQueuePeek/20 xQueueSemaphoreTake/19 xQueueSemaphoreTake/19 xQueueSemaphoreTake/19 xQueueReceive/18 xQueueReceive/18 xQueueReceive/18 xQueueGenericSend/15 xQueueGenericSend/15 xQueueGenericSend/15 Calls: vTaskPlaceOnEventList/52 (vTaskPlaceOnEventList) @05f05d20 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueuePeek/20 xQueueSemaphoreTake/19 xQueueReceive/18 xQueueGenericSend/15 Calls: xTaskCheckForTimeOut/51 (xTaskCheckForTimeOut) @05f05c40 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueuePeek/20 xQueueSemaphoreTake/19 xQueueReceive/18 xQueueGenericSend/15 Calls: vTaskSuspendAll/50 (vTaskSuspendAll) @05f05b60 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueuePeek/20 xQueueSemaphoreTake/19 xQueueReceive/18 xQueueGenericSend/15 Calls: vTaskInternalSetTimeOutState/49 (vTaskInternalSetTimeOutState) @05f05a80 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueuePeek/20 xQueueSemaphoreTake/19 xQueueReceive/18 xQueueGenericSend/15 Calls: xTaskGetSchedulerState/48 (xTaskGetSchedulerState) @05f059a0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueuePeek/20 xQueueSemaphoreTake/19 xQueueReceive/18 xQueueGenericSend/15 Calls: xTaskGetCurrentTaskHandle/47 (xTaskGetCurrentTaskHandle) @05f05460 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueueTakeMutexRecursive/13 xQueueGiveMutexRecursive/12 Calls: pvPortMalloc/46 (pvPortMalloc) @05ef2000 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueueGenericCreate/6 Calls: vPortExitCritical/45 (vPortExitCritical) @05ef2d20 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vQueueWaitForMessageRestricted/41 uxQueueSpacesAvailable/24 uxQueueMessagesWaiting/23 xQueuePeek/20 xQueuePeek/20 xQueuePeek/20 xQueuePeek/20 xQueueSemaphoreTake/19 xQueueSemaphoreTake/19 xQueueSemaphoreTake/19 xQueueSemaphoreTake/19 xQueueSemaphoreTake/19 xQueueSemaphoreTake/19 prvIsQueueEmpty/34 xQueueReceive/18 xQueueReceive/18 xQueueReceive/18 xQueueReceive/18 prvUnlockQueue/33 prvUnlockQueue/33 prvIsQueueFull/36 xQueueGenericSend/15 xQueueGenericSend/15 xQueueGenericSend/15 xQueueGenericSend/15 xQueueGetMutexHolder/10 xQueueGenericReset/5 Calls: vListInitialise/44 (vListInitialise) @05ef2c40 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueueGenericReset/5 xQueueGenericReset/5 Calls: xTaskRemoveFromEventList/43 (xTaskRemoveFromEventList) @05ef2b60 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueueReceiveFromISR/21 xQueuePeek/20 xQueueSemaphoreTake/19 xQueueReceive/18 xQueueGiveFromISR/17 xQueueGenericSendFromISR/16 prvUnlockQueue/33 prvUnlockQueue/33 xQueueGenericSend/15 xQueueGenericReset/5 Calls: vPortEnterCritical/42 (vPortEnterCritical) @05ef2a80 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vQueueWaitForMessageRestricted/41 uxQueueSpacesAvailable/24 uxQueueMessagesWaiting/23 xQueuePeek/20 xQueuePeek/20 xQueueSemaphoreTake/19 xQueueSemaphoreTake/19 xQueueSemaphoreTake/19 xQueueSemaphoreTake/19 prvIsQueueEmpty/34 xQueueReceive/18 xQueueReceive/18 prvUnlockQueue/33 prvUnlockQueue/33 prvIsQueueFull/36 xQueueGenericSend/15 xQueueGenericSend/15 xQueueGetMutexHolder/10 xQueueGenericReset/5 Calls: vQueueWaitForMessageRestricted/41 (vQueueWaitForMessageRestricted) @05ef2540 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: body optimize_size Called by: Calls: prvUnlockQueue/33 vTaskPlaceOnEventListRestricted/62 vPortExitCritical/45 vPortEnterCritical/42 vQueueUnregisterQueue/40 (vQueueUnregisterQueue) @05ef22a0 Type: function definition analyzed Visibility: externally_visible public References: xQueueRegistry/4 (read)xQueueRegistry/4 (write)xQueueRegistry/4 (write) Referring: Availability: available Function flags: body optimize_size Called by: vQueueDelete/26 Calls: vPortRaiseBASEPRI/1 pcQueueGetName/39 (pcQueueGetName) @05eece00 Type: function definition analyzed Visibility: externally_visible public References: xQueueRegistry/4 (read)xQueueRegistry/4 (read) Referring: Availability: available Function flags: body optimize_size Called by: Calls: vPortRaiseBASEPRI/1 vQueueAddToRegistry/38 (vQueueAddToRegistry) @05eec460 Type: function definition analyzed Visibility: externally_visible public References: xQueueRegistry/4 (read)xQueueRegistry/4 (addr)xQueueRegistry/4 (read)xQueueRegistry/4 (addr) Referring: Availability: available Function flags: body optimize_size Called by: Calls: vPortRaiseBASEPRI/1 xQueueIsQueueFullFromISR/37 (xQueueIsQueueFullFromISR) @05eecd20 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: body optimize_size Called by: Calls: vPortRaiseBASEPRI/1 prvIsQueueFull/36 (prvIsQueueFull) @05eec9a0 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: body local optimize_size Called by: xQueueGenericSend/15 Calls: vPortExitCritical/45 vPortEnterCritical/42 xQueueIsQueueEmptyFromISR/35 (xQueueIsQueueEmptyFromISR) @05eec700 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: body optimize_size Called by: Calls: vPortRaiseBASEPRI/1 prvIsQueueEmpty/34 (prvIsQueueEmpty) @05eec380 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: body local optimize_size Called by: xQueuePeek/20 xQueuePeek/20 xQueueSemaphoreTake/19 xQueueSemaphoreTake/19 xQueueReceive/18 xQueueReceive/18 Calls: vPortExitCritical/45 vPortEnterCritical/42 prvUnlockQueue/33 (prvUnlockQueue) @05eec0e0 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: body local optimize_size Called by: vQueueWaitForMessageRestricted/41 xQueuePeek/20 xQueuePeek/20 xQueuePeek/20 xQueueSemaphoreTake/19 xQueueSemaphoreTake/19 xQueueSemaphoreTake/19 xQueueReceive/18 xQueueReceive/18 xQueueReceive/18 xQueueGenericSend/15 xQueueGenericSend/15 xQueueGenericSend/15 Calls: vPortExitCritical/45 vTaskMissedYield/56 xTaskRemoveFromEventList/43 vPortEnterCritical/42 vPortExitCritical/45 vTaskMissedYield/56 xTaskRemoveFromEventList/43 vPortEnterCritical/42 prvCopyDataFromQueue/32 (prvCopyDataFromQueue) @05ee38c0 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: body local optimize_size Called by: xQueuePeekFromISR/22 xQueueReceiveFromISR/21 xQueuePeek/20 xQueueReceive/18 Calls: memcpy/55 prvCopyDataToQueue/31 (prvCopyDataToQueue) @05ee3380 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: body local optimize_size Called by: xQueueGenericSendFromISR/16 xQueueGenericSend/15 Calls: memcpy/55 memcpy/55 xTaskPriorityDisinherit/54 prvGetDisinheritPriorityAfterTimeout/30 (prvGetDisinheritPriorityAfterTimeout) @05ee3e00 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: body local optimize_size Called by: xQueueSemaphoreTake/19 Calls: ucQueueGetQueueType/29 (ucQueueGetQueueType) @05ee3a80 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: body optimize_size Called by: Calls: vQueueSetQueueNumber/28 (vQueueSetQueueNumber) @05ee37e0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: body optimize_size Called by: Calls: uxQueueGetQueueNumber/27 (uxQueueGetQueueNumber) @05ee3540 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: body optimize_size Called by: Calls: vQueueDelete/26 (vQueueDelete) @05ee32a0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: body optimize_size Called by: Calls: vPortFree/61 vQueueUnregisterQueue/40 vPortRaiseBASEPRI/1 uxQueueMessagesWaitingFromISR/25 (uxQueueMessagesWaitingFromISR) @05edad20 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: body optimize_size Called by: Calls: vPortRaiseBASEPRI/1 uxQueueSpacesAvailable/24 (uxQueueSpacesAvailable) @05eda0e0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: body optimize_size Called by: Calls: vPortExitCritical/45 vPortEnterCritical/42 vPortRaiseBASEPRI/1 uxQueueMessagesWaiting/23 (uxQueueMessagesWaiting) @05edac40 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: body optimize_size Called by: Calls: vPortExitCritical/45 vPortEnterCritical/42 vPortRaiseBASEPRI/1 xQueuePeekFromISR/22 (xQueuePeekFromISR) @05eda8c0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: body optimize_size Called by: Calls: vPortSetBASEPRI/3 prvCopyDataFromQueue/32 ulPortRaiseBASEPRI/2 vPortValidateInterruptPriority/57 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 xQueueReceiveFromISR/21 (xQueueReceiveFromISR) @05eda460 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: body optimize_size Called by: Calls: vPortSetBASEPRI/3 vPortRaiseBASEPRI/1 xTaskRemoveFromEventList/43 prvCopyDataFromQueue/32 ulPortRaiseBASEPRI/2 vPortValidateInterruptPriority/57 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 xQueuePeek/20 (xQueuePeek) @05eda000 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: body optimize_size Called by: Calls: prvIsQueueEmpty/34 xTaskResumeAll/53 prvUnlockQueue/33 xTaskResumeAll/53 prvUnlockQueue/33 xTaskResumeAll/53 prvUnlockQueue/33 vTaskPlaceOnEventList/52 prvIsQueueEmpty/34 xTaskCheckForTimeOut/51 vPortExitCritical/45 vPortEnterCritical/42 vTaskSuspendAll/50 vPortExitCritical/45 vTaskInternalSetTimeOutState/49 vPortExitCritical/45 vPortExitCritical/45 xTaskRemoveFromEventList/43 prvCopyDataFromQueue/32 vPortEnterCritical/42 vPortRaiseBASEPRI/1 xTaskGetSchedulerState/48 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 xQueueSemaphoreTake/19 (xQueueSemaphoreTake) @05ec8c40 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: body optimize_size Called by: xQueueTakeMutexRecursive/13 Calls: vPortExitCritical/45 vTaskPriorityDisinheritAfterTimeout/60 prvGetDisinheritPriorityAfterTimeout/30 vPortEnterCritical/42 prvIsQueueEmpty/34 xTaskResumeAll/53 prvUnlockQueue/33 xTaskResumeAll/53 prvUnlockQueue/33 xTaskResumeAll/53 prvUnlockQueue/33 vTaskPlaceOnEventList/52 vPortExitCritical/45 xTaskPriorityInherit/59 vPortEnterCritical/42 prvIsQueueEmpty/34 xTaskCheckForTimeOut/51 vPortExitCritical/45 vPortEnterCritical/42 vTaskSuspendAll/50 vPortExitCritical/45 vTaskInternalSetTimeOutState/49 vPortExitCritical/45 vPortRaiseBASEPRI/1 vPortExitCritical/45 xTaskRemoveFromEventList/43 pvTaskIncrementMutexHeldCount/58 vPortEnterCritical/42 vPortRaiseBASEPRI/1 xTaskGetSchedulerState/48 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 xQueueReceive/18 (xQueueReceive) @05ec8540 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: body optimize_size Called by: Calls: prvIsQueueEmpty/34 xTaskResumeAll/53 prvUnlockQueue/33 xTaskResumeAll/53 prvUnlockQueue/33 xTaskResumeAll/53 prvUnlockQueue/33 vTaskPlaceOnEventList/52 prvIsQueueEmpty/34 xTaskCheckForTimeOut/51 vPortExitCritical/45 vPortEnterCritical/42 vTaskSuspendAll/50 vPortExitCritical/45 vTaskInternalSetTimeOutState/49 vPortExitCritical/45 vPortExitCritical/45 xTaskRemoveFromEventList/43 prvCopyDataFromQueue/32 vPortEnterCritical/42 vPortRaiseBASEPRI/1 xTaskGetSchedulerState/48 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 xQueueGiveFromISR/17 (xQueueGiveFromISR) @05e68d20 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: body optimize_size Called by: Calls: vPortSetBASEPRI/3 vPortRaiseBASEPRI/1 xTaskRemoveFromEventList/43 ulPortRaiseBASEPRI/2 vPortValidateInterruptPriority/57 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 xQueueGenericSendFromISR/16 (xQueueGenericSendFromISR) @05e68c40 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: body optimize_size Called by: Calls: vPortSetBASEPRI/3 vPortRaiseBASEPRI/1 xTaskRemoveFromEventList/43 prvCopyDataToQueue/31 ulPortRaiseBASEPRI/2 vPortValidateInterruptPriority/57 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 xQueueGenericSend/15 (xQueueGenericSend) @05e687e0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: body optimize_size Called by: xQueueGiveMutexRecursive/12 prvInitialiseMutex/8 Calls: xTaskResumeAll/53 prvUnlockQueue/33 xTaskResumeAll/53 prvUnlockQueue/33 xTaskResumeAll/53 prvUnlockQueue/33 vTaskPlaceOnEventList/52 prvIsQueueFull/36 xTaskCheckForTimeOut/51 vPortExitCritical/45 vPortEnterCritical/42 vTaskSuspendAll/50 vPortExitCritical/45 vTaskInternalSetTimeOutState/49 vPortExitCritical/45 vPortExitCritical/45 xTaskRemoveFromEventList/43 prvCopyDataToQueue/31 vPortEnterCritical/42 vPortRaiseBASEPRI/1 xTaskGetSchedulerState/48 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 xQueueCreateCountingSemaphore/14 (xQueueCreateCountingSemaphore) @05e680e0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: body optimize_size Called by: Calls: vPortRaiseBASEPRI/1 xQueueGenericCreate/6 xQueueTakeMutexRecursive/13 (xQueueTakeMutexRecursive) @05e609a0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: body optimize_size Called by: Calls: xQueueSemaphoreTake/19 xTaskGetCurrentTaskHandle/47 vPortRaiseBASEPRI/1 xQueueGiveMutexRecursive/12 (xQueueGiveMutexRecursive) @05e600e0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: body optimize_size Called by: Calls: xQueueGenericSend/15 xTaskGetCurrentTaskHandle/47 vPortRaiseBASEPRI/1 xQueueGetMutexHolderFromISR/11 (xQueueGetMutexHolderFromISR) @05e60c40 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: body optimize_size Called by: Calls: vPortRaiseBASEPRI/1 xQueueGetMutexHolder/10 (xQueueGetMutexHolder) @05e608c0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: body optimize_size Called by: Calls: vPortExitCritical/45 vPortEnterCritical/42 vPortRaiseBASEPRI/1 xQueueCreateMutex/9 (xQueueCreateMutex) @05e60540 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: body optimize_size Called by: Calls: prvInitialiseMutex/8 xQueueGenericCreate/6 prvInitialiseMutex/8 (prvInitialiseMutex) @05e602a0 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: body local optimize_size Called by: xQueueCreateMutex/9 Calls: xQueueGenericSend/15 prvInitialiseNewQueue/7 (prvInitialiseNewQueue) @05e60000 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: body local optimize_size Called by: xQueueGenericCreate/6 Calls: xQueueGenericReset/5 xQueueGenericCreate/6 (xQueueGenericCreate) @05e767e0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: body optimize_size Called by: xQueueCreateCountingSemaphore/14 xQueueCreateMutex/9 Calls: vPortRaiseBASEPRI/1 prvInitialiseNewQueue/7 pvPortMalloc/46 xQueueGenericReset/5 (xQueueGenericReset) @05e76c40 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: body optimize_size Called by: prvInitialiseNewQueue/7 Calls: vPortRaiseBASEPRI/1 vPortExitCritical/45 vListInitialise/44 vListInitialise/44 xTaskRemoveFromEventList/43 vPortEnterCritical/42 vPortRaiseBASEPRI/1 xQueueRegistry/4 (xQueueRegistry) @05e71630 Type: variable definition analyzed Visibility: externally_visible public References: Referring: vQueueAddToRegistry/38 (read)vQueueAddToRegistry/38 (addr)vQueueAddToRegistry/38 (read)vQueueAddToRegistry/38 (addr)pcQueueGetName/39 (read)pcQueueGetName/39 (read)vQueueUnregisterQueue/40 (read)vQueueUnregisterQueue/40 (write)vQueueUnregisterQueue/40 (write) Availability: available Varpool flags: vPortSetBASEPRI/3 (vPortSetBASEPRI) @05df8b60 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: body local optimize_size Called by: xQueuePeekFromISR/22 xQueueReceiveFromISR/21 xQueueGiveFromISR/17 xQueueGenericSendFromISR/16 Calls: ulPortRaiseBASEPRI/2 (ulPortRaiseBASEPRI) @05df88c0 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: body local optimize_size Called by: xQueuePeekFromISR/22 xQueueReceiveFromISR/21 xQueueGiveFromISR/17 xQueueGenericSendFromISR/16 Calls: vPortRaiseBASEPRI/1 (vPortRaiseBASEPRI) @05df8540 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: body local optimize_size Called by: vQueueUnregisterQueue/40 pcQueueGetName/39 vQueueAddToRegistry/38 xQueueIsQueueFullFromISR/37 xQueueIsQueueEmptyFromISR/35 vQueueDelete/26 uxQueueMessagesWaitingFromISR/25 uxQueueSpacesAvailable/24 uxQueueMessagesWaiting/23 xQueuePeekFromISR/22 xQueuePeekFromISR/22 xQueuePeekFromISR/22 xQueueReceiveFromISR/21 xQueueReceiveFromISR/21 xQueueReceiveFromISR/21 xQueuePeek/20 xQueuePeek/20 xQueuePeek/20 xQueueSemaphoreTake/19 xQueueSemaphoreTake/19 xQueueSemaphoreTake/19 xQueueSemaphoreTake/19 xQueueReceive/18 xQueueReceive/18 xQueueReceive/18 xQueueGiveFromISR/17 xQueueGiveFromISR/17 xQueueGiveFromISR/17 xQueueGiveFromISR/17 xQueueGenericSendFromISR/16 xQueueGenericSendFromISR/16 xQueueGenericSendFromISR/16 xQueueGenericSendFromISR/16 xQueueGenericSend/15 xQueueGenericSend/15 xQueueGenericSend/15 xQueueGenericSend/15 xQueueCreateCountingSemaphore/14 xQueueTakeMutexRecursive/13 xQueueGiveMutexRecursive/12 xQueueGetMutexHolderFromISR/11 xQueueGetMutexHolder/10 xQueueGenericCreate/6 xQueueGenericReset/5 xQueueGenericReset/5 Calls: vQueueWaitForMessageRestricted (struct QueueDefinition * xQueue, TickType_t xTicksToWait, const BaseType_t xWaitIndefinitely) { struct Queue_t * const pxQueue; : # DEBUG BEGIN_STMT pxQueue = xQueue; # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _1 = pxQueue->cRxLock; if (_1 == -1) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT pxQueue->cRxLock = 0; : # DEBUG BEGIN_STMT _2 = pxQueue->cTxLock; if (_2 == -1) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT pxQueue->cTxLock = 0; : # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT _3 = pxQueue->uxMessagesWaiting; if (_3 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _4 = &pxQueue->xTasksWaitingToReceive; vTaskPlaceOnEventListRestricted (_4, xTicksToWait, xWaitIndefinitely); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT prvUnlockQueue (pxQueue); return; } vQueueUnregisterQueue (struct QueueDefinition * xQueue) { UBaseType_t ux; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xQueue == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT ux = 0; goto ; [INV] : # DEBUG BEGIN_STMT _1 = xQueueRegistry[ux].xHandle; if (xQueue == _1) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT xQueueRegistry[ux].pcQueueName = 0B; # DEBUG BEGIN_STMT xQueueRegistry[ux].xHandle = 0B; # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT ux = ux + 1; : # DEBUG BEGIN_STMT if (ux <= 1) goto ; [INV] else goto ; [INV] : return; } pcQueueGetName (struct QueueDefinition * xQueue) { const char * pcReturn; UBaseType_t ux; const char * D.7259; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pcReturn = 0B; # DEBUG BEGIN_STMT if (xQueue == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT ux = 0; goto ; [INV] : # DEBUG BEGIN_STMT _1 = xQueueRegistry[ux].xHandle; if (xQueue == _1) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT pcReturn = xQueueRegistry[ux].pcQueueName; # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT ux = ux + 1; : # DEBUG BEGIN_STMT if (ux <= 1) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT D.7259 = pcReturn; return D.7259; } vQueueAddToRegistry (struct QueueDefinition * xQueue, const char * pcQueueName) { struct QueueRegistryItem_t * pxEntryToWrite; UBaseType_t ux; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xQueue == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxEntryToWrite = 0B; # DEBUG BEGIN_STMT if (pcQueueName != 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT ux = 0; goto ; [INV] : # DEBUG BEGIN_STMT _1 = xQueueRegistry[ux].xHandle; if (xQueue == _1) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT pxEntryToWrite = &xQueueRegistry[ux]; # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT if (pxEntryToWrite == 0B) goto ; [INV] else goto ; [INV] : _2 = xQueueRegistry[ux].pcQueueName; if (_2 == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT pxEntryToWrite = &xQueueRegistry[ux]; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT ux = ux + 1; : # DEBUG BEGIN_STMT if (ux <= 1) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT if (pxEntryToWrite != 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT pxEntryToWrite->pcQueueName = pcQueueName; # DEBUG BEGIN_STMT pxEntryToWrite->xHandle = xQueue; : # DEBUG BEGIN_STMT return; } xQueueIsQueueFullFromISR (struct QueueDefinition * const xQueue) { struct Queue_t * const pxQueue; BaseType_t xReturn; BaseType_t D.7240; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxQueue = xQueue; # DEBUG BEGIN_STMT if (pxQueue == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = pxQueue->uxMessagesWaiting; _2 = pxQueue->uxLength; if (_1 == _2) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT xReturn = 1; goto ; [INV] : # DEBUG BEGIN_STMT xReturn = 0; : # DEBUG BEGIN_STMT D.7240 = xReturn; return D.7240; } prvIsQueueFull (const struct Queue_t * pxQueue) { BaseType_t xReturn; BaseType_t D.6927; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _1 = pxQueue->uxMessagesWaiting; _2 = pxQueue->uxLength; if (_1 == _2) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT xReturn = 1; goto ; [INV] : # DEBUG BEGIN_STMT xReturn = 0; : # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT D.6927 = xReturn; return D.6927; } xQueueIsQueueEmptyFromISR (struct QueueDefinition * const xQueue) { struct Queue_t * const pxQueue; BaseType_t xReturn; BaseType_t D.7233; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxQueue = xQueue; # DEBUG BEGIN_STMT if (pxQueue == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = pxQueue->uxMessagesWaiting; if (_1 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT xReturn = 1; goto ; [INV] : # DEBUG BEGIN_STMT xReturn = 0; : # DEBUG BEGIN_STMT D.7233 = xReturn; return D.7233; } prvIsQueueEmpty (const struct Queue_t * pxQueue) { BaseType_t xReturn; BaseType_t D.7060; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _1 = pxQueue->uxMessagesWaiting; if (_1 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT xReturn = 1; goto ; [INV] : # DEBUG BEGIN_STMT xReturn = 0; : # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT D.7060 = xReturn; return D.7060; } prvUnlockQueue (struct Queue_t * const pxQueue) { int8_t cRxLock; int8_t cTxLock; : # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT cTxLock = pxQueue->cTxLock; # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT _1 = pxQueue->xTasksWaitingToReceive.uxNumberOfItems; if (_1 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _2 = &pxQueue->xTasksWaitingToReceive; _3 = xTaskRemoveFromEventList (_2); if (_3 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vTaskMissedYield (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT cTxLock.6_4 = (unsigned char) cTxLock; _5 = cTxLock.6_4 + 255; cTxLock = (int8_t) _5; : # DEBUG BEGIN_STMT if (cTxLock > 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT pxQueue->cTxLock = -1; # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT cRxLock = pxQueue->cRxLock; # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT _6 = pxQueue->xTasksWaitingToSend.uxNumberOfItems; if (_6 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _7 = &pxQueue->xTasksWaitingToSend; _8 = xTaskRemoveFromEventList (_7); if (_8 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vTaskMissedYield (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT cRxLock.7_9 = (unsigned char) cRxLock; _10 = cRxLock.7_9 + 255; cRxLock = (int8_t) _10; : # DEBUG BEGIN_STMT if (cRxLock > 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT pxQueue->cRxLock = -1; # DEBUG BEGIN_STMT vPortExitCritical (); return; } prvCopyDataFromQueue (struct Queue_t * const pxQueue, void * const pvBuffer) { : # DEBUG BEGIN_STMT _1 = pxQueue->uxItemSize; if (_1 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _2 = pxQueue->u.xQueue.pcReadFrom; _3 = pxQueue->uxItemSize; _4 = _2 + _3; pxQueue->u.xQueue.pcReadFrom = _4; # DEBUG BEGIN_STMT _5 = pxQueue->u.xQueue.pcReadFrom; _6 = pxQueue->u.xQueue.pcTail; if (_5 >= _6) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _7 = pxQueue->pcHead; pxQueue->u.xQueue.pcReadFrom = _7; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _8 = pxQueue->u.xQueue.pcReadFrom; _9 = pxQueue->uxItemSize; memcpy (pvBuffer, _8, _9); : return; } prvCopyDataToQueue (struct Queue_t * const pxQueue, const void * pvItemToQueue, const BaseType_t xPosition) { UBaseType_t uxMessagesWaiting; BaseType_t xReturn; BaseType_t D.6922; : # DEBUG BEGIN_STMT xReturn = 0; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxMessagesWaiting = pxQueue->uxMessagesWaiting; # DEBUG BEGIN_STMT _1 = pxQueue->uxItemSize; if (_1 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _2 = pxQueue->pcHead; if (_2 == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _3 = pxQueue->u.xSemaphore.xMutexHolder; xReturn = xTaskPriorityDisinherit (_3); # DEBUG BEGIN_STMT pxQueue->u.xSemaphore.xMutexHolder = 0B; goto ; [INV] : # DEBUG BEGIN_STMT if (xPosition == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _4 = pxQueue->pcWriteTo; _5 = pxQueue->uxItemSize; memcpy (_4, pvItemToQueue, _5); # DEBUG BEGIN_STMT _6 = pxQueue->pcWriteTo; _7 = pxQueue->uxItemSize; _8 = _6 + _7; pxQueue->pcWriteTo = _8; # DEBUG BEGIN_STMT _9 = pxQueue->pcWriteTo; _10 = pxQueue->u.xQueue.pcTail; if (_9 >= _10) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _11 = pxQueue->pcHead; pxQueue->pcWriteTo = _11; goto ; [INV] : # DEBUG BEGIN_STMT _12 = pxQueue->u.xQueue.pcReadFrom; _13 = pxQueue->uxItemSize; memcpy (_12, pvItemToQueue, _13); # DEBUG BEGIN_STMT _14 = pxQueue->u.xQueue.pcReadFrom; _15 = pxQueue->uxItemSize; _16 = -_15; _17 = _14 + _16; pxQueue->u.xQueue.pcReadFrom = _17; # DEBUG BEGIN_STMT _18 = pxQueue->u.xQueue.pcReadFrom; _19 = pxQueue->pcHead; if (_18 < _19) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _20 = pxQueue->u.xQueue.pcTail; _21 = pxQueue->uxItemSize; _22 = -_21; _23 = _20 + _22; pxQueue->u.xQueue.pcReadFrom = _23; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xPosition == 2) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT if (uxMessagesWaiting != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT uxMessagesWaiting = uxMessagesWaiting + 4294967295; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _24 = uxMessagesWaiting + 1; pxQueue->uxMessagesWaiting = _24; # DEBUG BEGIN_STMT D.6922 = xReturn; return D.6922; } prvGetDisinheritPriorityAfterTimeout (const struct Queue_t * const pxQueue) { UBaseType_t uxHighestPriorityOfWaitingTasks; UBaseType_t D.7117; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = pxQueue->xTasksWaitingToReceive.uxNumberOfItems; if (_1 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _2 = pxQueue->xTasksWaitingToReceive.xListEnd.pxNext; _3 = _2->xItemValue; uxHighestPriorityOfWaitingTasks = 5 - _3; goto ; [INV] : # DEBUG BEGIN_STMT uxHighestPriorityOfWaitingTasks = 0; : # DEBUG BEGIN_STMT D.7117 = uxHighestPriorityOfWaitingTasks; return D.7117; } ucQueueGetQueueType (struct QueueDefinition * xQueue) { uint8_t D.7226; : # DEBUG BEGIN_STMT D.7226 = MEM[(struct Queue_t *)xQueue].ucQueueType; return D.7226; } vQueueSetQueueNumber (struct QueueDefinition * xQueue, UBaseType_t uxQueueNumber) { : # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue].uxQueueNumber = uxQueueNumber; return; } uxQueueGetQueueNumber (struct QueueDefinition * xQueue) { UBaseType_t D.7224; : # DEBUG BEGIN_STMT D.7224 = MEM[(struct Queue_t *)xQueue].uxQueueNumber; return D.7224; } vQueueDelete (struct QueueDefinition * xQueue) { struct Queue_t * const pxQueue; : # DEBUG BEGIN_STMT pxQueue = xQueue; # DEBUG BEGIN_STMT if (pxQueue == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vQueueUnregisterQueue (pxQueue); # DEBUG BEGIN_STMT vPortFree (pxQueue); return; } uxQueueMessagesWaitingFromISR (struct QueueDefinition * const xQueue) { struct Queue_t * const pxQueue; UBaseType_t uxReturn; UBaseType_t D.7220; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxQueue = xQueue; # DEBUG BEGIN_STMT if (pxQueue == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxReturn = pxQueue->uxMessagesWaiting; # DEBUG BEGIN_STMT D.7220 = uxReturn; return D.7220; } uxQueueSpacesAvailable (struct QueueDefinition * const xQueue) { struct Queue_t * const pxQueue; UBaseType_t uxReturn; UBaseType_t D.7216; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxQueue = xQueue; # DEBUG BEGIN_STMT if (pxQueue == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _1 = pxQueue->uxLength; _2 = pxQueue->uxMessagesWaiting; uxReturn = _1 - _2; # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT D.7216 = uxReturn; return D.7216; } uxQueueMessagesWaiting (struct QueueDefinition * const xQueue) { UBaseType_t uxReturn; UBaseType_t D.7212; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xQueue == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT uxReturn = MEM[(struct Queue_t *)xQueue].uxMessagesWaiting; # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT D.7212 = uxReturn; return D.7212; } xQueuePeekFromISR (struct QueueDefinition * xQueue, void * const pvBuffer) { struct Queue_t * const pxQueue; int8_t * pcOriginalReadPosition; UBaseType_t uxSavedInterruptStatus; BaseType_t xReturn; BaseType_t D.7208; int iftmp.29; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxQueue = xQueue; # DEBUG BEGIN_STMT if (pxQueue == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (pvBuffer != 0B) goto ; [INV] else goto ; [INV] : _1 = pxQueue->uxItemSize; if (_1 == 0) goto ; [INV] else goto ; [INV] : iftmp.29 = 1; goto ; [INV] : iftmp.29 = 0; : if (iftmp.29 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = pxQueue->uxItemSize; if (_2 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortValidateInterruptPriority (); # DEBUG BEGIN_STMT uxSavedInterruptStatus = ulPortRaiseBASEPRI (); # DEBUG BEGIN_STMT _3 = pxQueue->uxMessagesWaiting; if (_3 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pcOriginalReadPosition = pxQueue->u.xQueue.pcReadFrom; # DEBUG BEGIN_STMT prvCopyDataFromQueue (pxQueue, pvBuffer); # DEBUG BEGIN_STMT pxQueue->u.xQueue.pcReadFrom = pcOriginalReadPosition; # DEBUG BEGIN_STMT xReturn = 1; goto ; [INV] : # DEBUG BEGIN_STMT xReturn = 0; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortSetBASEPRI (uxSavedInterruptStatus); # DEBUG BEGIN_STMT D.7208 = xReturn; return D.7208; } xQueueReceiveFromISR (struct QueueDefinition * xQueue, void * const pvBuffer, BaseType_t * const pxHigherPriorityTaskWoken) { const int8_t cRxLock; const UBaseType_t uxMessagesWaiting; struct Queue_t * const pxQueue; UBaseType_t uxSavedInterruptStatus; BaseType_t xReturn; BaseType_t D.7192; int iftmp.27; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxQueue = xQueue; # DEBUG BEGIN_STMT if (pxQueue == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (pvBuffer != 0B) goto ; [INV] else goto ; [INV] : _1 = pxQueue->uxItemSize; if (_1 == 0) goto ; [INV] else goto ; [INV] : iftmp.27 = 1; goto ; [INV] : iftmp.27 = 0; : if (iftmp.27 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortValidateInterruptPriority (); # DEBUG BEGIN_STMT uxSavedInterruptStatus = ulPortRaiseBASEPRI (); # DEBUG BEGIN_STMT uxMessagesWaiting = pxQueue->uxMessagesWaiting; # DEBUG BEGIN_STMT if (uxMessagesWaiting != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT cRxLock = pxQueue->cRxLock; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT prvCopyDataFromQueue (pxQueue, pvBuffer); # DEBUG BEGIN_STMT _2 = uxMessagesWaiting + 4294967295; pxQueue->uxMessagesWaiting = _2; # DEBUG BEGIN_STMT if (cRxLock == -1) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _3 = pxQueue->xTasksWaitingToSend.uxNumberOfItems; if (_3 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _4 = &pxQueue->xTasksWaitingToSend; _5 = xTaskRemoveFromEventList (_4); if (_5 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT if (pxHigherPriorityTaskWoken != 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT *pxHigherPriorityTaskWoken = 1; goto ; [INV] : # DEBUG BEGIN_STMT if (cRxLock == 127) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT cRxLock.28_6 = (unsigned char) cRxLock; _7 = cRxLock.28_6 + 1; _8 = (signed char) _7; pxQueue->cRxLock = _8; : # DEBUG BEGIN_STMT xReturn = 1; goto ; [INV] : # DEBUG BEGIN_STMT xReturn = 0; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortSetBASEPRI (uxSavedInterruptStatus); # DEBUG BEGIN_STMT D.7192 = xReturn; return D.7192; } xQueuePeek (struct QueueDefinition * xQueue, void * const pvBuffer, TickType_t xTicksToWait) { const UBaseType_t uxMessagesWaiting; struct Queue_t * const pxQueue; int8_t * pcOriginalReadPosition; struct TimeOut_t xTimeOut; BaseType_t xEntryTimeSet; BaseType_t D.7143; int iftmp.23; int iftmp.22; : # DEBUG BEGIN_STMT xEntryTimeSet = 0; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxQueue = xQueue; # DEBUG BEGIN_STMT if (pxQueue == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (pvBuffer != 0B) goto ; [INV] else goto ; [INV] : _1 = pxQueue->uxItemSize; if (_1 == 0) goto ; [INV] else goto ; [INV] : iftmp.22 = 1; goto ; [INV] : iftmp.22 = 0; : if (iftmp.22 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = xTaskGetSchedulerState (); if (_2 != 0) goto ; [INV] else goto ; [INV] : xTicksToWait.24_3 = xTicksToWait; if (xTicksToWait.24_3 == 0) goto ; [INV] else goto ; [INV] : iftmp.23 = 1; goto ; [INV] : iftmp.23 = 0; : if (iftmp.23 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT uxMessagesWaiting = pxQueue->uxMessagesWaiting; # DEBUG BEGIN_STMT if (uxMessagesWaiting != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT pcOriginalReadPosition = pxQueue->u.xQueue.pcReadFrom; # DEBUG BEGIN_STMT prvCopyDataFromQueue (pxQueue, pvBuffer); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxQueue->u.xQueue.pcReadFrom = pcOriginalReadPosition; # DEBUG BEGIN_STMT _4 = pxQueue->xTasksWaitingToReceive.uxNumberOfItems; if (_4 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _5 = &pxQueue->xTasksWaitingToReceive; _6 = xTaskRemoveFromEventList (_5); if (_6 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _7 = 3758157060B; *_7 = 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT D.7143 = 1; // predicted unlikely by early return (on trees) predictor. goto ; [INV] : # DEBUG BEGIN_STMT xTicksToWait.25_8 = xTicksToWait; if (xTicksToWait.25_8 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT D.7143 = 0; // predicted unlikely by early return (on trees) predictor. goto ; [INV] : # DEBUG BEGIN_STMT if (xEntryTimeSet == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vTaskInternalSetTimeOutState (&xTimeOut); # DEBUG BEGIN_STMT xEntryTimeSet = 1; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _9 = pxQueue->cRxLock; if (_9 == -1) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT pxQueue->cRxLock = 0; : # DEBUG BEGIN_STMT _10 = pxQueue->cTxLock; if (_10 == -1) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT pxQueue->cTxLock = 0; : # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT _11 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); if (_11 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _12 = prvIsQueueEmpty (pxQueue); if (_12 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _13 = &pxQueue->xTasksWaitingToReceive; xTicksToWait.26_14 = xTicksToWait; vTaskPlaceOnEventList (_13, xTicksToWait.26_14); # DEBUG BEGIN_STMT prvUnlockQueue (pxQueue); # DEBUG BEGIN_STMT _15 = xTaskResumeAll (); if (_15 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _16 = 3758157060B; *_16 = 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT prvUnlockQueue (pxQueue); # DEBUG BEGIN_STMT xTaskResumeAll (); goto ; [INV] : # DEBUG BEGIN_STMT prvUnlockQueue (pxQueue); # DEBUG BEGIN_STMT xTaskResumeAll (); # DEBUG BEGIN_STMT _17 = prvIsQueueEmpty (pxQueue); if (_17 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT D.7143 = 0; // predicted unlikely by early return (on trees) predictor. : xTimeOut = {CLOBBER}; return D.7143; } xQueueSemaphoreTake (struct QueueDefinition * xQueue, TickType_t xTicksToWait) { UBaseType_t uxHighestWaitingPriority; const UBaseType_t uxSemaphoreCount; BaseType_t xInheritanceOccurred; struct Queue_t * const pxQueue; struct TimeOut_t xTimeOut; BaseType_t xEntryTimeSet; BaseType_t D.7084; int iftmp.18; : # DEBUG BEGIN_STMT xEntryTimeSet = 0; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxQueue = xQueue; # DEBUG BEGIN_STMT xInheritanceOccurred = 0; # DEBUG BEGIN_STMT if (pxQueue == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = pxQueue->uxItemSize; if (_1 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = xTaskGetSchedulerState (); if (_2 != 0) goto ; [INV] else goto ; [INV] : xTicksToWait.19_3 = xTicksToWait; if (xTicksToWait.19_3 == 0) goto ; [INV] else goto ; [INV] : iftmp.18 = 1; goto ; [INV] : iftmp.18 = 0; : if (iftmp.18 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT uxSemaphoreCount = pxQueue->uxMessagesWaiting; # DEBUG BEGIN_STMT if (uxSemaphoreCount != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _4 = uxSemaphoreCount + 4294967295; pxQueue->uxMessagesWaiting = _4; # DEBUG BEGIN_STMT _5 = pxQueue->pcHead; if (_5 == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _6 = pvTaskIncrementMutexHeldCount (); pxQueue->u.xSemaphore.xMutexHolder = _6; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _7 = pxQueue->xTasksWaitingToSend.uxNumberOfItems; if (_7 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _8 = &pxQueue->xTasksWaitingToSend; _9 = xTaskRemoveFromEventList (_8); if (_9 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _10 = 3758157060B; *_10 = 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT D.7084 = 1; // predicted unlikely by early return (on trees) predictor. goto ; [INV] : # DEBUG BEGIN_STMT xTicksToWait.20_11 = xTicksToWait; if (xTicksToWait.20_11 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT if (xInheritanceOccurred != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT D.7084 = 0; // predicted unlikely by early return (on trees) predictor. goto ; [INV] : # DEBUG BEGIN_STMT if (xEntryTimeSet == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vTaskInternalSetTimeOutState (&xTimeOut); # DEBUG BEGIN_STMT xEntryTimeSet = 1; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _12 = pxQueue->cRxLock; if (_12 == -1) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT pxQueue->cRxLock = 0; : # DEBUG BEGIN_STMT _13 = pxQueue->cTxLock; if (_13 == -1) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT pxQueue->cTxLock = 0; : # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT _14 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); if (_14 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _15 = prvIsQueueEmpty (pxQueue); if (_15 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _16 = pxQueue->pcHead; if (_16 == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _17 = pxQueue->u.xSemaphore.xMutexHolder; xInheritanceOccurred = xTaskPriorityInherit (_17); # DEBUG BEGIN_STMT vPortExitCritical (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _18 = &pxQueue->xTasksWaitingToReceive; xTicksToWait.21_19 = xTicksToWait; vTaskPlaceOnEventList (_18, xTicksToWait.21_19); # DEBUG BEGIN_STMT prvUnlockQueue (pxQueue); # DEBUG BEGIN_STMT _20 = xTaskResumeAll (); if (_20 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _21 = 3758157060B; *_21 = 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT prvUnlockQueue (pxQueue); # DEBUG BEGIN_STMT xTaskResumeAll (); goto ; [INV] : # DEBUG BEGIN_STMT prvUnlockQueue (pxQueue); # DEBUG BEGIN_STMT xTaskResumeAll (); # DEBUG BEGIN_STMT _22 = prvIsQueueEmpty (pxQueue); if (_22 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT if (xInheritanceOccurred != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxHighestWaitingPriority = prvGetDisinheritPriorityAfterTimeout (pxQueue); # DEBUG BEGIN_STMT _23 = pxQueue->u.xSemaphore.xMutexHolder; vTaskPriorityDisinheritAfterTimeout (_23, uxHighestWaitingPriority); # DEBUG BEGIN_STMT vPortExitCritical (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT D.7084 = 0; // predicted unlikely by early return (on trees) predictor. : xTimeOut = {CLOBBER}; return D.7084; } xQueueReceive (struct QueueDefinition * xQueue, void * const pvBuffer, TickType_t xTicksToWait) { const UBaseType_t uxMessagesWaiting; struct Queue_t * const pxQueue; struct TimeOut_t xTimeOut; BaseType_t xEntryTimeSet; BaseType_t D.7029; int iftmp.14; int iftmp.13; : # DEBUG BEGIN_STMT xEntryTimeSet = 0; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxQueue = xQueue; # DEBUG BEGIN_STMT if (pxQueue == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (pvBuffer != 0B) goto ; [INV] else goto ; [INV] : _1 = pxQueue->uxItemSize; if (_1 == 0) goto ; [INV] else goto ; [INV] : iftmp.13 = 1; goto ; [INV] : iftmp.13 = 0; : if (iftmp.13 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = xTaskGetSchedulerState (); if (_2 != 0) goto ; [INV] else goto ; [INV] : xTicksToWait.15_3 = xTicksToWait; if (xTicksToWait.15_3 == 0) goto ; [INV] else goto ; [INV] : iftmp.14 = 1; goto ; [INV] : iftmp.14 = 0; : if (iftmp.14 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT uxMessagesWaiting = pxQueue->uxMessagesWaiting; # DEBUG BEGIN_STMT if (uxMessagesWaiting != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT prvCopyDataFromQueue (pxQueue, pvBuffer); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _4 = uxMessagesWaiting + 4294967295; pxQueue->uxMessagesWaiting = _4; # DEBUG BEGIN_STMT _5 = pxQueue->xTasksWaitingToSend.uxNumberOfItems; if (_5 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _6 = &pxQueue->xTasksWaitingToSend; _7 = xTaskRemoveFromEventList (_6); if (_7 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _8 = 3758157060B; *_8 = 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT D.7029 = 1; // predicted unlikely by early return (on trees) predictor. goto ; [INV] : # DEBUG BEGIN_STMT xTicksToWait.16_9 = xTicksToWait; if (xTicksToWait.16_9 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT D.7029 = 0; // predicted unlikely by early return (on trees) predictor. goto ; [INV] : # DEBUG BEGIN_STMT if (xEntryTimeSet == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vTaskInternalSetTimeOutState (&xTimeOut); # DEBUG BEGIN_STMT xEntryTimeSet = 1; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _10 = pxQueue->cRxLock; if (_10 == -1) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT pxQueue->cRxLock = 0; : # DEBUG BEGIN_STMT _11 = pxQueue->cTxLock; if (_11 == -1) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT pxQueue->cTxLock = 0; : # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT _12 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); if (_12 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _13 = prvIsQueueEmpty (pxQueue); if (_13 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _14 = &pxQueue->xTasksWaitingToReceive; xTicksToWait.17_15 = xTicksToWait; vTaskPlaceOnEventList (_14, xTicksToWait.17_15); # DEBUG BEGIN_STMT prvUnlockQueue (pxQueue); # DEBUG BEGIN_STMT _16 = xTaskResumeAll (); if (_16 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _17 = 3758157060B; *_17 = 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT prvUnlockQueue (pxQueue); # DEBUG BEGIN_STMT xTaskResumeAll (); goto ; [INV] : # DEBUG BEGIN_STMT prvUnlockQueue (pxQueue); # DEBUG BEGIN_STMT xTaskResumeAll (); # DEBUG BEGIN_STMT _18 = prvIsQueueEmpty (pxQueue); if (_18 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT D.7029 = 0; // predicted unlikely by early return (on trees) predictor. : xTimeOut = {CLOBBER}; return D.7029; } xQueueGiveFromISR (struct QueueDefinition * xQueue, BaseType_t * const pxHigherPriorityTaskWoken) { const int8_t cTxLock; const UBaseType_t uxMessagesWaiting; struct Queue_t * const pxQueue; UBaseType_t uxSavedInterruptStatus; BaseType_t xReturn; BaseType_t D.7003; int iftmp.11; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxQueue = xQueue; # DEBUG BEGIN_STMT if (pxQueue == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = pxQueue->uxItemSize; if (_1 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = pxQueue->pcHead; if (_2 != 0B) goto ; [INV] else goto ; [INV] : _3 = pxQueue->u.xSemaphore.xMutexHolder; if (_3 == 0B) goto ; [INV] else goto ; [INV] : iftmp.11 = 1; goto ; [INV] : iftmp.11 = 0; : if (iftmp.11 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortValidateInterruptPriority (); # DEBUG BEGIN_STMT uxSavedInterruptStatus = ulPortRaiseBASEPRI (); # DEBUG BEGIN_STMT uxMessagesWaiting = pxQueue->uxMessagesWaiting; # DEBUG BEGIN_STMT _4 = pxQueue->uxLength; if (uxMessagesWaiting < _4) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT cTxLock = pxQueue->cTxLock; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _5 = uxMessagesWaiting + 1; pxQueue->uxMessagesWaiting = _5; # DEBUG BEGIN_STMT if (cTxLock == -1) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _6 = pxQueue->xTasksWaitingToReceive.uxNumberOfItems; if (_6 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _7 = &pxQueue->xTasksWaitingToReceive; _8 = xTaskRemoveFromEventList (_7); if (_8 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT if (pxHigherPriorityTaskWoken != 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT *pxHigherPriorityTaskWoken = 1; goto ; [INV] : # DEBUG BEGIN_STMT if (cTxLock == 127) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT cTxLock.12_9 = (unsigned char) cTxLock; _10 = cTxLock.12_9 + 1; _11 = (signed char) _10; pxQueue->cTxLock = _11; : # DEBUG BEGIN_STMT xReturn = 1; goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xReturn = 0; : # DEBUG BEGIN_STMT vPortSetBASEPRI (uxSavedInterruptStatus); # DEBUG BEGIN_STMT D.7003 = xReturn; return D.7003; } xQueueGenericSendFromISR (struct QueueDefinition * xQueue, const void * const pvItemToQueue, BaseType_t * const pxHigherPriorityTaskWoken, const BaseType_t xCopyPosition) { const UBaseType_t uxPreviousMessagesWaiting; const int8_t cTxLock; struct Queue_t * const pxQueue; UBaseType_t uxSavedInterruptStatus; BaseType_t xReturn; BaseType_t D.6971; int iftmp.9; int iftmp.8; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxQueue = xQueue; # DEBUG BEGIN_STMT if (pxQueue == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (pvItemToQueue != 0B) goto ; [INV] else goto ; [INV] : _1 = pxQueue->uxItemSize; if (_1 == 0) goto ; [INV] else goto ; [INV] : iftmp.8 = 1; goto ; [INV] : iftmp.8 = 0; : if (iftmp.8 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xCopyPosition != 2) goto ; [INV] else goto ; [INV] : _2 = pxQueue->uxLength; if (_2 == 1) goto ; [INV] else goto ; [INV] : iftmp.9 = 1; goto ; [INV] : iftmp.9 = 0; : if (iftmp.9 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortValidateInterruptPriority (); # DEBUG BEGIN_STMT uxSavedInterruptStatus = ulPortRaiseBASEPRI (); # DEBUG BEGIN_STMT _3 = pxQueue->uxMessagesWaiting; _4 = pxQueue->uxLength; if (_3 < _4) goto ; [INV] else goto ; [INV] : if (xCopyPosition == 2) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT cTxLock = pxQueue->cTxLock; # DEBUG BEGIN_STMT uxPreviousMessagesWaiting = pxQueue->uxMessagesWaiting; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT prvCopyDataToQueue (pxQueue, pvItemToQueue, xCopyPosition); # DEBUG BEGIN_STMT if (cTxLock == -1) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _5 = pxQueue->xTasksWaitingToReceive.uxNumberOfItems; if (_5 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _6 = &pxQueue->xTasksWaitingToReceive; _7 = xTaskRemoveFromEventList (_6); if (_7 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT if (pxHigherPriorityTaskWoken != 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT *pxHigherPriorityTaskWoken = 1; goto ; [INV] : # DEBUG BEGIN_STMT if (cTxLock == 127) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT cTxLock.10_8 = (unsigned char) cTxLock; _9 = cTxLock.10_8 + 1; _10 = (signed char) _9; pxQueue->cTxLock = _10; : # DEBUG BEGIN_STMT xReturn = 1; goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xReturn = 0; : # DEBUG BEGIN_STMT vPortSetBASEPRI (uxSavedInterruptStatus); # DEBUG BEGIN_STMT D.6971 = xReturn; return D.6971; } xQueueGenericSend (struct QueueDefinition * xQueue, const void * const pvItemToQueue, TickType_t xTicksToWait, const BaseType_t xCopyPosition) { struct Queue_t * const pxQueue; struct TimeOut_t xTimeOut; BaseType_t xYieldRequired; BaseType_t xEntryTimeSet; BaseType_t D.6881; int iftmp.2; int iftmp.1; int iftmp.0; : # DEBUG BEGIN_STMT xEntryTimeSet = 0; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxQueue = xQueue; # DEBUG BEGIN_STMT if (pxQueue == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (pvItemToQueue != 0B) goto ; [INV] else goto ; [INV] : _1 = pxQueue->uxItemSize; if (_1 == 0) goto ; [INV] else goto ; [INV] : iftmp.0 = 1; goto ; [INV] : iftmp.0 = 0; : if (iftmp.0 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xCopyPosition != 2) goto ; [INV] else goto ; [INV] : _2 = pxQueue->uxLength; if (_2 == 1) goto ; [INV] else goto ; [INV] : iftmp.1 = 1; goto ; [INV] : iftmp.1 = 0; : if (iftmp.1 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _3 = xTaskGetSchedulerState (); if (_3 != 0) goto ; [INV] else goto ; [INV] : xTicksToWait.3_4 = xTicksToWait; if (xTicksToWait.3_4 == 0) goto ; [INV] else goto ; [INV] : iftmp.2 = 1; goto ; [INV] : iftmp.2 = 0; : if (iftmp.2 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _5 = pxQueue->uxMessagesWaiting; _6 = pxQueue->uxLength; if (_5 < _6) goto ; [INV] else goto ; [INV] : if (xCopyPosition == 2) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xYieldRequired = prvCopyDataToQueue (pxQueue, pvItemToQueue, xCopyPosition); # DEBUG BEGIN_STMT _7 = pxQueue->xTasksWaitingToReceive.uxNumberOfItems; if (_7 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _8 = &pxQueue->xTasksWaitingToReceive; _9 = xTaskRemoveFromEventList (_8); if (_9 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _10 = 3758157060B; *_10 = 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT if (xYieldRequired != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _11 = 3758157060B; *_11 = 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT D.6881 = 1; // predicted unlikely by early return (on trees) predictor. goto ; [INV] : # DEBUG BEGIN_STMT xTicksToWait.4_12 = xTicksToWait; if (xTicksToWait.4_12 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT D.6881 = 0; // predicted unlikely by early return (on trees) predictor. goto ; [INV] : # DEBUG BEGIN_STMT if (xEntryTimeSet == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vTaskInternalSetTimeOutState (&xTimeOut); # DEBUG BEGIN_STMT xEntryTimeSet = 1; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _13 = pxQueue->cRxLock; if (_13 == -1) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT pxQueue->cRxLock = 0; : # DEBUG BEGIN_STMT _14 = pxQueue->cTxLock; if (_14 == -1) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT pxQueue->cTxLock = 0; : # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT _15 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); if (_15 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _16 = prvIsQueueFull (pxQueue); if (_16 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _17 = &pxQueue->xTasksWaitingToSend; xTicksToWait.5_18 = xTicksToWait; vTaskPlaceOnEventList (_17, xTicksToWait.5_18); # DEBUG BEGIN_STMT prvUnlockQueue (pxQueue); # DEBUG BEGIN_STMT _19 = xTaskResumeAll (); if (_19 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _20 = 3758157060B; *_20 = 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); goto ; [INV] : # DEBUG BEGIN_STMT prvUnlockQueue (pxQueue); # DEBUG BEGIN_STMT xTaskResumeAll (); goto ; [INV] : # DEBUG BEGIN_STMT prvUnlockQueue (pxQueue); # DEBUG BEGIN_STMT xTaskResumeAll (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT D.6881 = 0; // predicted unlikely by early return (on trees) predictor. : xTimeOut = {CLOBBER}; return D.6881; } xQueueCreateCountingSemaphore (const UBaseType_t uxMaxCount, const UBaseType_t uxInitialCount) { struct QueueDefinition * xHandle; struct QueueDefinition * D.6844; : # DEBUG BEGIN_STMT xHandle = 0B; # DEBUG BEGIN_STMT if (uxMaxCount != 0) goto ; [INV] else goto ; [INV] : if (uxInitialCount <= uxMaxCount) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT xHandle = xQueueGenericCreate (uxMaxCount, 0, 2); # DEBUG BEGIN_STMT if (xHandle != 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xHandle].uxMessagesWaiting = uxInitialCount; # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT if (xHandle == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT D.6844 = xHandle; return D.6844; } xQueueTakeMutexRecursive (struct QueueDefinition * xMutex, TickType_t xTicksToWait) { struct Queue_t * const pxMutex; BaseType_t xReturn; BaseType_t D.6833; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxMutex = xMutex; # DEBUG BEGIN_STMT if (pxMutex == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = pxMutex->u.xSemaphore.xMutexHolder; _2 = xTaskGetCurrentTaskHandle (); if (_1 == _2) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _3 = pxMutex->u.xSemaphore.uxRecursiveCallCount; _4 = _3 + 1; pxMutex->u.xSemaphore.uxRecursiveCallCount = _4; # DEBUG BEGIN_STMT xReturn = 1; goto ; [INV] : # DEBUG BEGIN_STMT xReturn = xQueueSemaphoreTake (pxMutex, xTicksToWait); # DEBUG BEGIN_STMT if (xReturn != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _5 = pxMutex->u.xSemaphore.uxRecursiveCallCount; _6 = _5 + 1; pxMutex->u.xSemaphore.uxRecursiveCallCount = _6; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT D.6833 = xReturn; return D.6833; } xQueueGiveMutexRecursive (struct QueueDefinition * xMutex) { struct Queue_t * const pxMutex; BaseType_t xReturn; BaseType_t D.6823; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxMutex = xMutex; # DEBUG BEGIN_STMT if (pxMutex == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = pxMutex->u.xSemaphore.xMutexHolder; _2 = xTaskGetCurrentTaskHandle (); if (_1 == _2) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _3 = pxMutex->u.xSemaphore.uxRecursiveCallCount; _4 = _3 + 4294967295; pxMutex->u.xSemaphore.uxRecursiveCallCount = _4; # DEBUG BEGIN_STMT _5 = pxMutex->u.xSemaphore.uxRecursiveCallCount; if (_5 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT xQueueGenericSend (pxMutex, 0B, 0, 0); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xReturn = 1; goto ; [INV] : # DEBUG BEGIN_STMT xReturn = 0; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT D.6823 = xReturn; return D.6823; } xQueueGetMutexHolderFromISR (struct QueueDefinition * xSemaphore) { struct tskTaskControlBlock * pxReturn; struct tskTaskControlBlock * D.6813; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xSemaphore == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = MEM[(struct Queue_t *)xSemaphore].pcHead; if (_1 == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT pxReturn = MEM[(struct Queue_t *)xSemaphore].u.xSemaphore.xMutexHolder; goto ; [INV] : # DEBUG BEGIN_STMT pxReturn = 0B; : # DEBUG BEGIN_STMT D.6813 = pxReturn; return D.6813; } xQueueGetMutexHolder (struct QueueDefinition * xSemaphore) { struct Queue_t * const pxSemaphore; struct tskTaskControlBlock * pxReturn; struct tskTaskControlBlock * D.6806; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxSemaphore = xSemaphore; # DEBUG BEGIN_STMT if (xSemaphore == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _1 = pxSemaphore->pcHead; if (_1 == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT pxReturn = pxSemaphore->u.xSemaphore.xMutexHolder; goto ; [INV] : # DEBUG BEGIN_STMT pxReturn = 0B; : # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT D.6806 = pxReturn; return D.6806; } xQueueCreateMutex (const uint8_t ucQueueType) { const UBaseType_t uxMutexSize; const UBaseType_t uxMutexLength; struct QueueDefinition * xNewQueue; struct QueueDefinition * D.6796; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxMutexLength = 1; uxMutexSize = 0; # DEBUG BEGIN_STMT xNewQueue = xQueueGenericCreate (1, 0, ucQueueType); # DEBUG BEGIN_STMT prvInitialiseMutex (xNewQueue); # DEBUG BEGIN_STMT D.6796 = xNewQueue; return D.6796; } prvInitialiseMutex (struct Queue_t * pxNewQueue) { : # DEBUG BEGIN_STMT if (pxNewQueue != 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT pxNewQueue->u.xSemaphore.xMutexHolder = 0B; # DEBUG BEGIN_STMT pxNewQueue->pcHead = 0B; # DEBUG BEGIN_STMT pxNewQueue->u.xSemaphore.uxRecursiveCallCount = 0; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xQueueGenericSend (pxNewQueue, 0B, 0, 0); : # DEBUG BEGIN_STMT return; } prvInitialiseNewQueue (const UBaseType_t uxQueueLength, const UBaseType_t uxItemSize, uint8_t * pucQueueStorage, const uint8_t ucQueueType, struct Queue_t * pxNewQueue) { : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (uxItemSize == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT pxNewQueue->pcHead = pxNewQueue; goto ; [INV] : # DEBUG BEGIN_STMT pxNewQueue->pcHead = pucQueueStorage; : # DEBUG BEGIN_STMT pxNewQueue->uxLength = uxQueueLength; # DEBUG BEGIN_STMT pxNewQueue->uxItemSize = uxItemSize; # DEBUG BEGIN_STMT xQueueGenericReset (pxNewQueue, 1); # DEBUG BEGIN_STMT pxNewQueue->ucQueueType = ucQueueType; # DEBUG BEGIN_STMT return; } xQueueGenericCreate (const UBaseType_t uxQueueLength, const UBaseType_t uxItemSize, const uint8_t ucQueueType) { uint8_t * pucQueueStorage; size_t xQueueSizeInBytes; struct Queue_t * pxNewQueue; struct QueueDefinition * D.6791; : # DEBUG BEGIN_STMT pxNewQueue = 0B; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (uxQueueLength != 0) goto ; [INV] else goto ; [INV] : _1 = .MUL_OVERFLOW (uxItemSize, uxQueueLength); _2 = IMAGPART_EXPR <_1>; if (_2 == 0) goto ; [INV] else goto ; [INV] : _3 = uxQueueLength * uxItemSize; if (_3 <= 4294967215) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT xQueueSizeInBytes = uxQueueLength * uxItemSize; # DEBUG BEGIN_STMT _4 = xQueueSizeInBytes + 80; pxNewQueue = pvPortMalloc (_4); # DEBUG BEGIN_STMT if (pxNewQueue != 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT pucQueueStorage = pxNewQueue; # DEBUG BEGIN_STMT pucQueueStorage = pucQueueStorage + 80; # DEBUG BEGIN_STMT prvInitialiseNewQueue (uxQueueLength, uxItemSize, pucQueueStorage, ucQueueType, pxNewQueue); goto ; [INV] : # DEBUG BEGIN_STMT if (pxNewQueue == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT D.6791 = pxNewQueue; return D.6791; } xQueueGenericReset (struct QueueDefinition * xQueue, BaseType_t xNewQueue) { struct Queue_t * const pxQueue; BaseType_t xReturn; BaseType_t D.6779; : # DEBUG BEGIN_STMT xReturn = 1; # DEBUG BEGIN_STMT pxQueue = xQueue; # DEBUG BEGIN_STMT if (pxQueue == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (pxQueue != 0B) goto ; [INV] else goto ; [INV] : _1 = pxQueue->uxLength; if (_1 != 0) goto ; [INV] else goto ; [INV] : _3 = pxQueue->uxItemSize; _4 = pxQueue->uxLength; _2 = .MUL_OVERFLOW (_3, _4); _5 = IMAGPART_EXPR <_2>; if (_5 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _6 = pxQueue->pcHead; _7 = pxQueue->uxLength; _8 = pxQueue->uxItemSize; _9 = _7 * _8; _10 = _6 + _9; pxQueue->u.xQueue.pcTail = _10; # DEBUG BEGIN_STMT pxQueue->uxMessagesWaiting = 0; # DEBUG BEGIN_STMT _11 = pxQueue->pcHead; pxQueue->pcWriteTo = _11; # DEBUG BEGIN_STMT _12 = pxQueue->pcHead; _13 = pxQueue->uxLength; _14 = _13 + 4294967295; _15 = pxQueue->uxItemSize; _16 = _14 * _15; _17 = _12 + _16; pxQueue->u.xQueue.pcReadFrom = _17; # DEBUG BEGIN_STMT pxQueue->cRxLock = -1; # DEBUG BEGIN_STMT pxQueue->cTxLock = -1; # DEBUG BEGIN_STMT if (xNewQueue == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _18 = pxQueue->xTasksWaitingToSend.uxNumberOfItems; if (_18 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _19 = &pxQueue->xTasksWaitingToSend; _20 = xTaskRemoveFromEventList (_19); if (_20 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _21 = 3758157060B; *_21 = 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT _22 = &pxQueue->xTasksWaitingToSend; vListInitialise (_22); # DEBUG BEGIN_STMT _23 = &pxQueue->xTasksWaitingToReceive; vListInitialise (_23); : # DEBUG BEGIN_STMT vPortExitCritical (); goto ; [INV] : # DEBUG BEGIN_STMT xReturn = 0; : # DEBUG BEGIN_STMT if (xReturn == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT vPortRaiseBASEPRI (); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT D.6779 = xReturn; return D.6779; } __attribute__((always_inline)) vPortSetBASEPRI (uint32_t ulNewMaskValue) { : # DEBUG BEGIN_STMT __asm__ __volatile__(" msr basepri, %0 " : : "r" ulNewMaskValue : "memory"); return; } __attribute__((always_inline)) ulPortRaiseBASEPRI () { uint32_t ulNewBASEPRI; uint32_t ulOriginalBASEPRI; uint32_t D.6973; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mrs %0, basepri mov %1, %2 msr basepri, %1 isb dsb " : "=r" ulOriginalBASEPRI, "=r" ulNewBASEPRI : "i" 16 : "memory"); # DEBUG BEGIN_STMT D.6973 = ulOriginalBASEPRI; return D.6973; } __attribute__((always_inline)) vPortRaiseBASEPRI () { uint32_t ulNewBASEPRI; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI : "i" 16 : "memory"); return; }