callgraph: prvTestWaitCondition/44 (prvTestWaitCondition) @05de9380 Type: function definition analyzed Visibility: next sharing asm name: 14 References: Referring: Function prvTestWaitCondition/44 is inline copy in xEventGroupWaitBits/6 Clone of prvTestWaitCondition/14 Availability: local Function flags: count:23563 (estimated locally) body local nonfreeing_fn optimize_size Called by: xEventGroupWaitBits/6 (inlined) (23563 (estimated locally),0.08 per call) Calls: xEventGroupSetBits.part.0/39 (xEventGroupSetBits.part.0) @05de90e0 Type: function definition analyzed Visibility: prevailing_def_ironly artificial References: Referring: Function xEventGroupSetBits.part.0/39 is inline copy in xEventGroupSetBits/10 Availability: local Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size Called by: xEventGroupSetBits/10 (inlined) (52886 (estimated locally),0.23 per call) Calls: vTaskSuspendAll/21 (52886 (estimated locally),0.23 per call) vTaskRemoveFromUnorderedEventList/28 (179716 (estimated locally),0.78 per call) xTaskResumeAll/23 (52886 (estimated locally),0.23 per call) xEventGroupClearBits.part.0/36 (xEventGroupClearBits.part.0) @05de3a80 Type: function definition analyzed Visibility: prevailing_def_ironly artificial References: Referring: Function xEventGroupClearBits.part.0/36 is inline copy in xEventGroupClearBits/7 Availability: local Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size Called by: xEventGroupClearBits/7 (inlined) (52886 (estimated locally),0.23 per call) Calls: vPortEnterCritical/25 (52886 (estimated locally),0.23 per call) vPortExitCritical/26 (52886 (estimated locally),0.23 per call) vPortFree/29 (vPortFree) @05ecab60 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) Calls: vTaskRemoveFromUnorderedEventList/28 (vTaskRemoveFromUnorderedEventList) @05eca9a0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vEventGroupDelete/11 (1030048 (estimated locally),4.46 per call) xEventGroupSetBits.part.0/39 (179716 (estimated locally),0.78 per call) Calls: xTimerPendFunctionCallFromISR/27 (xTimerPendFunctionCallFromISR) @05eca460 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xEventGroupSetBitsFromISR/15 (1073741824 (estimated locally),1.00 per call) xEventGroupClearBitsFromISR/8 (1073741824 (estimated locally),1.00 per call) Calls: vPortExitCritical/26 (vPortExitCritical) @05eadd20 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) Calls: vPortEnterCritical/25 (vPortEnterCritical) @05eadc40 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) Calls: uxTaskResetEventItemValue/24 (uxTaskResetEventItemValue) @05eadb60 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xEventGroupSync/5 (11782 (estimated locally),0.05 per call) xEventGroupWaitBits/6 (11782 (estimated locally),0.04 per call) Calls: xTaskResumeAll/23 (xTaskResumeAll) @05eada80 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) Calls: vTaskPlaceOnUnorderedEventList/22 (vTaskPlaceOnUnorderedEventList) @05ead9a0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xEventGroupSync/5 (5132 (estimated locally),0.02 per call) xEventGroupWaitBits/6 (5891 (estimated locally),0.02 per call) Calls: vTaskSuspendAll/21 (vTaskSuspendAll) @05ead8c0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vEventGroupDelete/11 (123389 (estimated locally),0.53 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) Calls: xTaskGetSchedulerState/20 (xTaskGetSchedulerState) @05ead7e0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xEventGroupSync/5 (35433 (estimated locally),0.16 per call) xEventGroupWaitBits/6 (35433 (estimated locally),0.12 per call) Calls: vListInitialise/19 (vListInitialise) @05ead460 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xEventGroupCreate/4 (574129754 (estimated locally),0.53 per call) Calls: pvPortMalloc/18 (pvPortMalloc) @05ead380 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xEventGroupCreate/4 (1073741824 (estimated locally),1.00 per call) Calls: vEventGroupSetNumber/17 (vEventGroupSetNumber) @05ea1e00 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size Called by: Calls: uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @05ea18c0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size Called by: Calls: xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @05ea12a0 Type: function definition analyzed Visibility: externally_visible public References: vEventGroupSetBitsCallback/12 (addr) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) prvTestWaitCondition/14 (prvTestWaitCondition) @05ea1d20 Type: function definition analyzed Visibility: prevailing_def_ironly previous sharing asm name: 44 References: Referring: Function prvTestWaitCondition/14 is inline copy in xEventGroupWaitBits/6 Availability: local Function flags: count:3888 (estimated locally) body local nonfreeing_fn optimize_size Called by: xEventGroupWaitBits/6 (inlined) (3888 (estimated locally),0.01 per call) Calls: vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @05ea1a80 Type: function definition analyzed Visibility: externally_visible public Address is taken. References: Referring: xEventGroupClearBitsFromISR/8 (addr) Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: xEventGroupClearBits/7 (1073741824 (estimated locally),1.00 per call) vEventGroupSetBitsCallback/12 (vEventGroupSetBitsCallback) @05ea17e0 Type: function definition analyzed Visibility: externally_visible public Address is taken. References: Referring: xEventGroupSetBitsFromISR/15 (addr) Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: xEventGroupSetBits/10 (1073741824 (estimated locally),1.00 per call) vEventGroupDelete/11 (vEventGroupDelete) @05ea1540 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:230763 (estimated locally) body optimize_size Called by: Calls: xTaskResumeAll/23 (63439 (estimated locally),0.27 per call) vPortFree/29 (63439 (estimated locally),0.27 per call) vTaskRemoveFromUnorderedEventList/28 (1030048 (estimated locally),4.46 per call) vTaskSuspendAll/21 (123389 (estimated locally),0.53 per call) xEventGroupSetBits/10 (xEventGroupSetBits) @05ea11c0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:228942 (estimated locally) body optimize_size Called by: vEventGroupSetBitsCallback/12 (1073741824 (estimated locally),1.00 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) Calls: xEventGroupSetBits.part.0/39 (inlined) (52886 (estimated locally),0.23 per call) xEventGroupGetBitsFromISR/9 (xEventGroupGetBitsFromISR) @05e5da80 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @05e5d0e0 Type: function definition analyzed Visibility: externally_visible public References: vEventGroupClearBitsCallback/13 (addr) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) xEventGroupClearBits/7 (xEventGroupClearBits) @05e5dd20 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:228942 (estimated locally) body optimize_size Called by: vEventGroupClearBitsCallback/13 (1073741824 (estimated locally),1.00 per call) Calls: xEventGroupClearBits.part.0/36 (inlined) (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (xEventGroupWaitBits) @05e5d9a0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:306783 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/26 (3888 (estimated locally),0.01 per call) prvTestWaitCondition/14 (inlined) (3888 (estimated locally),0.01 per call) vPortEnterCritical/25 (3888 (estimated locally),0.01 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.04 per call) xTaskResumeAll/23 (23563 (estimated locally),0.08 per call) vTaskPlaceOnUnorderedEventList/22 (5891 (estimated locally),0.02 per call) prvTestWaitCondition/44 (inlined) (23563 (estimated locally),0.08 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.08 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.12 per call) xEventGroupSync/5 (xEventGroupSync) @05e5d460 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/26 (3888 (estimated locally),0.02 per call) vPortEnterCritical/25 (3888 (estimated locally),0.02 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.05 per call) xTaskResumeAll/23 (23563 (estimated locally),0.11 per call) vTaskPlaceOnUnorderedEventList/22 (5132 (estimated locally),0.02 per call) xEventGroupSetBits/10 (23563 (estimated locally),0.11 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.11 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.16 per call) xEventGroupCreate/4 (xEventGroupCreate) @05e5d000 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: vListInitialise/19 (574129754 (estimated locally),0.53 per call) pvPortMalloc/18 (1073741824 (estimated locally),1.00 per call) Clearing variable flags: Function name:prvTestWaitCondition/44: locals read: locals written: Function name:xEventGroupSetBits.part.0/39: locals read: locals written: Function name:xEventGroupClearBits.part.0/36: locals read: locals written: Function name:vEventGroupSetNumber/17: locals read: locals written: Function name:uxEventGroupGetNumber/16: locals read: locals written: Function name:xEventGroupSetBitsFromISR/15: locals read: locals written: Function name:prvTestWaitCondition/14: locals read: locals written: Function name:vEventGroupClearBitsCallback/13: locals read: locals written: Function name:vEventGroupSetBitsCallback/12: locals read: locals written: Function name:vEventGroupDelete/11: locals read: locals written: Function name:xEventGroupSetBits/10: locals read: locals written: Function name:xEventGroupGetBitsFromISR/9: locals read: locals written: Function name:xEventGroupClearBitsFromISR/8: locals read: locals written: Function name:xEventGroupClearBits/7: locals read: locals written: Function name:xEventGroupWaitBits/6: locals read: locals written: Function name:xEventGroupSync/5: locals read: locals written: Function name:xEventGroupCreate/4: locals read: locals written: ordered call graph: reduced vEventGroupSetNumber/17 (vEventGroupSetNumber) @05ea1e00 Type: function definition analyzed Visibility: externally_visible public Aux: @05e60c00 References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size Called by: Calls: uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @05ea18c0 Type: function definition analyzed Visibility: externally_visible public Aux: @05e60aa0 References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size Called by: Calls: xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @05ea12a0 Type: function definition analyzed Visibility: externally_visible public Aux: @05e60bc0 References: vEventGroupSetBitsCallback/12 (addr) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @05ea1a80 Type: function definition analyzed Visibility: externally_visible public Address is taken. Aux: @05e60960 References: Referring: xEventGroupClearBitsFromISR/8 (addr) Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: xEventGroupClearBits/7 (1073741824 (estimated locally),1.00 per call) vEventGroupSetBitsCallback/12 (vEventGroupSetBitsCallback) @05ea17e0 Type: function definition analyzed Visibility: externally_visible public Address is taken. Aux: @05e60b20 References: Referring: xEventGroupSetBitsFromISR/15 (addr) Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: xEventGroupSetBits/10 (1073741824 (estimated locally),1.00 per call) vEventGroupDelete/11 (vEventGroupDelete) @05ea1540 Type: function definition analyzed Visibility: externally_visible public Aux: @05e60c20 References: Referring: Availability: available Function flags: count:230763 (estimated locally) body optimize_size Called by: Calls: xTaskResumeAll/23 (63439 (estimated locally),0.27 per call) vPortFree/29 (63439 (estimated locally),0.27 per call) vTaskRemoveFromUnorderedEventList/28 (1030048 (estimated locally),4.46 per call) vTaskSuspendAll/21 (123389 (estimated locally),0.53 per call) xEventGroupGetBitsFromISR/9 (xEventGroupGetBitsFromISR) @05e5da80 Type: function definition analyzed Visibility: externally_visible public Aux: @05e60a00 References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @05e5d0e0 Type: function definition analyzed Visibility: externally_visible public Aux: @05e60b40 References: vEventGroupClearBitsCallback/13 (addr) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) xEventGroupClearBits/7 (xEventGroupClearBits) @05e5dd20 Type: function definition analyzed Visibility: externally_visible public Aux: @05e609a0 References: Referring: Availability: available Function flags: count:228942 (estimated locally) body optimize_size Called by: vEventGroupClearBitsCallback/13 (1073741824 (estimated locally),1.00 per call) Calls: xEventGroupClearBits.part.0/36 (inlined) (52886 (estimated locally),0.23 per call) xEventGroupClearBits.part.0/36 (xEventGroupClearBits.part.0) @05de3a80 Type: function definition analyzed Visibility: prevailing_def_ironly artificial Aux: @05e60b60 References: Referring: Function xEventGroupClearBits.part.0/36 is inline copy in xEventGroupClearBits/7 Availability: local Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size Called by: xEventGroupClearBits/7 (inlined) (52886 (estimated locally),0.23 per call) Calls: vPortEnterCritical/25 (52886 (estimated locally),0.23 per call) vPortExitCritical/26 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (xEventGroupWaitBits) @05e5d9a0 Type: function definition analyzed Visibility: externally_visible public Aux: @05e60900 References: Referring: Availability: available Function flags: count:306783 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/26 (3888 (estimated locally),0.01 per call) prvTestWaitCondition/14 (inlined) (3888 (estimated locally),0.01 per call) vPortEnterCritical/25 (3888 (estimated locally),0.01 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.04 per call) xTaskResumeAll/23 (23563 (estimated locally),0.08 per call) vTaskPlaceOnUnorderedEventList/22 (5891 (estimated locally),0.02 per call) prvTestWaitCondition/44 (inlined) (23563 (estimated locally),0.08 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.08 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.12 per call) prvTestWaitCondition/44 (prvTestWaitCondition) @05de9380 Type: function definition analyzed Visibility: next sharing asm name: 14 Aux: @05e60be0 References: Referring: Function prvTestWaitCondition/44 is inline copy in xEventGroupWaitBits/6 Clone of prvTestWaitCondition/14 Availability: local Function flags: count:23563 (estimated locally) body local nonfreeing_fn optimize_size Called by: xEventGroupWaitBits/6 (inlined) (23563 (estimated locally),0.08 per call) Calls: prvTestWaitCondition/14 (prvTestWaitCondition) @05ea1d20 Type: function definition analyzed Visibility: prevailing_def_ironly previous sharing asm name: 44 Aux: @05e609e0 References: Referring: Function prvTestWaitCondition/14 is inline copy in xEventGroupWaitBits/6 Availability: local Function flags: count:3888 (estimated locally) body local nonfreeing_fn optimize_size Called by: xEventGroupWaitBits/6 (inlined) (3888 (estimated locally),0.01 per call) Calls: xEventGroupSync/5 (xEventGroupSync) @05e5d460 Type: function definition analyzed Visibility: externally_visible public Aux: @05e60c40 References: Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/26 (3888 (estimated locally),0.02 per call) vPortEnterCritical/25 (3888 (estimated locally),0.02 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.05 per call) xTaskResumeAll/23 (23563 (estimated locally),0.11 per call) vTaskPlaceOnUnorderedEventList/22 (5132 (estimated locally),0.02 per call) xEventGroupSetBits/10 (23563 (estimated locally),0.11 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.11 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.16 per call) xEventGroupSetBits/10 (xEventGroupSetBits) @05ea11c0 Type: function definition analyzed Visibility: externally_visible public Aux: @05e60980 References: Referring: Availability: available Function flags: count:228942 (estimated locally) body optimize_size Called by: vEventGroupSetBitsCallback/12 (1073741824 (estimated locally),1.00 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) Calls: xEventGroupSetBits.part.0/39 (inlined) (52886 (estimated locally),0.23 per call) xEventGroupSetBits.part.0/39 (xEventGroupSetBits.part.0) @05de90e0 Type: function definition analyzed Visibility: prevailing_def_ironly artificial Aux: @05e60ba0 References: Referring: Function xEventGroupSetBits.part.0/39 is inline copy in xEventGroupSetBits/10 Availability: local Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size Called by: xEventGroupSetBits/10 (inlined) (52886 (estimated locally),0.23 per call) Calls: vTaskSuspendAll/21 (52886 (estimated locally),0.23 per call) vTaskRemoveFromUnorderedEventList/28 (179716 (estimated locally),0.78 per call) xTaskResumeAll/23 (52886 (estimated locally),0.23 per call) xEventGroupCreate/4 (xEventGroupCreate) @05e5d000 Type: function definition analyzed Visibility: externally_visible public Aux: @05e60b80 References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: vListInitialise/19 (574129754 (estimated locally),0.53 per call) pvPortMalloc/18 (1073741824 (estimated locally),1.00 per call) Function name:xEventGroupCreate/4: locals read: locals written: globals read: ALL globals written: ALL Function name:xEventGroupSetBits.part.0/39: locals read: locals written: globals read: ALL globals written: ALL Function name:xEventGroupSetBits/10: locals read: locals written: globals read: ALL globals written: ALL Function name:xEventGroupSync/5: locals read: locals written: globals read: ALL globals written: ALL Function name:prvTestWaitCondition/14: locals read: locals written: globals read: globals written: Function name:prvTestWaitCondition/44: locals read: locals written: globals read: globals written: Function name:xEventGroupWaitBits/6: locals read: locals written: globals read: ALL globals written: ALL Function name:xEventGroupClearBits.part.0/36: locals read: locals written: globals read: ALL globals written: ALL Function name:xEventGroupClearBits/7: locals read: locals written: globals read: ALL globals written: ALL Function name:xEventGroupClearBitsFromISR/8: locals read: locals written: globals read: ALL globals written: ALL Function name:xEventGroupGetBitsFromISR/9: locals read: locals written: globals read: globals written: Function name:vEventGroupDelete/11: locals read: locals written: globals read: ALL globals written: ALL Function name:vEventGroupSetBitsCallback/12: locals read: locals written: globals read: ALL globals written: ALL Function name:vEventGroupClearBitsCallback/13: locals read: locals written: globals read: ALL globals written: ALL Function name:xEventGroupSetBitsFromISR/15: locals read: locals written: globals read: ALL globals written: ALL Function name:uxEventGroupGetNumber/16: locals read: locals written: globals read: globals written: Function name:vEventGroupSetNumber/17: locals read: locals written: globals read: globals written: xEventGroupSetBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet) { struct ListItem_t * pxListItem; struct ListItem_t * pxNext; const struct ListItem_t * pxListEnd; const struct List_t * pxList; EventBits_t uxBitsToClear; EventBits_t uxBitsWaitedFor; EventBits_t uxControlBits; struct EventGroup_t * pxEventBits; BaseType_t xMatchFound; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; long unsigned int _4; long unsigned int _6; long unsigned int _11; long unsigned int _12; long unsigned int _13; long unsigned int _14; long unsigned int _15; long unsigned int _16; long unsigned int _19; long unsigned int _20; long unsigned int _21; long unsigned int _23; long unsigned int _24; long unsigned int _25; [local count: 118111600]: [local count: 118111600]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG D#1 => &MEM[(struct EventGroup_t *)xEventGroup_1(D)].xTasksWaitingForBits # DEBUG pxList => D#1 # DEBUG BEGIN_STMT pxListEnd_2 = &MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd; # DEBUG pxListEnd => pxListEnd_2 # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxListItem_3 = MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd.pxNext; # DEBUG pxListItem => pxListItem_3 # DEBUG BEGIN_STMT _4 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits; _6 = _4 | uxBitsToSet_5(D); MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _6; # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 955630223]: # DEBUG BEGIN_STMT pxNext_8 = pxListItem_7->pxNext; # DEBUG pxNext => pxNext_8 # DEBUG BEGIN_STMT uxBitsWaitedFor_9 = pxListItem_7->xItemValue; # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_9 # DEBUG BEGIN_STMT # DEBUG xMatchFound => 0 # DEBUG BEGIN_STMT # DEBUG uxControlBits => uxBitsWaitedFor_9 & 4278190080 # DEBUG BEGIN_STMT uxBitsWaitedFor_10 = uxBitsWaitedFor_9 & 16777215; # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_10 # DEBUG BEGIN_STMT _11 = uxBitsWaitedFor_9 & 67108864; if (_11 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 477815111]: # DEBUG BEGIN_STMT _12 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits; _13 = uxBitsWaitedFor_10 & _12; if (_13 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 477815111]: # DEBUG BEGIN_STMT _14 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits; _15 = uxBitsWaitedFor_10 & _14; if (uxBitsWaitedFor_10 == _15) goto ; [34.00%] else goto ; [66.00%] [local count: 401364694]: # DEBUG xMatchFound => NULL # DEBUG BEGIN_STMT _16 = uxBitsWaitedFor_9 & 16777216; if (_16 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 200682347]: # DEBUG BEGIN_STMT uxBitsToClear_18 = uxBitsWaitedFor_10 | uxBitsToClear_17; # DEBUG uxBitsToClear => uxBitsToClear_18 [local count: 401364694]: # uxBitsToClear_26 = PHI # DEBUG uxBitsToClear => uxBitsToClear_26 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _19 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits; _20 = _19 | 33554432; vTaskRemoveFromUnorderedEventList (pxListItem_7, _20); [local count: 955630225]: # pxListItem_27 = PHI # uxBitsToClear_28 = PHI [local count: 1073741824]: # pxListItem_7 = PHI # uxBitsToClear_17 = PHI <0(2), uxBitsToClear_28(9)> # DEBUG xMatchFound => NULL # DEBUG uxBitsToClear => uxBitsToClear_17 # DEBUG pxListItem => pxListItem_7 # DEBUG BEGIN_STMT if (pxListEnd_2 != pxListItem_7) goto ; [89.00%] else goto ; [11.00%] [local count: 118111601]: # uxBitsToClear_22 = PHI # DEBUG BEGIN_STMT _21 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits; _23 = ~uxBitsToClear_22; _24 = _21 & _23; MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _24; # DEBUG BEGIN_STMT xTaskResumeAll (); # DEBUG BEGIN_STMT _25 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits; return _25; } xEventGroupClearBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear) { struct EventGroup_t * pxEventBits; EventBits_t uxReturn; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; long unsigned int _4; long unsigned int _5; [local count: 1073741824]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxReturn_2 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits; # DEBUG uxReturn => uxReturn_2 # DEBUG BEGIN_STMT _4 = ~uxBitsToClear_3(D); _5 = uxReturn_2 & _4; MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _5; # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT return uxReturn_2; } vEventGroupSetNumber (void * xEventGroup, UBaseType_t uxEventGroupNumber) { [local count: 1073741824]: # DEBUG BEGIN_STMT MEM[(struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber = uxEventGroupNumber_3(D); return; } uxEventGroupGetNumber (void * xEventGroup) { UBaseType_t xReturn; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxEventBits => xEventGroup_2(D) # DEBUG BEGIN_STMT if (xEventGroup_2(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 751619278]: # DEBUG BEGIN_STMT xReturn_4 = MEM[(const struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber; # DEBUG xReturn => xReturn_4 [local count: 1073741824]: # xReturn_1 = PHI <0(2), xReturn_4(3)> # DEBUG xReturn => xReturn_1 # DEBUG BEGIN_STMT return xReturn_1; } xEventGroupSetBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, BaseType_t * pxHigherPriorityTaskWoken) { BaseType_t xReturn; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xReturn_6 = xTimerPendFunctionCallFromISR (vEventGroupSetBitsCallback, xEventGroup_2(D), uxBitsToSet_3(D), pxHigherPriorityTaskWoken_4(D)); # DEBUG xReturn => xReturn_6 # DEBUG BEGIN_STMT return xReturn_6; } prvTestWaitCondition (const EventBits_t uxCurrentEventBits, const EventBits_t uxBitsToWaitFor, const BaseType_t xWaitForAllBits) { BaseType_t xWaitConditionMet; long unsigned int _1; long unsigned int _2; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG xWaitConditionMet => 0 # DEBUG BEGIN_STMT if (xWaitForAllBits_4(D) == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT _1 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D); if (_1 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 268435456]: # DEBUG BEGIN_STMT # DEBUG xWaitConditionMet => 1 goto ; [100.00%] [local count: 536870913]: # DEBUG BEGIN_STMT _2 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D); if (_2 == uxBitsToWaitFor_6(D)) goto ; [34.00%] else goto ; [66.00%] [local count: 182536110]: # DEBUG BEGIN_STMT # DEBUG xWaitConditionMet => 1 [local count: 1073741824]: # xWaitConditionMet_3 = PHI <1(4), 0(5), 1(6), 0(3)> # DEBUG xWaitConditionMet => xWaitConditionMet_3 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xWaitConditionMet_3; } vEventGroupClearBitsCallback (void * pvEventGroup, const uint32_t ulBitsToClear) { [local count: 1073741824]: # DEBUG BEGIN_STMT xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D)); return; } vEventGroupSetBitsCallback (void * pvEventGroup, const uint32_t ulBitsToSet) { [local count: 1073741824]: # DEBUG BEGIN_STMT xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D)); return; } vEventGroupDelete (struct EventGroupDef_t * xEventGroup) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; struct xLIST_ITEM * _1; const struct MiniListItem_t * _2; long unsigned int _3; [local count: 230763]: # DEBUG BEGIN_STMT if (xEventGroup_5(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_11 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_11 [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 pxEventBits => xEventGroup_5(D) # DEBUG BEGIN_STMT # DEBUG D#2 => &MEM[(struct EventGroup_t *)xEventGroup_5(D)].xTasksWaitingForBits # DEBUG pxTasksWaitingForBits => D#2 # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 1089998]: # DEBUG BEGIN_STMT _1 = MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd.pxNext; _2 = &MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd; if (_1 == _2) goto ; [5.50%] else goto ; [94.50%] [local count: 59950]: # 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: 599500022]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 599500022]: goto ; [100.00%] [local count: 1030048]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vTaskRemoveFromUnorderedEventList (_1, 33554432); [local count: 1153437]: # DEBUG BEGIN_STMT _3 ={v} MEM[(const struct List_t *)xEventGroup_5(D) + 4B].uxNumberOfItems; if (_3 != 0) goto ; [94.50%] else goto ; [5.50%] [local count: 63439]: # DEBUG BEGIN_STMT vPortFree (xEventGroup_5(D)); # DEBUG BEGIN_STMT xTaskResumeAll (); return; } xEventGroupSetBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet) { EventBits_t D.6634; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; long unsigned int _1; [local count: 228942]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG uxBitsToClear => 0 # DEBUG BEGIN_STMT # DEBUG pxEventBits => xEventGroup_3(D) # DEBUG BEGIN_STMT # DEBUG xMatchFound => 0 # DEBUG BEGIN_STMT if (xEventGroup_3(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_7 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_7 [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 = uxBitsToSet_4(D) & 4278190080; 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_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: 52886]: _6 = xEventGroupSetBits.part.0 (xEventGroup_3(D), uxBitsToSet_4(D)); return _6; } xEventGroupGetBitsFromISR (struct EventGroupDef_t * xEventGroup) { uint32_t ulOriginalBASEPRI; uint32_t ulNewBASEPRI; EventBits_t uxReturn; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxEventBits => xEventGroup_1(D) # DEBUG BEGIN_STMT # 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_4, "=r" ulNewBASEPRI_5 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_5 # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_4 # DEBUG BEGIN_STMT # DEBUG ulNewBASEPRI => NULL # DEBUG ulOriginalBASEPRI => NULL # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_4 # DEBUG BEGIN_STMT uxReturn_3 = MEM[(const struct EventGroup_t *)xEventGroup_1(D)].uxEventBits; # DEBUG uxReturn => uxReturn_3 # DEBUG BEGIN_STMT # DEBUG ulNewMaskValue => ulOriginalBASEPRI_4 # DEBUG INLINE_ENTRY vPortSetBASEPRI # DEBUG BEGIN_STMT __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_4 : "memory"); # DEBUG ulNewMaskValue => NULL # DEBUG BEGIN_STMT return uxReturn_3; } xEventGroupClearBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear) { BaseType_t xReturn; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xReturn_5 = xTimerPendFunctionCallFromISR (vEventGroupClearBitsCallback, xEventGroup_2(D), uxBitsToClear_3(D), 0B); # DEBUG xReturn => xReturn_5 # DEBUG BEGIN_STMT return xReturn_5; } xEventGroupClearBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear) { EventBits_t D.6607; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; long unsigned int _1; [local count: 228942]: # DEBUG BEGIN_STMT # DEBUG pxEventBits => xEventGroup_3(D) # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xEventGroup_3(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_7 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_7 [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 = uxBitsToClear_5(D) & 4278190080; 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_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: 52886]: _2 = xEventGroupClearBits.part.0 (xEventGroup_3(D), uxBitsToClear_5(D)); return _2; } xEventGroupWaitBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; const EventBits_t uxCurrentEventBits; BaseType_t xAlreadyYielded; BaseType_t xWaitConditionMet; EventBits_t uxControlBits; EventBits_t uxReturn; long unsigned int _1; long int _2; long unsigned int _3; long unsigned int _4; struct List_t * _5; long unsigned int _6; long unsigned int _7; long int _8; long unsigned int _9; long unsigned int _10; [local count: 306783]: # DEBUG BEGIN_STMT # DEBUG pxEventBits => xEventGroup_22(D) # DEBUG BEGIN_STMT # DEBUG uxControlBits => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG xTimeoutOccurred => 0 # DEBUG BEGIN_STMT if (xEventGroup_22(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_45 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_45 [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 = uxBitsToWaitFor_23(D) & 4278190080; 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_30 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_30 [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 if (uxBitsToWaitFor_23(D) == 0) goto ; [67.00%] else goto ; [33.00%] [local count: 71941]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_49 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_49 [local count: 719407021]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 719407021]: goto ; [100.00%] [local count: 35433]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = xTaskGetSchedulerState (); if (_2 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 23740]: if (xTicksToWait_26(D) == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 11870]: # 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_50 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_50 [local count: 118702158]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 118702158]: goto ; [100.00%] [local count: 23563]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT uxCurrentEventBits_28 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits; # DEBUG uxCurrentEventBits => uxCurrentEventBits_28 # DEBUG BEGIN_STMT xWaitConditionMet_31 = prvTestWaitCondition (uxCurrentEventBits_28, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D)); # DEBUG xWaitConditionMet => xWaitConditionMet_31 # DEBUG BEGIN_STMT if (xWaitConditionMet_31 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 11782]: # DEBUG BEGIN_STMT # DEBUG uxReturn => uxCurrentEventBits_28 # DEBUG BEGIN_STMT # DEBUG xTicksToWait => 0 # DEBUG BEGIN_STMT if (xClearOnExit_32(D) != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 5891]: # DEBUG BEGIN_STMT _3 = ~uxBitsToWaitFor_23(D); _4 = _3 & uxCurrentEventBits_28; MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _4; goto ; [100.00%] [local count: 11782]: # DEBUG BEGIN_STMT if (xTicksToWait_26(D) == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 5891]: # DEBUG BEGIN_STMT if (xClearOnExit_32(D) != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 2945]: # DEBUG BEGIN_STMT # DEBUG uxControlBits => 16777216 [local count: 5891]: # uxControlBits_15 = PHI <0(19), 16777216(20)> # DEBUG uxControlBits => uxControlBits_15 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xWaitForAllBits_29(D) != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 2945]: # DEBUG BEGIN_STMT uxControlBits_33 = uxControlBits_15 | 67108864; # DEBUG uxControlBits => uxControlBits_33 [local count: 5891]: # uxControlBits_16 = PHI # DEBUG uxControlBits => uxControlBits_16 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _5 = &MEM[(struct EventGroup_t *)xEventGroup_22(D)].xTasksWaitingForBits; _6 = uxControlBits_16 | uxBitsToWaitFor_23(D); vTaskPlaceOnUnorderedEventList (_5, _6, xTicksToWait_26(D)); # DEBUG BEGIN_STMT # DEBUG uxReturn => 0 [local count: 23563]: # xTicksToWait_11 = PHI <0(17), xTicksToWait_26(D)(18), xTicksToWait_26(D)(23), 0(16)> # uxReturn_12 = PHI # DEBUG xTimeoutOccurred => NULL # DEBUG uxReturn => uxReturn_12 # DEBUG xTicksToWait => xTicksToWait_11 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xAlreadyYielded_37 = xTaskResumeAll (); # DEBUG xAlreadyYielded => xAlreadyYielded_37 # DEBUG BEGIN_STMT if (xTicksToWait_11 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 11782]: # DEBUG BEGIN_STMT if (xAlreadyYielded_37 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 5891]: # 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: 11782]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxReturn_42 = uxTaskResetEventItemValue (); # DEBUG uxReturn => uxReturn_42 # DEBUG BEGIN_STMT _7 = uxReturn_42 & 33554432; if (_7 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 3888]: # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT uxReturn_44 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits; # DEBUG uxReturn => uxReturn_44 # DEBUG BEGIN_STMT _8 = prvTestWaitCondition (uxReturn_44, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D)); if (_8 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 1944]: # DEBUG BEGIN_STMT if (xClearOnExit_32(D) != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 972]: # DEBUG BEGIN_STMT _9 = ~uxBitsToWaitFor_23(D); _10 = _9 & uxReturn_44; MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _10; [local count: 3888]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG xTimeoutOccurred => 1 # DEBUG BEGIN_STMT vPortExitCritical (); [local count: 11782]: # uxReturn_13 = PHI # DEBUG uxReturn => uxReturn_13 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxReturn_48 = uxReturn_13 & 16777215; # DEBUG uxReturn => uxReturn_48 [local count: 23563]: # uxReturn_14 = PHI # DEBUG uxReturn => uxReturn_14 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return uxReturn_14; } xEventGroupSync (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; BaseType_t xAlreadyYielded; EventBits_t uxReturn; EventBits_t uxOriginalBitValue; long unsigned int _1; long int _2; long unsigned int _3; long unsigned int _4; long unsigned int _5; long unsigned int _6; long unsigned int _7; struct List_t * _8; long unsigned int _9; long unsigned int _10; long unsigned int _11; long unsigned int _12; long unsigned int _13; [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxEventBits => xEventGroup_23(D) # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG xTimeoutOccurred => 0 # DEBUG BEGIN_STMT _1 = uxBitsToWaitFor_24(D) & 4278190080; 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_47 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_47 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (uxBitsToWaitFor_24(D) == 0) goto ; [67.00%] else goto ; [33.00%] [local count: 71941]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_48 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_48 [local count: 719407023]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 719407023]: goto ; [100.00%] [local count: 35433]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = xTaskGetSchedulerState (); if (_2 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 23740]: if (xTicksToWait_27(D) == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 11870]: # 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_49 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_49 [local count: 118702159]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 118702159]: goto ; [100.00%] [local count: 23563]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT uxOriginalBitValue_29 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits; # DEBUG uxOriginalBitValue => uxOriginalBitValue_29 # DEBUG BEGIN_STMT xEventGroupSetBits (xEventGroup_23(D), uxBitsToSet_30(D)); # DEBUG BEGIN_STMT _3 = uxOriginalBitValue_29 | uxBitsToSet_30(D); _4 = _3 & uxBitsToWaitFor_24(D); if (_4 == uxBitsToWaitFor_24(D)) goto ; [34.00%] else goto ; [66.00%] [local count: 8011]: # DEBUG BEGIN_STMT # DEBUG uxReturn => _3 # DEBUG BEGIN_STMT _5 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits; _6 = ~uxBitsToWaitFor_24(D); _7 = _5 & _6; MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _7; # DEBUG BEGIN_STMT # DEBUG xTicksToWait => 0 goto ; [100.00%] [local count: 15552]: # DEBUG BEGIN_STMT if (xTicksToWait_27(D) != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 5132]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _8 = &MEM[(struct EventGroup_t *)xEventGroup_23(D)].xTasksWaitingForBits; _9 = uxBitsToWaitFor_24(D) | 83886080; vTaskPlaceOnUnorderedEventList (_8, _9, xTicksToWait_27(D)); # DEBUG BEGIN_STMT # DEBUG uxReturn => 0 goto ; [100.00%] [local count: 10420]: # DEBUG BEGIN_STMT uxReturn_32 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits; # DEBUG uxReturn => uxReturn_32 # DEBUG BEGIN_STMT # DEBUG xTimeoutOccurred => 1 [local count: 23563]: # xTicksToWait_14 = PHI <0(13), xTicksToWait_27(D)(15), 0(16)> # uxReturn_15 = PHI <_3(13), 0(15), uxReturn_32(16)> # DEBUG uxReturn => uxReturn_15 # DEBUG xTicksToWait => xTicksToWait_14 # DEBUG BEGIN_STMT xAlreadyYielded_36 = xTaskResumeAll (); # DEBUG xAlreadyYielded => xAlreadyYielded_36 # DEBUG BEGIN_STMT if (xTicksToWait_14 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 11782]: # DEBUG BEGIN_STMT if (xAlreadyYielded_36 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 5891]: # 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: 11782]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxReturn_41 = uxTaskResetEventItemValue (); # DEBUG uxReturn => uxReturn_41 # DEBUG BEGIN_STMT _10 = uxReturn_41 & 33554432; if (_10 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 3888]: # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT uxReturn_43 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits; # DEBUG uxReturn => uxReturn_43 # DEBUG BEGIN_STMT _11 = uxBitsToWaitFor_24(D) & uxReturn_43; if (_11 == uxBitsToWaitFor_24(D)) goto ; [34.00%] else goto ; [66.00%] [local count: 1322]: # DEBUG BEGIN_STMT _12 = ~uxBitsToWaitFor_24(D); _13 = _12 & uxReturn_43; MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _13; [local count: 3888]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT # DEBUG xTimeoutOccurred => 1 [local count: 11782]: # uxReturn_16 = PHI # DEBUG uxReturn => uxReturn_16 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxReturn_46 = uxReturn_16 & 16777215; # DEBUG uxReturn => uxReturn_46 [local count: 23563]: # uxReturn_17 = PHI # DEBUG uxReturn => uxReturn_17 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return uxReturn_17; } xEventGroupCreate () { struct EventGroup_t * pxEventBits; struct List_t * _1; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxEventBits_5 = pvPortMalloc (28); # DEBUG pxEventBits => pxEventBits_5 # DEBUG BEGIN_STMT if (pxEventBits_5 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 574129754]: # DEBUG BEGIN_STMT pxEventBits_5->uxEventBits = 0; # DEBUG BEGIN_STMT _1 = &pxEventBits_5->xTasksWaitingForBits; vListInitialise (_1); # DEBUG BEGIN_STMT [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return pxEventBits_5; }