|
@@ -0,0 +1,2602 @@
|
|
|
+
|
|
|
+
|
|
|
+ local analysis of xEventGroupSetBits.part.0
|
|
|
+ scanning: pxListEnd_2 = &MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd;
|
|
|
+ scanning: vTaskSuspendAll ();
|
|
|
+ scanning: pxListItem_3 = MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd.pxNext;
|
|
|
+ Indirect ref read is not const
|
|
|
+ scanning: _4 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
|
|
|
+ Indirect ref read is not const
|
|
|
+ scanning: _6 = _4 | uxBitsToSet_5(D);
|
|
|
+ scanning: MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _6;
|
|
|
+ Indirect ref write is not const/pure
|
|
|
+ scanning: pxNext_8 = pxListItem_7->pxNext;
|
|
|
+ Indirect ref read is not const
|
|
|
+ scanning: uxBitsWaitedFor_9 = pxListItem_7->xItemValue;
|
|
|
+ Indirect ref read is not const
|
|
|
+ scanning: uxBitsWaitedFor_10 = uxBitsWaitedFor_9 & 16777215;
|
|
|
+ scanning: _11 = uxBitsWaitedFor_9 & 67108864;
|
|
|
+ scanning: if (_11 == 0)
|
|
|
+ scanning: _12 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
|
|
|
+ Indirect ref read is not const
|
|
|
+ scanning: _13 = uxBitsWaitedFor_10 & _12;
|
|
|
+ scanning: if (_13 != 0)
|
|
|
+ scanning: _14 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
|
|
|
+ Indirect ref read is not const
|
|
|
+ scanning: _15 = uxBitsWaitedFor_10 & _14;
|
|
|
+ scanning: if (uxBitsWaitedFor_10 == _15)
|
|
|
+ scanning: _16 = uxBitsWaitedFor_9 & 16777216;
|
|
|
+ scanning: if (_16 != 0)
|
|
|
+ scanning: uxBitsToClear_18 = uxBitsWaitedFor_10 | uxBitsToClear_17;
|
|
|
+ scanning: _19 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
|
|
|
+ Indirect ref read is not const
|
|
|
+ scanning: _20 = _19 | 33554432;
|
|
|
+ scanning: vTaskRemoveFromUnorderedEventList (pxListItem_7, _20);
|
|
|
+ scanning: if (pxListEnd_2 != pxListItem_7)
|
|
|
+ scanning: _21 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
|
|
|
+ Indirect ref read is not const
|
|
|
+ scanning: _23 = ~uxBitsToClear_22;
|
|
|
+ scanning: _24 = _21 & _23;
|
|
|
+ scanning: MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _24;
|
|
|
+ Indirect ref write is not const/pure
|
|
|
+ scanning: xTaskResumeAll ();
|
|
|
+ scanning: _25 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
|
|
|
+ Indirect ref read is not const
|
|
|
+ scanning: return _25;
|
|
|
+
|
|
|
+
|
|
|
+ local analysis of xEventGroupClearBits.part.0
|
|
|
+ scanning: vPortEnterCritical ();
|
|
|
+ scanning: uxReturn_2 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
|
|
|
+ Indirect ref read is not const
|
|
|
+ scanning: _4 = ~uxBitsToClear_3(D);
|
|
|
+ scanning: _5 = uxReturn_2 & _4;
|
|
|
+ scanning: MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _5;
|
|
|
+ Indirect ref write is not const/pure
|
|
|
+ scanning: vPortExitCritical ();
|
|
|
+ scanning: return uxReturn_2;
|
|
|
+
|
|
|
+
|
|
|
+ local analysis of vEventGroupSetNumber
|
|
|
+ scanning: MEM[(struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber = uxEventGroupNumber_3(D);
|
|
|
+ Indirect ref write is not const/pure
|
|
|
+ scanning: return;
|
|
|
+
|
|
|
+
|
|
|
+ local analysis of uxEventGroupGetNumber
|
|
|
+ scanning: if (xEventGroup_2(D) == 0B)
|
|
|
+ scanning: xReturn_4 = MEM[(const struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber;
|
|
|
+ Indirect ref read is not const
|
|
|
+ scanning: return xReturn_1;
|
|
|
+Function is locally pure.
|
|
|
+
|
|
|
+
|
|
|
+ local analysis of xEventGroupSetBitsFromISR
|
|
|
+ scanning: xReturn_6 = xTimerPendFunctionCallFromISR (vEventGroupSetBitsCallback, xEventGroup_2(D), uxBitsToSet_3(D), pxHigherPriorityTaskWoken_4(D));
|
|
|
+ scanning: return xReturn_6;
|
|
|
+Function is locally const.
|
|
|
+
|
|
|
+
|
|
|
+ local analysis of prvTestWaitCondition
|
|
|
+ scanning: if (xWaitForAllBits_4(D) == 0)
|
|
|
+ scanning: _1 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
|
|
|
+ scanning: if (_1 != 0)
|
|
|
+ scanning: _2 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
|
|
|
+ scanning: if (_2 == uxBitsToWaitFor_6(D))
|
|
|
+ scanning: return xWaitConditionMet_3;
|
|
|
+Function is locally const.
|
|
|
+
|
|
|
+
|
|
|
+ local analysis of vEventGroupClearBitsCallback
|
|
|
+ scanning: xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D));
|
|
|
+ scanning: return;
|
|
|
+Function is locally const.
|
|
|
+
|
|
|
+
|
|
|
+ local analysis of vEventGroupSetBitsCallback
|
|
|
+ scanning: xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D));
|
|
|
+ scanning: return;
|
|
|
+Function is locally const.
|
|
|
+
|
|
|
+
|
|
|
+ local analysis of vEventGroupDelete
|
|
|
+ scanning: if (xEventGroup_5(D) == 0B)
|
|
|
+ scanning: __asm__ __volatile__(" mov %0, %1
|
|
|
+ msr basepri, %0
|
|
|
+ isb
|
|
|
+ dsb
|
|
|
+" : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
|
|
|
+ memory asm clobber is not const/pure
|
|
|
+ volatile is not const/pure
|
|
|
+ scanning: vTaskSuspendAll ();
|
|
|
+ scanning: _1 = MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd.pxNext;
|
|
|
+ Indirect ref read is not const
|
|
|
+ scanning: _2 = &MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd;
|
|
|
+ scanning: if (_1 == _2)
|
|
|
+ scanning: __asm__ __volatile__(" mov %0, %1
|
|
|
+ msr basepri, %0
|
|
|
+ isb
|
|
|
+ dsb
|
|
|
+" : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
|
|
|
+ memory asm clobber is not const/pure
|
|
|
+ volatile is not const/pure
|
|
|
+ scanning: vTaskRemoveFromUnorderedEventList (_1, 33554432);
|
|
|
+ scanning: _3 ={v} MEM[(const struct List_t *)xEventGroup_5(D) + 4B].uxNumberOfItems;
|
|
|
+ Volatile stmt is not const/pure
|
|
|
+ Indirect ref read is not const
|
|
|
+ scanning: if (_3 != 0)
|
|
|
+ scanning: vPortFree (xEventGroup_5(D));
|
|
|
+ scanning: xTaskResumeAll ();
|
|
|
+ scanning: return;
|
|
|
+Function is locally looping.
|
|
|
+Function can locally free.
|
|
|
+
|
|
|
+
|
|
|
+ local analysis of xEventGroupSetBits
|
|
|
+ scanning: if (xEventGroup_3(D) == 0B)
|
|
|
+ scanning: __asm__ __volatile__(" mov %0, %1
|
|
|
+ msr basepri, %0
|
|
|
+ isb
|
|
|
+ dsb
|
|
|
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
|
|
|
+ memory asm clobber is not const/pure
|
|
|
+ volatile is not const/pure
|
|
|
+ scanning: _1 = uxBitsToSet_4(D) & 4278190080;
|
|
|
+ scanning: if (_1 != 0)
|
|
|
+ scanning: __asm__ __volatile__(" mov %0, %1
|
|
|
+ msr basepri, %0
|
|
|
+ isb
|
|
|
+ dsb
|
|
|
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
|
|
|
+ memory asm clobber is not const/pure
|
|
|
+ volatile is not const/pure
|
|
|
+ scanning: _6 = xEventGroupSetBits.part.0 (xEventGroup_3(D), uxBitsToSet_4(D));
|
|
|
+ scanning: return _6;
|
|
|
+Function is locally looping.
|
|
|
+Function can locally free.
|
|
|
+
|
|
|
+
|
|
|
+ local analysis of xEventGroupGetBitsFromISR
|
|
|
+ scanning: __asm__ __volatile__(" mrs %0, basepri
|
|
|
+ mov %1, %2
|
|
|
+ msr basepri, %1
|
|
|
+ isb
|
|
|
+ dsb
|
|
|
+" : "=r" ulOriginalBASEPRI_4, "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
|
|
|
+ memory asm clobber is not const/pure
|
|
|
+ volatile is not const/pure
|
|
|
+ scanning: uxReturn_3 = MEM[(const struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
|
|
|
+ Indirect ref read is not const
|
|
|
+ scanning: __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_4 : "memory");
|
|
|
+ memory asm clobber is not const/pure
|
|
|
+ volatile is not const/pure
|
|
|
+ scanning: return uxReturn_3;
|
|
|
+Function is locally looping.
|
|
|
+Function can locally free.
|
|
|
+
|
|
|
+
|
|
|
+ local analysis of xEventGroupClearBitsFromISR
|
|
|
+ scanning: xReturn_5 = xTimerPendFunctionCallFromISR (vEventGroupClearBitsCallback, xEventGroup_2(D), uxBitsToClear_3(D), 0B);
|
|
|
+ scanning: return xReturn_5;
|
|
|
+Function is locally const.
|
|
|
+
|
|
|
+
|
|
|
+ local analysis of xEventGroupClearBits
|
|
|
+ scanning: if (xEventGroup_3(D) == 0B)
|
|
|
+ scanning: __asm__ __volatile__(" mov %0, %1
|
|
|
+ msr basepri, %0
|
|
|
+ isb
|
|
|
+ dsb
|
|
|
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
|
|
|
+ memory asm clobber is not const/pure
|
|
|
+ volatile is not const/pure
|
|
|
+ scanning: _1 = uxBitsToClear_5(D) & 4278190080;
|
|
|
+ scanning: if (_1 != 0)
|
|
|
+ scanning: __asm__ __volatile__(" mov %0, %1
|
|
|
+ msr basepri, %0
|
|
|
+ isb
|
|
|
+ dsb
|
|
|
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
|
|
|
+ memory asm clobber is not const/pure
|
|
|
+ volatile is not const/pure
|
|
|
+ scanning: _2 = xEventGroupClearBits.part.0 (xEventGroup_3(D), uxBitsToClear_5(D));
|
|
|
+ scanning: return _2;
|
|
|
+Function is locally looping.
|
|
|
+Function can locally free.
|
|
|
+
|
|
|
+
|
|
|
+ local analysis of xEventGroupWaitBits
|
|
|
+ scanning: if (xEventGroup_22(D) == 0B)
|
|
|
+ scanning: __asm__ __volatile__(" mov %0, %1
|
|
|
+ msr basepri, %0
|
|
|
+ isb
|
|
|
+ dsb
|
|
|
+" : "=r" ulNewBASEPRI_45 : "i" 16 : "memory");
|
|
|
+ memory asm clobber is not const/pure
|
|
|
+ volatile is not const/pure
|
|
|
+ scanning: _1 = uxBitsToWaitFor_23(D) & 4278190080;
|
|
|
+ scanning: if (_1 != 0)
|
|
|
+ scanning: __asm__ __volatile__(" mov %0, %1
|
|
|
+ msr basepri, %0
|
|
|
+ isb
|
|
|
+ dsb
|
|
|
+" : "=r" ulNewBASEPRI_30 : "i" 16 : "memory");
|
|
|
+ memory asm clobber is not const/pure
|
|
|
+ volatile is not const/pure
|
|
|
+ scanning: if (uxBitsToWaitFor_23(D) == 0)
|
|
|
+ scanning: __asm__ __volatile__(" mov %0, %1
|
|
|
+ msr basepri, %0
|
|
|
+ isb
|
|
|
+ dsb
|
|
|
+" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
|
|
|
+ memory asm clobber is not const/pure
|
|
|
+ volatile is not const/pure
|
|
|
+ scanning: _2 = xTaskGetSchedulerState ();
|
|
|
+ scanning: if (_2 != 0)
|
|
|
+ scanning: if (xTicksToWait_26(D) == 0)
|
|
|
+ scanning: __asm__ __volatile__(" mov %0, %1
|
|
|
+ msr basepri, %0
|
|
|
+ isb
|
|
|
+ dsb
|
|
|
+" : "=r" ulNewBASEPRI_50 : "i" 16 : "memory");
|
|
|
+ memory asm clobber is not const/pure
|
|
|
+ volatile is not const/pure
|
|
|
+ scanning: vTaskSuspendAll ();
|
|
|
+ scanning: uxCurrentEventBits_28 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
|
|
|
+ Indirect ref read is not const
|
|
|
+ scanning: xWaitConditionMet_31 = prvTestWaitCondition (uxCurrentEventBits_28, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
|
|
|
+ scanning: if (xWaitConditionMet_31 != 0)
|
|
|
+ scanning: if (xClearOnExit_32(D) != 0)
|
|
|
+ scanning: _3 = ~uxBitsToWaitFor_23(D);
|
|
|
+ scanning: _4 = _3 & uxCurrentEventBits_28;
|
|
|
+ scanning: MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _4;
|
|
|
+ Indirect ref write is not const/pure
|
|
|
+ scanning: if (xTicksToWait_26(D) == 0)
|
|
|
+ scanning: if (xClearOnExit_32(D) != 0)
|
|
|
+ scanning: if (xWaitForAllBits_29(D) != 0)
|
|
|
+ scanning: uxControlBits_33 = uxControlBits_15 | 67108864;
|
|
|
+ scanning: _5 = &MEM[(struct EventGroup_t *)xEventGroup_22(D)].xTasksWaitingForBits;
|
|
|
+ scanning: _6 = uxControlBits_16 | uxBitsToWaitFor_23(D);
|
|
|
+ scanning: vTaskPlaceOnUnorderedEventList (_5, _6, xTicksToWait_26(D));
|
|
|
+ scanning: xAlreadyYielded_37 = xTaskResumeAll ();
|
|
|
+ scanning: if (xTicksToWait_11 != 0)
|
|
|
+ scanning: if (xAlreadyYielded_37 == 0)
|
|
|
+ scanning: MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
|
|
|
+ Volatile stmt is not const/pure
|
|
|
+ Volatile indirect ref is not const/pure
|
|
|
+ scanning: __asm__ __volatile__("dsb" : : : "memory");
|
|
|
+ memory asm clobber is not const/pure
|
|
|
+ volatile is not const/pure
|
|
|
+ scanning: __asm__ __volatile__("isb");
|
|
|
+ memory asm clobber is not const/pure
|
|
|
+ volatile is not const/pure
|
|
|
+ scanning: uxReturn_42 = uxTaskResetEventItemValue ();
|
|
|
+ scanning: _7 = uxReturn_42 & 33554432;
|
|
|
+ scanning: if (_7 == 0)
|
|
|
+ scanning: vPortEnterCritical ();
|
|
|
+ scanning: uxReturn_44 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
|
|
|
+ Indirect ref read is not const
|
|
|
+ scanning: _8 = prvTestWaitCondition (uxReturn_44, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
|
|
|
+ scanning: if (_8 != 0)
|
|
|
+ scanning: if (xClearOnExit_32(D) != 0)
|
|
|
+ scanning: _9 = ~uxBitsToWaitFor_23(D);
|
|
|
+ scanning: _10 = _9 & uxReturn_44;
|
|
|
+ scanning: MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _10;
|
|
|
+ Indirect ref write is not const/pure
|
|
|
+ scanning: vPortExitCritical ();
|
|
|
+ scanning: uxReturn_48 = uxReturn_13 & 16777215;
|
|
|
+ scanning: return uxReturn_14;
|
|
|
+Function is locally looping.
|
|
|
+Function can locally free.
|
|
|
+
|
|
|
+
|
|
|
+ local analysis of xEventGroupSync
|
|
|
+ scanning: _1 = uxBitsToWaitFor_24(D) & 4278190080;
|
|
|
+ scanning: if (_1 != 0)
|
|
|
+ scanning: __asm__ __volatile__(" mov %0, %1
|
|
|
+ msr basepri, %0
|
|
|
+ isb
|
|
|
+ dsb
|
|
|
+" : "=r" ulNewBASEPRI_47 : "i" 16 : "memory");
|
|
|
+ memory asm clobber is not const/pure
|
|
|
+ volatile is not const/pure
|
|
|
+ scanning: if (uxBitsToWaitFor_24(D) == 0)
|
|
|
+ scanning: __asm__ __volatile__(" mov %0, %1
|
|
|
+ msr basepri, %0
|
|
|
+ isb
|
|
|
+ dsb
|
|
|
+" : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
|
|
|
+ memory asm clobber is not const/pure
|
|
|
+ volatile is not const/pure
|
|
|
+ scanning: _2 = xTaskGetSchedulerState ();
|
|
|
+ scanning: if (_2 != 0)
|
|
|
+ scanning: if (xTicksToWait_27(D) == 0)
|
|
|
+ scanning: __asm__ __volatile__(" mov %0, %1
|
|
|
+ msr basepri, %0
|
|
|
+ isb
|
|
|
+ dsb
|
|
|
+" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
|
|
|
+ memory asm clobber is not const/pure
|
|
|
+ volatile is not const/pure
|
|
|
+ scanning: vTaskSuspendAll ();
|
|
|
+ scanning: uxOriginalBitValue_29 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
|
|
|
+ Indirect ref read is not const
|
|
|
+ scanning: xEventGroupSetBits (xEventGroup_23(D), uxBitsToSet_30(D));
|
|
|
+ scanning: _3 = uxOriginalBitValue_29 | uxBitsToSet_30(D);
|
|
|
+ scanning: _4 = _3 & uxBitsToWaitFor_24(D);
|
|
|
+ scanning: if (_4 == uxBitsToWaitFor_24(D))
|
|
|
+ scanning: _5 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
|
|
|
+ Indirect ref read is not const
|
|
|
+ scanning: _6 = ~uxBitsToWaitFor_24(D);
|
|
|
+ scanning: _7 = _5 & _6;
|
|
|
+ scanning: MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _7;
|
|
|
+ Indirect ref write is not const/pure
|
|
|
+ scanning: if (xTicksToWait_27(D) != 0)
|
|
|
+ scanning: _8 = &MEM[(struct EventGroup_t *)xEventGroup_23(D)].xTasksWaitingForBits;
|
|
|
+ scanning: _9 = uxBitsToWaitFor_24(D) | 83886080;
|
|
|
+ scanning: vTaskPlaceOnUnorderedEventList (_8, _9, xTicksToWait_27(D));
|
|
|
+ scanning: uxReturn_32 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
|
|
|
+ Indirect ref read is not const
|
|
|
+ scanning: xAlreadyYielded_36 = xTaskResumeAll ();
|
|
|
+ scanning: if (xTicksToWait_14 != 0)
|
|
|
+ scanning: if (xAlreadyYielded_36 == 0)
|
|
|
+ scanning: MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
|
|
|
+ Volatile stmt is not const/pure
|
|
|
+ Volatile indirect ref is not const/pure
|
|
|
+ scanning: __asm__ __volatile__("dsb" : : : "memory");
|
|
|
+ memory asm clobber is not const/pure
|
|
|
+ volatile is not const/pure
|
|
|
+ scanning: __asm__ __volatile__("isb");
|
|
|
+ memory asm clobber is not const/pure
|
|
|
+ volatile is not const/pure
|
|
|
+ scanning: uxReturn_41 = uxTaskResetEventItemValue ();
|
|
|
+ scanning: _10 = uxReturn_41 & 33554432;
|
|
|
+ scanning: if (_10 == 0)
|
|
|
+ scanning: vPortEnterCritical ();
|
|
|
+ scanning: uxReturn_43 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
|
|
|
+ Indirect ref read is not const
|
|
|
+ scanning: _11 = uxBitsToWaitFor_24(D) & uxReturn_43;
|
|
|
+ scanning: if (_11 == uxBitsToWaitFor_24(D))
|
|
|
+ scanning: _12 = ~uxBitsToWaitFor_24(D);
|
|
|
+ scanning: _13 = _12 & uxReturn_43;
|
|
|
+ scanning: MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _13;
|
|
|
+ Indirect ref write is not const/pure
|
|
|
+ scanning: vPortExitCritical ();
|
|
|
+ scanning: uxReturn_46 = uxReturn_16 & 16777215;
|
|
|
+ scanning: return uxReturn_17;
|
|
|
+Function is locally looping.
|
|
|
+Function can locally free.
|
|
|
+
|
|
|
+
|
|
|
+ local analysis of xEventGroupCreate
|
|
|
+ scanning: pxEventBits_5 = pvPortMalloc (28);
|
|
|
+ scanning: if (pxEventBits_5 != 0B)
|
|
|
+ scanning: pxEventBits_5->uxEventBits = 0;
|
|
|
+ Indirect ref write is not const/pure
|
|
|
+ scanning: _1 = &pxEventBits_5->xTasksWaitingForBits;
|
|
|
+ scanning: vListInitialise (_1);
|
|
|
+ scanning: return pxEventBits_5;
|
|
|
+callgraph:
|
|
|
+
|
|
|
+prvTestWaitCondition/44 (prvTestWaitCondition) @06bc0460
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility:
|
|
|
+ next sharing asm name: 14
|
|
|
+ Aux: @06ba4778
|
|
|
+ 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 optimize_size
|
|
|
+ Called by: xEventGroupWaitBits/6 (inlined) (23563 (estimated locally),0.08 per call)
|
|
|
+ Calls:
|
|
|
+xEventGroupSetBits.part.0/39 (xEventGroupSetBits.part.0) @06bc01c0
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: prevailing_def_ironly artificial
|
|
|
+ Aux: @06ba48f8
|
|
|
+ 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) @06bbbb60
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: prevailing_def_ironly artificial
|
|
|
+ Aux: @06ba49d8
|
|
|
+ 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) @06ca4c40
|
|
|
+ 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) @06ca4a80
|
|
|
+ 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) @06ca4540
|
|
|
+ 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) @06c88e00
|
|
|
+ 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) @06c88d20
|
|
|
+ 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) @06c88c40
|
|
|
+ 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) @06c88b60
|
|
|
+ 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) @06c88a80
|
|
|
+ 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) @06c889a0
|
|
|
+ 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) @06c888c0
|
|
|
+ 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) @06c88540
|
|
|
+ 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) @06c88460
|
|
|
+ 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) @06c88000
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba4918
|
|
|
+ References:
|
|
|
+ Referring:
|
|
|
+ Availability: available
|
|
|
+ Function flags: count:1073741824 (estimated locally) body optimize_size
|
|
|
+ Called by:
|
|
|
+ Calls:
|
|
|
+uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @06c7ba80
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba47b8
|
|
|
+ References:
|
|
|
+ Referring:
|
|
|
+ Availability: available
|
|
|
+ Function flags: count:1073741824 (estimated locally) body optimize_size
|
|
|
+ Called by:
|
|
|
+ Calls:
|
|
|
+xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @06c7b460
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba4ad8
|
|
|
+ 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) @06c7bee0
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: prevailing_def_ironly
|
|
|
+ previous sharing asm name: 44
|
|
|
+ Aux: @06ba4818
|
|
|
+ References:
|
|
|
+ Referring:
|
|
|
+ Function prvTestWaitCondition/14 is inline copy in xEventGroupWaitBits/6
|
|
|
+ Availability: local
|
|
|
+ Function flags: count:3888 (estimated locally) body local optimize_size
|
|
|
+ Called by: xEventGroupWaitBits/6 (inlined) (3888 (estimated locally),0.01 per call)
|
|
|
+ Calls:
|
|
|
+vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @06c7bc40
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Address is taken.
|
|
|
+ Aux: @06ba4b18
|
|
|
+ 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) @06c7b9a0
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Address is taken.
|
|
|
+ Aux: @06ba4858
|
|
|
+ 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) @06c7b700
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba49f8
|
|
|
+ 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) @06c7b380
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba4878
|
|
|
+ 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) @06c36c40
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba4758
|
|
|
+ References:
|
|
|
+ Referring:
|
|
|
+ Availability: available
|
|
|
+ Function flags: count:1073741824 (estimated locally) body optimize_size
|
|
|
+ Called by:
|
|
|
+ Calls:
|
|
|
+xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @06c362a0
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba4578
|
|
|
+ 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) @06c36ee0
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba4638
|
|
|
+ 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) @06c36b60
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba4398
|
|
|
+ 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) @06c36620
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba43d8
|
|
|
+ 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) @06c361c0
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba44f8
|
|
|
+ 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)
|
|
|
+
|
|
|
+
|
|
|
+ ordered call graph: reduced for nothrow
|
|
|
+prvTestWaitCondition/44 (prvTestWaitCondition) @06bc0460
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility:
|
|
|
+ next sharing asm name: 14
|
|
|
+ Aux: @06ba4778
|
|
|
+ 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 optimize_size
|
|
|
+ Called by: xEventGroupWaitBits/6 (inlined) (23563 (estimated locally),0.08 per call)
|
|
|
+ Calls:
|
|
|
+xEventGroupSetBits.part.0/39 (xEventGroupSetBits.part.0) @06bc01c0
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: prevailing_def_ironly artificial
|
|
|
+ Aux: @06ba48f8
|
|
|
+ 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) @06bbbb60
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: prevailing_def_ironly artificial
|
|
|
+ Aux: @06ba49d8
|
|
|
+ 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)
|
|
|
+vEventGroupSetNumber/17 (vEventGroupSetNumber) @06c88000
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba4918
|
|
|
+ References:
|
|
|
+ Referring:
|
|
|
+ Availability: available
|
|
|
+ Function flags: count:1073741824 (estimated locally) body optimize_size
|
|
|
+ Called by:
|
|
|
+ Calls:
|
|
|
+uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @06c7ba80
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba47b8
|
|
|
+ References:
|
|
|
+ Referring:
|
|
|
+ Availability: available
|
|
|
+ Function flags: count:1073741824 (estimated locally) body optimize_size
|
|
|
+ Called by:
|
|
|
+ Calls:
|
|
|
+xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @06c7b460
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba4ad8
|
|
|
+ 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) @06c7bee0
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: prevailing_def_ironly
|
|
|
+ previous sharing asm name: 44
|
|
|
+ Aux: @06ba4818
|
|
|
+ References:
|
|
|
+ Referring:
|
|
|
+ Function prvTestWaitCondition/14 is inline copy in xEventGroupWaitBits/6
|
|
|
+ Availability: local
|
|
|
+ Function flags: count:3888 (estimated locally) body local optimize_size
|
|
|
+ Called by: xEventGroupWaitBits/6 (inlined) (3888 (estimated locally),0.01 per call)
|
|
|
+ Calls:
|
|
|
+vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @06c7bc40
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Address is taken.
|
|
|
+ Aux: @06ba4b18
|
|
|
+ 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) @06c7b9a0
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Address is taken.
|
|
|
+ Aux: @06ba4858
|
|
|
+ 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) @06c7b700
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba49f8
|
|
|
+ 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) @06c7b380
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba4878
|
|
|
+ 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) @06c36c40
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba4758
|
|
|
+ References:
|
|
|
+ Referring:
|
|
|
+ Availability: available
|
|
|
+ Function flags: count:1073741824 (estimated locally) body optimize_size
|
|
|
+ Called by:
|
|
|
+ Calls:
|
|
|
+xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @06c362a0
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba4578
|
|
|
+ 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) @06c36ee0
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba4638
|
|
|
+ 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) @06c36b60
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba4398
|
|
|
+ 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) @06c36620
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba43d8
|
|
|
+ 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) @06c361c0
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba44f8
|
|
|
+ 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)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+MALLOC LATTICE Initial:
|
|
|
+prvTestWaitCondition: malloc_bottom
|
|
|
+xEventGroupSetBits.part.0: malloc_bottom
|
|
|
+xEventGroupClearBits.part.0: malloc_bottom
|
|
|
+vEventGroupSetNumber: malloc_bottom
|
|
|
+uxEventGroupGetNumber: malloc_bottom
|
|
|
+xEventGroupSetBitsFromISR: malloc_bottom
|
|
|
+prvTestWaitCondition: malloc_bottom
|
|
|
+vEventGroupClearBitsCallback: malloc_bottom
|
|
|
+vEventGroupSetBitsCallback: malloc_bottom
|
|
|
+vEventGroupDelete: malloc_bottom
|
|
|
+xEventGroupSetBits: malloc_bottom
|
|
|
+xEventGroupGetBitsFromISR: malloc_bottom
|
|
|
+xEventGroupClearBitsFromISR: malloc_bottom
|
|
|
+xEventGroupClearBits: malloc_bottom
|
|
|
+xEventGroupWaitBits: malloc_bottom
|
|
|
+xEventGroupSync: malloc_bottom
|
|
|
+xEventGroupCreate: malloc_bottom
|
|
|
+
|
|
|
+
|
|
|
+MALLOC LATTICE after propagation:
|
|
|
+prvTestWaitCondition: malloc_bottom
|
|
|
+xEventGroupSetBits.part.0: malloc_bottom
|
|
|
+xEventGroupClearBits.part.0: malloc_bottom
|
|
|
+vEventGroupSetNumber: malloc_bottom
|
|
|
+uxEventGroupGetNumber: malloc_bottom
|
|
|
+xEventGroupSetBitsFromISR: malloc_bottom
|
|
|
+prvTestWaitCondition: malloc_bottom
|
|
|
+vEventGroupClearBitsCallback: malloc_bottom
|
|
|
+vEventGroupSetBitsCallback: malloc_bottom
|
|
|
+vEventGroupDelete: malloc_bottom
|
|
|
+xEventGroupSetBits: malloc_bottom
|
|
|
+xEventGroupGetBitsFromISR: malloc_bottom
|
|
|
+xEventGroupClearBitsFromISR: malloc_bottom
|
|
|
+xEventGroupClearBits: malloc_bottom
|
|
|
+xEventGroupWaitBits: malloc_bottom
|
|
|
+xEventGroupSync: malloc_bottom
|
|
|
+xEventGroupCreate: malloc_bottom
|
|
|
+callgraph:
|
|
|
+
|
|
|
+prvTestWaitCondition/44 (prvTestWaitCondition) @06bc0460
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility:
|
|
|
+ next sharing asm name: 14
|
|
|
+ Aux: @06ba4758
|
|
|
+ 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 optimize_size
|
|
|
+ Called by: xEventGroupWaitBits/6 (inlined) (23563 (estimated locally),0.08 per call)
|
|
|
+ Calls:
|
|
|
+xEventGroupSetBits.part.0/39 (xEventGroupSetBits.part.0) @06bc01c0
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: prevailing_def_ironly artificial
|
|
|
+ Aux: @06ba4638
|
|
|
+ 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) @06bbbb60
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: prevailing_def_ironly artificial
|
|
|
+ Aux: @06ba4398
|
|
|
+ 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) @06ca4c40
|
|
|
+ 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) @06ca4a80
|
|
|
+ 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) @06ca4540
|
|
|
+ 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) @06c88e00
|
|
|
+ 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) @06c88d20
|
|
|
+ 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) @06c88c40
|
|
|
+ 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) @06c88b60
|
|
|
+ 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) @06c88a80
|
|
|
+ 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) @06c889a0
|
|
|
+ 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) @06c888c0
|
|
|
+ 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) @06c88540
|
|
|
+ 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) @06c88460
|
|
|
+ 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) @06c88000
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba43d8
|
|
|
+ References:
|
|
|
+ Referring:
|
|
|
+ Availability: available
|
|
|
+ Function flags: count:1073741824 (estimated locally) body optimize_size
|
|
|
+ Called by:
|
|
|
+ Calls:
|
|
|
+uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @06c7ba80
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba4438
|
|
|
+ References:
|
|
|
+ Referring:
|
|
|
+ Availability: available
|
|
|
+ Function flags: count:1073741824 (estimated locally) body optimize_size
|
|
|
+ Called by:
|
|
|
+ Calls:
|
|
|
+xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @06c7b460
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba44f8
|
|
|
+ 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) @06c7bee0
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: prevailing_def_ironly
|
|
|
+ previous sharing asm name: 44
|
|
|
+ Aux: @06ba4458
|
|
|
+ References:
|
|
|
+ Referring:
|
|
|
+ Function prvTestWaitCondition/14 is inline copy in xEventGroupWaitBits/6
|
|
|
+ Availability: local
|
|
|
+ Function flags: count:3888 (estimated locally) body local optimize_size
|
|
|
+ Called by: xEventGroupWaitBits/6 (inlined) (3888 (estimated locally),0.01 per call)
|
|
|
+ Calls:
|
|
|
+vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @06c7bc40
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Address is taken.
|
|
|
+ Aux: @06ba4578
|
|
|
+ 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) @06c7b9a0
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Address is taken.
|
|
|
+ Aux: @06ba48f8
|
|
|
+ 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) @06c7b700
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba4ad8
|
|
|
+ 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) @06c7b380
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba47b8
|
|
|
+ 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) @06c36c40
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba49d8
|
|
|
+ References:
|
|
|
+ Referring:
|
|
|
+ Availability: available
|
|
|
+ Function flags: count:1073741824 (estimated locally) body optimize_size
|
|
|
+ Called by:
|
|
|
+ Calls:
|
|
|
+xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @06c362a0
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba4b18
|
|
|
+ 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) @06c36ee0
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba4818
|
|
|
+ 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) @06c36b60
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba4778
|
|
|
+ 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) @06c36620
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba4858
|
|
|
+ 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) @06c361c0
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba4918
|
|
|
+ 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)
|
|
|
+
|
|
|
+
|
|
|
+ ordered call graph: reduced
|
|
|
+vEventGroupSetNumber/17 (vEventGroupSetNumber) @06c88000
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba43d8
|
|
|
+ References:
|
|
|
+ Referring:
|
|
|
+ Availability: available
|
|
|
+ Function flags: count:1073741824 (estimated locally) body optimize_size
|
|
|
+ Called by:
|
|
|
+ Calls:
|
|
|
+uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @06c7ba80
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba4438
|
|
|
+ References:
|
|
|
+ Referring:
|
|
|
+ Availability: available
|
|
|
+ Function flags: count:1073741824 (estimated locally) body optimize_size
|
|
|
+ Called by:
|
|
|
+ Calls:
|
|
|
+xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @06c7b460
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba44f8
|
|
|
+ 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) @06c7bc40
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Address is taken.
|
|
|
+ Aux: @06ba4578
|
|
|
+ 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) @06c7b9a0
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Address is taken.
|
|
|
+ Aux: @06ba48f8
|
|
|
+ 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) @06c7b700
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba4ad8
|
|
|
+ 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) @06c36c40
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba49d8
|
|
|
+ References:
|
|
|
+ Referring:
|
|
|
+ Availability: available
|
|
|
+ Function flags: count:1073741824 (estimated locally) body optimize_size
|
|
|
+ Called by:
|
|
|
+ Calls:
|
|
|
+xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @06c362a0
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba4b18
|
|
|
+ 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) @06c36ee0
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba4818
|
|
|
+ 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) @06bbbb60
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: prevailing_def_ironly artificial
|
|
|
+ Aux: @06ba4398
|
|
|
+ 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) @06c36b60
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba4778
|
|
|
+ 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) @06bc0460
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility:
|
|
|
+ next sharing asm name: 14
|
|
|
+ Aux: @06ba4758
|
|
|
+ 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 optimize_size
|
|
|
+ Called by: xEventGroupWaitBits/6 (inlined) (23563 (estimated locally),0.08 per call)
|
|
|
+ Calls:
|
|
|
+prvTestWaitCondition/14 (prvTestWaitCondition) @06c7bee0
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: prevailing_def_ironly
|
|
|
+ previous sharing asm name: 44
|
|
|
+ Aux: @06ba4458
|
|
|
+ References:
|
|
|
+ Referring:
|
|
|
+ Function prvTestWaitCondition/14 is inline copy in xEventGroupWaitBits/6
|
|
|
+ Availability: local
|
|
|
+ Function flags: count:3888 (estimated locally) body local optimize_size
|
|
|
+ Called by: xEventGroupWaitBits/6 (inlined) (3888 (estimated locally),0.01 per call)
|
|
|
+ Calls:
|
|
|
+xEventGroupSync/5 (xEventGroupSync) @06c36620
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba4858
|
|
|
+ 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) @06c7b380
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba47b8
|
|
|
+ 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) @06bc01c0
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: prevailing_def_ironly artificial
|
|
|
+ Aux: @06ba4638
|
|
|
+ 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) @06c361c0
|
|
|
+ Type: function definition analyzed
|
|
|
+ Visibility: externally_visible public
|
|
|
+ Aux: @06ba4918
|
|
|
+ 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 found not to call free: prvTestWaitCondition
|
|
|
+Function found not to call free: prvTestWaitCondition
|
|
|
+Function found not to call free: uxEventGroupGetNumber
|
|
|
+Function found not to call free: vEventGroupSetNumber
|
|
|
+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;
|
|
|
+
|
|
|
+ <bb 12> [local count: 118111600]:
|
|
|
+
|
|
|
+ <bb 2> [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 <bb 10>; [100.00%]
|
|
|
+
|
|
|
+ <bb 3> [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 <bb 4>; [50.00%]
|
|
|
+ else
|
|
|
+ goto <bb 5>; [50.00%]
|
|
|
+
|
|
|
+ <bb 4> [local count: 477815111]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ _12 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
|
|
|
+ _13 = uxBitsWaitedFor_10 & _12;
|
|
|
+ if (_13 != 0)
|
|
|
+ goto <bb 6>; [50.00%]
|
|
|
+ else
|
|
|
+ goto <bb 9>; [50.00%]
|
|
|
+
|
|
|
+ <bb 5> [local count: 477815111]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ _14 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
|
|
|
+ _15 = uxBitsWaitedFor_10 & _14;
|
|
|
+ if (uxBitsWaitedFor_10 == _15)
|
|
|
+ goto <bb 6>; [34.00%]
|
|
|
+ else
|
|
|
+ goto <bb 9>; [66.00%]
|
|
|
+
|
|
|
+ <bb 6> [local count: 401364694]:
|
|
|
+ # DEBUG xMatchFound => NULL
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ _16 = uxBitsWaitedFor_9 & 16777216;
|
|
|
+ if (_16 != 0)
|
|
|
+ goto <bb 7>; [50.00%]
|
|
|
+ else
|
|
|
+ goto <bb 8>; [50.00%]
|
|
|
+
|
|
|
+ <bb 7> [local count: 200682347]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ uxBitsToClear_18 = uxBitsWaitedFor_10 | uxBitsToClear_17;
|
|
|
+ # DEBUG uxBitsToClear => uxBitsToClear_18
|
|
|
+
|
|
|
+ <bb 8> [local count: 401364694]:
|
|
|
+ # uxBitsToClear_26 = PHI <uxBitsToClear_17(6), uxBitsToClear_18(7)>
|
|
|
+ # 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);
|
|
|
+
|
|
|
+ <bb 9> [local count: 955630225]:
|
|
|
+ # pxListItem_27 = PHI <pxNext_8(4), pxNext_8(5), pxNext_8(8)>
|
|
|
+ # uxBitsToClear_28 = PHI <uxBitsToClear_17(4), uxBitsToClear_17(5), uxBitsToClear_26(8)>
|
|
|
+
|
|
|
+ <bb 10> [local count: 1073741824]:
|
|
|
+ # pxListItem_7 = PHI <pxListItem_3(2), pxListItem_27(9)>
|
|
|
+ # 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 <bb 3>; [89.00%]
|
|
|
+ else
|
|
|
+ goto <bb 11>; [11.00%]
|
|
|
+
|
|
|
+ <bb 11> [local count: 118111601]:
|
|
|
+ # uxBitsToClear_22 = PHI <uxBitsToClear_17(10)>
|
|
|
+ # 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;
|
|
|
+
|
|
|
+ <bb 3> [local count: 1073741824]:
|
|
|
+
|
|
|
+ <bb 2> [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)
|
|
|
+{
|
|
|
+ <bb 2> [local count: 1073741824]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ MEM[(struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber = uxEventGroupNumber_3(D);
|
|
|
+ return;
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+uxEventGroupGetNumber (void * xEventGroup)
|
|
|
+{
|
|
|
+ UBaseType_t xReturn;
|
|
|
+
|
|
|
+ <bb 2> [local count: 1073741824]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG pxEventBits => xEventGroup_2(D)
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ if (xEventGroup_2(D) == 0B)
|
|
|
+ goto <bb 4>; [30.00%]
|
|
|
+ else
|
|
|
+ goto <bb 3>; [70.00%]
|
|
|
+
|
|
|
+ <bb 3> [local count: 751619278]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ xReturn_4 = MEM[(const struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber;
|
|
|
+ # DEBUG xReturn => xReturn_4
|
|
|
+
|
|
|
+ <bb 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;
|
|
|
+
|
|
|
+ <bb 2> [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;
|
|
|
+
|
|
|
+ <bb 2> [local count: 1073741824]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG xWaitConditionMet => 0
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ if (xWaitForAllBits_4(D) == 0)
|
|
|
+ goto <bb 3>; [50.00%]
|
|
|
+ else
|
|
|
+ goto <bb 5>; [50.00%]
|
|
|
+
|
|
|
+ <bb 3> [local count: 536870913]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ _1 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
|
|
|
+ if (_1 != 0)
|
|
|
+ goto <bb 4>; [50.00%]
|
|
|
+ else
|
|
|
+ goto <bb 7>; [50.00%]
|
|
|
+
|
|
|
+ <bb 4> [local count: 268435456]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG xWaitConditionMet => 1
|
|
|
+ goto <bb 7>; [100.00%]
|
|
|
+
|
|
|
+ <bb 5> [local count: 536870913]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ _2 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
|
|
|
+ if (_2 == uxBitsToWaitFor_6(D))
|
|
|
+ goto <bb 6>; [34.00%]
|
|
|
+ else
|
|
|
+ goto <bb 7>; [66.00%]
|
|
|
+
|
|
|
+ <bb 6> [local count: 182536110]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG xWaitConditionMet => 1
|
|
|
+
|
|
|
+ <bb 7> [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)
|
|
|
+{
|
|
|
+ <bb 2> [local count: 1073741824]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D));
|
|
|
+ return;
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+vEventGroupSetBitsCallback (void * pvEventGroup, const uint32_t ulBitsToSet)
|
|
|
+{
|
|
|
+ <bb 2> [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;
|
|
|
+
|
|
|
+ <bb 2> [local count: 230763]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ if (xEventGroup_5(D) == 0B)
|
|
|
+ goto <bb 3>; [46.53%]
|
|
|
+ else
|
|
|
+ goto <bb 5>; [53.47%]
|
|
|
+
|
|
|
+ <bb 3> [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
|
|
|
+
|
|
|
+ <bb 4> [local count: 1073741824]:
|
|
|
+ # DEBUG ulNewBASEPRI => NULL
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+
|
|
|
+ <bb 12> [local count: 1073741824]:
|
|
|
+ goto <bb 4>; [100.00%]
|
|
|
+
|
|
|
+ <bb 5> [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 <bb 10>; [100.00%]
|
|
|
+
|
|
|
+ <bb 6> [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 <bb 7>; [5.50%]
|
|
|
+ else
|
|
|
+ goto <bb 9>; [94.50%]
|
|
|
+
|
|
|
+ <bb 7> [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
|
|
|
+
|
|
|
+ <bb 8> [local count: 599500022]:
|
|
|
+ # DEBUG ulNewBASEPRI => NULL
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+
|
|
|
+ <bb 13> [local count: 599500022]:
|
|
|
+ goto <bb 8>; [100.00%]
|
|
|
+
|
|
|
+ <bb 9> [local count: 1030048]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ vTaskRemoveFromUnorderedEventList (_1, 33554432);
|
|
|
+
|
|
|
+ <bb 10> [local count: 1153437]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ _3 ={v} MEM[(const struct List_t *)xEventGroup_5(D) + 4B].uxNumberOfItems;
|
|
|
+ if (_3 != 0)
|
|
|
+ goto <bb 6>; [94.50%]
|
|
|
+ else
|
|
|
+ goto <bb 11>; [5.50%]
|
|
|
+
|
|
|
+ <bb 11> [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;
|
|
|
+
|
|
|
+ <bb 2> [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 <bb 3>; [30.00%]
|
|
|
+ else
|
|
|
+ goto <bb 5>; [70.00%]
|
|
|
+
|
|
|
+ <bb 3> [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
|
|
|
+
|
|
|
+ <bb 4> [local count: 686828460]:
|
|
|
+ # DEBUG ulNewBASEPRI => NULL
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+
|
|
|
+ <bb 9> [local count: 686828460]:
|
|
|
+ goto <bb 4>; [100.00%]
|
|
|
+
|
|
|
+ <bb 5> [local count: 160260]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ _1 = uxBitsToSet_4(D) & 4278190080;
|
|
|
+ if (_1 != 0)
|
|
|
+ goto <bb 6>; [67.00%]
|
|
|
+ else
|
|
|
+ goto <bb 8>; [33.00%]
|
|
|
+
|
|
|
+ <bb 6> [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
|
|
|
+
|
|
|
+ <bb 7> [local count: 1073741824]:
|
|
|
+ # DEBUG ulNewBASEPRI => NULL
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+
|
|
|
+ <bb 10> [local count: 1073741824]:
|
|
|
+ goto <bb 7>; [100.00%]
|
|
|
+
|
|
|
+ <bb 8> [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;
|
|
|
+
|
|
|
+ <bb 2> [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;
|
|
|
+
|
|
|
+ <bb 2> [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;
|
|
|
+
|
|
|
+ <bb 2> [local count: 228942]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG pxEventBits => xEventGroup_3(D)
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ if (xEventGroup_3(D) == 0B)
|
|
|
+ goto <bb 3>; [30.00%]
|
|
|
+ else
|
|
|
+ goto <bb 5>; [70.00%]
|
|
|
+
|
|
|
+ <bb 3> [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
|
|
|
+
|
|
|
+ <bb 4> [local count: 686828460]:
|
|
|
+ # DEBUG ulNewBASEPRI => NULL
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+
|
|
|
+ <bb 9> [local count: 686828460]:
|
|
|
+ goto <bb 4>; [100.00%]
|
|
|
+
|
|
|
+ <bb 5> [local count: 160260]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ _1 = uxBitsToClear_5(D) & 4278190080;
|
|
|
+ if (_1 != 0)
|
|
|
+ goto <bb 6>; [67.00%]
|
|
|
+ else
|
|
|
+ goto <bb 8>; [33.00%]
|
|
|
+
|
|
|
+ <bb 6> [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
|
|
|
+
|
|
|
+ <bb 7> [local count: 1073741824]:
|
|
|
+ # DEBUG ulNewBASEPRI => NULL
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+
|
|
|
+ <bb 10> [local count: 1073741824]:
|
|
|
+ goto <bb 7>; [100.00%]
|
|
|
+
|
|
|
+ <bb 8> [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;
|
|
|
+
|
|
|
+ <bb 2> [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 <bb 3>; [30.00%]
|
|
|
+ else
|
|
|
+ goto <bb 5>; [70.00%]
|
|
|
+
|
|
|
+ <bb 3> [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
|
|
|
+
|
|
|
+ <bb 4> [local count: 920350133]:
|
|
|
+ # DEBUG ulNewBASEPRI => NULL
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+
|
|
|
+ <bb 34> [local count: 920350133]:
|
|
|
+ goto <bb 4>; [100.00%]
|
|
|
+
|
|
|
+ <bb 5> [local count: 214748]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ _1 = uxBitsToWaitFor_23(D) & 4278190080;
|
|
|
+ if (_1 != 0)
|
|
|
+ goto <bb 6>; [50.00%]
|
|
|
+ else
|
|
|
+ goto <bb 8>; [50.00%]
|
|
|
+
|
|
|
+ <bb 6> [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
|
|
|
+
|
|
|
+ <bb 7> [local count: 1073741823]:
|
|
|
+ # DEBUG ulNewBASEPRI => NULL
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+
|
|
|
+ <bb 35> [local count: 1073741824]:
|
|
|
+ goto <bb 7>; [100.00%]
|
|
|
+
|
|
|
+ <bb 8> [local count: 107374]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ if (uxBitsToWaitFor_23(D) == 0)
|
|
|
+ goto <bb 9>; [67.00%]
|
|
|
+ else
|
|
|
+ goto <bb 11>; [33.00%]
|
|
|
+
|
|
|
+ <bb 9> [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
|
|
|
+
|
|
|
+ <bb 10> [local count: 719407021]:
|
|
|
+ # DEBUG ulNewBASEPRI => NULL
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+
|
|
|
+ <bb 36> [local count: 719407021]:
|
|
|
+ goto <bb 10>; [100.00%]
|
|
|
+
|
|
|
+ <bb 11> [local count: 35433]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ _2 = xTaskGetSchedulerState ();
|
|
|
+ if (_2 != 0)
|
|
|
+ goto <bb 15>; [33.00%]
|
|
|
+ else
|
|
|
+ goto <bb 12>; [67.00%]
|
|
|
+
|
|
|
+ <bb 12> [local count: 23740]:
|
|
|
+ if (xTicksToWait_26(D) == 0)
|
|
|
+ goto <bb 15>; [50.00%]
|
|
|
+ else
|
|
|
+ goto <bb 13>; [50.00%]
|
|
|
+
|
|
|
+ <bb 13> [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
|
|
|
+
|
|
|
+ <bb 14> [local count: 118702158]:
|
|
|
+ # DEBUG ulNewBASEPRI => NULL
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+
|
|
|
+ <bb 37> [local count: 118702158]:
|
|
|
+ goto <bb 14>; [100.00%]
|
|
|
+
|
|
|
+ <bb 15> [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 <bb 16>; [50.00%]
|
|
|
+ else
|
|
|
+ goto <bb 18>; [50.00%]
|
|
|
+
|
|
|
+ <bb 16> [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 <bb 17>; [50.00%]
|
|
|
+ else
|
|
|
+ goto <bb 24>; [50.00%]
|
|
|
+
|
|
|
+ <bb 17> [local count: 5891]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ _3 = ~uxBitsToWaitFor_23(D);
|
|
|
+ _4 = _3 & uxCurrentEventBits_28;
|
|
|
+ MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _4;
|
|
|
+ goto <bb 24>; [100.00%]
|
|
|
+
|
|
|
+ <bb 18> [local count: 11782]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ if (xTicksToWait_26(D) == 0)
|
|
|
+ goto <bb 24>; [50.00%]
|
|
|
+ else
|
|
|
+ goto <bb 19>; [50.00%]
|
|
|
+
|
|
|
+ <bb 19> [local count: 5891]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ if (xClearOnExit_32(D) != 0)
|
|
|
+ goto <bb 20>; [50.00%]
|
|
|
+ else
|
|
|
+ goto <bb 21>; [50.00%]
|
|
|
+
|
|
|
+ <bb 20> [local count: 2945]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG uxControlBits => 16777216
|
|
|
+
|
|
|
+ <bb 21> [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 <bb 22>; [50.00%]
|
|
|
+ else
|
|
|
+ goto <bb 23>; [50.00%]
|
|
|
+
|
|
|
+ <bb 22> [local count: 2945]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ uxControlBits_33 = uxControlBits_15 | 67108864;
|
|
|
+ # DEBUG uxControlBits => uxControlBits_33
|
|
|
+
|
|
|
+ <bb 23> [local count: 5891]:
|
|
|
+ # uxControlBits_16 = PHI <uxControlBits_15(21), uxControlBits_33(22)>
|
|
|
+ # 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
|
|
|
+
|
|
|
+ <bb 24> [local count: 23563]:
|
|
|
+ # xTicksToWait_11 = PHI <0(17), xTicksToWait_26(D)(18), xTicksToWait_26(D)(23), 0(16)>
|
|
|
+ # uxReturn_12 = PHI <uxCurrentEventBits_28(17), uxCurrentEventBits_28(18), 0(23), uxCurrentEventBits_28(16)>
|
|
|
+ # 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 <bb 25>; [50.00%]
|
|
|
+ else
|
|
|
+ goto <bb 33>; [50.00%]
|
|
|
+
|
|
|
+ <bb 25> [local count: 11782]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ if (xAlreadyYielded_37 == 0)
|
|
|
+ goto <bb 26>; [50.00%]
|
|
|
+ else
|
|
|
+ goto <bb 27>; [50.00%]
|
|
|
+
|
|
|
+ <bb 26> [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
|
|
|
+
|
|
|
+ <bb 27> [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 <bb 28>; [33.00%]
|
|
|
+ else
|
|
|
+ goto <bb 32>; [67.00%]
|
|
|
+
|
|
|
+ <bb 28> [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 <bb 29>; [50.00%]
|
|
|
+ else
|
|
|
+ goto <bb 31>; [50.00%]
|
|
|
+
|
|
|
+ <bb 29> [local count: 1944]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ if (xClearOnExit_32(D) != 0)
|
|
|
+ goto <bb 30>; [50.00%]
|
|
|
+ else
|
|
|
+ goto <bb 31>; [50.00%]
|
|
|
+
|
|
|
+ <bb 30> [local count: 972]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ _9 = ~uxBitsToWaitFor_23(D);
|
|
|
+ _10 = _9 & uxReturn_44;
|
|
|
+ MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _10;
|
|
|
+
|
|
|
+ <bb 31> [local count: 3888]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG xTimeoutOccurred => 1
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ vPortExitCritical ();
|
|
|
+
|
|
|
+ <bb 32> [local count: 11782]:
|
|
|
+ # uxReturn_13 = PHI <uxReturn_42(27), uxReturn_44(31)>
|
|
|
+ # DEBUG uxReturn => uxReturn_13
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ uxReturn_48 = uxReturn_13 & 16777215;
|
|
|
+ # DEBUG uxReturn => uxReturn_48
|
|
|
+
|
|
|
+ <bb 33> [local count: 23563]:
|
|
|
+ # uxReturn_14 = PHI <uxReturn_12(24), uxReturn_48(32)>
|
|
|
+ # 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;
|
|
|
+
|
|
|
+ <bb 2> [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 <bb 3>; [50.00%]
|
|
|
+ else
|
|
|
+ goto <bb 5>; [50.00%]
|
|
|
+
|
|
|
+ <bb 3> [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
|
|
|
+
|
|
|
+ <bb 4> [local count: 1073741824]:
|
|
|
+ # DEBUG ulNewBASEPRI => NULL
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+
|
|
|
+ <bb 26> [local count: 1073741824]:
|
|
|
+ goto <bb 4>; [100.00%]
|
|
|
+
|
|
|
+ <bb 5> [local count: 107374]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ if (uxBitsToWaitFor_24(D) == 0)
|
|
|
+ goto <bb 6>; [67.00%]
|
|
|
+ else
|
|
|
+ goto <bb 8>; [33.00%]
|
|
|
+
|
|
|
+ <bb 6> [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
|
|
|
+
|
|
|
+ <bb 7> [local count: 719407023]:
|
|
|
+ # DEBUG ulNewBASEPRI => NULL
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+
|
|
|
+ <bb 27> [local count: 719407023]:
|
|
|
+ goto <bb 7>; [100.00%]
|
|
|
+
|
|
|
+ <bb 8> [local count: 35433]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ _2 = xTaskGetSchedulerState ();
|
|
|
+ if (_2 != 0)
|
|
|
+ goto <bb 12>; [33.00%]
|
|
|
+ else
|
|
|
+ goto <bb 9>; [67.00%]
|
|
|
+
|
|
|
+ <bb 9> [local count: 23740]:
|
|
|
+ if (xTicksToWait_27(D) == 0)
|
|
|
+ goto <bb 12>; [50.00%]
|
|
|
+ else
|
|
|
+ goto <bb 10>; [50.00%]
|
|
|
+
|
|
|
+ <bb 10> [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
|
|
|
+
|
|
|
+ <bb 11> [local count: 118702159]:
|
|
|
+ # DEBUG ulNewBASEPRI => NULL
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+
|
|
|
+ <bb 28> [local count: 118702159]:
|
|
|
+ goto <bb 11>; [100.00%]
|
|
|
+
|
|
|
+ <bb 12> [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 <bb 13>; [34.00%]
|
|
|
+ else
|
|
|
+ goto <bb 14>; [66.00%]
|
|
|
+
|
|
|
+ <bb 13> [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 <bb 17>; [100.00%]
|
|
|
+
|
|
|
+ <bb 14> [local count: 15552]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ if (xTicksToWait_27(D) != 0)
|
|
|
+ goto <bb 15>; [33.00%]
|
|
|
+ else
|
|
|
+ goto <bb 16>; [67.00%]
|
|
|
+
|
|
|
+ <bb 15> [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 <bb 17>; [100.00%]
|
|
|
+
|
|
|
+ <bb 16> [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
|
|
|
+
|
|
|
+ <bb 17> [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 <bb 18>; [50.00%]
|
|
|
+ else
|
|
|
+ goto <bb 25>; [50.00%]
|
|
|
+
|
|
|
+ <bb 18> [local count: 11782]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ if (xAlreadyYielded_36 == 0)
|
|
|
+ goto <bb 19>; [50.00%]
|
|
|
+ else
|
|
|
+ goto <bb 20>; [50.00%]
|
|
|
+
|
|
|
+ <bb 19> [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
|
|
|
+
|
|
|
+ <bb 20> [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 <bb 21>; [33.00%]
|
|
|
+ else
|
|
|
+ goto <bb 24>; [67.00%]
|
|
|
+
|
|
|
+ <bb 21> [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 <bb 22>; [34.00%]
|
|
|
+ else
|
|
|
+ goto <bb 23>; [66.00%]
|
|
|
+
|
|
|
+ <bb 22> [local count: 1322]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ _12 = ~uxBitsToWaitFor_24(D);
|
|
|
+ _13 = _12 & uxReturn_43;
|
|
|
+ MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _13;
|
|
|
+
|
|
|
+ <bb 23> [local count: 3888]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ vPortExitCritical ();
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG xTimeoutOccurred => 1
|
|
|
+
|
|
|
+ <bb 24> [local count: 11782]:
|
|
|
+ # uxReturn_16 = PHI <uxReturn_41(20), uxReturn_43(23)>
|
|
|
+ # DEBUG uxReturn => uxReturn_16
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ uxReturn_46 = uxReturn_16 & 16777215;
|
|
|
+ # DEBUG uxReturn => uxReturn_46
|
|
|
+
|
|
|
+ <bb 25> [local count: 23563]:
|
|
|
+ # uxReturn_17 = PHI <uxReturn_15(17), uxReturn_46(24)>
|
|
|
+ # 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;
|
|
|
+
|
|
|
+ <bb 2> [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 <bb 3>; [53.47%]
|
|
|
+ else
|
|
|
+ goto <bb 4>; [46.53%]
|
|
|
+
|
|
|
+ <bb 3> [local count: 574129754]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ pxEventBits_5->uxEventBits = 0;
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ _1 = &pxEventBits_5->xTasksWaitingForBits;
|
|
|
+ vListInitialise (_1);
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+
|
|
|
+ <bb 4> [local count: 1073741824]:
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ # DEBUG BEGIN_STMT
|
|
|
+ return pxEventBits_5;
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+
|