Lpuart_Lin_Ip_ProcessSendFrameData (const uint32 u32Instance, const uint8 tmpByte) { struct Lpuart_Lin_Ip_StateStructType * linCurrentState; const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig; struct LPUART_Type * base; boolean tmpBuffAndSize; boolean tmpCheckSumAndSize; uint8 tmpSize; _Bool _1; void (*) (uint32, void *) _2; unsigned char _3; unsigned char _4; unsigned char _5; const uint8 * _6; unsigned char _7; void (*) (uint32, void *) _8; const uint8 * _9; unsigned char _10; unsigned char _11; unsigned char _12; int _13; int _14; int _15; unsigned char _16; unsigned char _17; void (*) (uint32, void *) _18; _19; int iftmp.29_20; int iftmp.30_21; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG sendFlag => 1 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT base_28 = Lpuart_Lin_Ip_apxBases[u32Instance_27(D)]; # DEBUG base => base_28 # DEBUG BEGIN_STMT pUserConfig_29 = Lpuart_Lin_Ip_apxUserConfigs[u32Instance_27(D)]; # DEBUG pUserConfig => pUserConfig_29 # DEBUG BEGIN_STMT linCurrentState_30 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_27(D)]; # DEBUG linCurrentState => linCurrentState_30 # DEBUG BEGIN_STMT _1 = Lpuart_Lin_Ip_HwGetStatusFlag (base_28, 131095); if (_1 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT linCurrentState_30->currentEventId ={v} 9; # DEBUG BEGIN_STMT _2 = pUserConfig_29->Callback; if (_2 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 375809639]: # DEBUG BEGIN_STMT _2 (u32Instance_27(D), linCurrentState_30); [local count: 536870913]: # DEBUG BEGIN_STMT linCurrentState_30->isTxBusy ={v} 0; # DEBUG BEGIN_STMT Lpuart_Lin_Ip_GotoIdleState (u32Instance_27(D)); # DEBUG BEGIN_STMT # DEBUG sendFlag => 0 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 536870913]: # DEBUG BEGIN_STMT _3 ={v} linCurrentState_30->txSize; _4 = linCurrentState_30->cntByte; tmpSize_32 = _3 - _4; # DEBUG tmpSize => tmpSize_32 # DEBUG BEGIN_STMT if (tmpSize_32 == 1) goto ; [34.00%] else goto ; [66.00%] [local count: 182536110]: _5 = linCurrentState_30->checkSum; if (_5 != tmpByte_33(D)) goto ; [66.00%] else goto ; [34.00%] [local count: 416397080]: [local count: 536870912]: # iftmp.29_20 = PHI <1(7), 0(8)> tmpCheckSumAndSize_34 = (boolean) iftmp.29_20; # DEBUG tmpCheckSumAndSize => tmpCheckSumAndSize_34 # DEBUG BEGIN_STMT _6 = linCurrentState_30->txBuff; _7 = *_6; if (_7 != tmpByte_33(D)) goto ; [66.00%] else goto ; [34.00%] [local count: 354334802]: if (tmpSize_32 != 1) goto ; [66.00%] else goto ; [34.00%] [local count: 303009943]: [local count: 536870911]: # iftmp.30_21 = PHI <1(10), 0(11)> tmpBuffAndSize_35 = (boolean) iftmp.30_21; # DEBUG tmpBuffAndSize => tmpBuffAndSize_35 # DEBUG BEGIN_STMT if (tmpBuffAndSize_35 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 268435456]: if (tmpCheckSumAndSize_34 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 402653184]: # DEBUG BEGIN_STMT linCurrentState_30->currentEventId ={v} 9; # DEBUG BEGIN_STMT _8 = pUserConfig_29->Callback; if (_8 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 281857229]: # DEBUG BEGIN_STMT _8 (u32Instance_27(D), linCurrentState_30); [local count: 402653184]: # DEBUG BEGIN_STMT linCurrentState_30->isTxBusy ={v} 0; # DEBUG BEGIN_STMT Lpuart_Lin_Ip_GotoIdleState (u32Instance_27(D)); # DEBUG BEGIN_STMT # DEBUG sendFlag => 0 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 134217728]: # DEBUG BEGIN_STMT _9 = _6 + 1; linCurrentState_30->txBuff = _9; # DEBUG BEGIN_STMT _10 = _4 + 1; linCurrentState_30->cntByte = _10; # DEBUG sendFlag => 1 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _11 ={v} linCurrentState_30->txSize; if (_10 < _11) goto ; [67.00%] else goto ; [33.00%] [local count: 89925878]: # DEBUG BEGIN_STMT _12 ={v} linCurrentState_30->txSize; _13 = (int) _12; _14 = (int) _10; _15 = _13 - _14; if (_15 == 1) goto ; [34.00%] else goto ; [66.00%] [local count: 30574798]: # DEBUG BEGIN_STMT _16 = linCurrentState_30->checkSum; # DEBUG base => base_28 # DEBUG data => _16 # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwPutchar # DEBUG BEGIN_STMT # DEBUG D#1 => &base_28->DATA # DEBUG dataRegBytes => D#1 # DEBUG BEGIN_STMT MEM[(volatile uint8 *)base_28 + 28B] ={v} _16; goto ; [100.00%] [local count: 59351079]: # DEBUG BEGIN_STMT _17 = *_9; # DEBUG base => base_28 # DEBUG data => _17 # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwPutchar # DEBUG BEGIN_STMT # DEBUG D#1 => &base_28->DATA # DEBUG dataRegBytes => D#1 # DEBUG BEGIN_STMT MEM[(volatile uint8 *)base_28 + 28B] ={v} _17; goto ; [100.00%] [local count: 44291850]: # DEBUG BEGIN_STMT linCurrentState_30->currentEventId ={v} 11; # DEBUG BEGIN_STMT linCurrentState_30->currentNodeState ={v} 10; # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwSetIntMode (base_28, 196629, 0); # DEBUG BEGIN_STMT _18 = pUserConfig_29->Callback; if (_18 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 31004295]: # DEBUG BEGIN_STMT _18 (u32Instance_27(D), linCurrentState_30); [local count: 44291850]: # DEBUG BEGIN_STMT linCurrentState_30->isTxBusy ={v} 0; # DEBUG BEGIN_STMT _19 ={v} linCurrentState_30->currentNodeState; if (_19 != 1) goto ; [48.88%] else goto ; [51.12%] [local count: 21649856]: # DEBUG BEGIN_STMT Lpuart_Lin_Ip_GotoIdleState (u32Instance_27(D)); [local count: 1073741824]: # DEBUG base => NULL # DEBUG data => NULL # DEBUG base => NULL # DEBUG data => NULL return; } Lpuart_Lin_Ip_ProcessReceiveFrameData (const uint32 u32Instance) { const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig; Lpuart_Lin_Ip_StatusType retVal; struct Lpuart_Lin_Ip_StateStructType * linCurrentState; unsigned char _1; unsigned char _2; unsigned char _3; uint8 * _4; unsigned char _5; unsigned char _6; unsigned char _7; unsigned char _8; unsigned char _9; void (*) (uint32, void *) _10; void (*) (uint32, void *) _11; [local count: 1073741824]: # DEBUG BEGIN_STMT linCurrentState_17 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_16(D)]; # DEBUG linCurrentState => linCurrentState_17 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pUserConfig_18 = Lpuart_Lin_Ip_apxUserConfigs[u32Instance_16(D)]; # DEBUG pUserConfig => pUserConfig_18 # DEBUG BEGIN_STMT _1 = linCurrentState_17->cntByte; _2 ={v} linCurrentState_17->rxSize; _3 = _2 + 255; _4 = linCurrentState_17->rxBuff; retVal_20 = Lpuart_Lin_Ip_GetBytetoBuffer (_1, _3, _4, u32Instance_16(D)); # DEBUG retVal => retVal_20 # DEBUG BEGIN_STMT _5 = linCurrentState_17->cntByte; _6 ={v} linCurrentState_17->rxSize; if (_5 < _6) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT _7 = _5 + 1; linCurrentState_17->cntByte = _7; [local count: 1073741824]: # DEBUG BEGIN_STMT if (retVal_20 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT _8 ={v} linCurrentState_17->rxSize; _9 = linCurrentState_17->cntByte; if (_8 == _9) goto ; [34.00%] else goto ; [66.00%] [local count: 182536110]: # DEBUG BEGIN_STMT _10 = pUserConfig_18->Callback; if (_10 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 127775277]: # DEBUG BEGIN_STMT _10 (u32Instance_16(D), linCurrentState_17); goto ; [100.00%] [local count: 536870913]: # DEBUG BEGIN_STMT _11 = pUserConfig_18->Callback; if (_11 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 375809639]: # DEBUG BEGIN_STMT _11 (u32Instance_16(D), linCurrentState_17); [local count: 536870913]: # DEBUG BEGIN_STMT linCurrentState_17->isRxBusy ={v} 0; # DEBUG BEGIN_STMT Lpuart_Lin_Ip_GotoIdleState (u32Instance_16(D)); [local count: 1073741824]: return; } Lpuart_Lin_Ip_ProcessFrameHeader (const uint32 u32Instance, const uint8 tmpByte) { struct Lpuart_Lin_Ip_StateStructType * linCurrentState; const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig; struct LPUART_Type * base; _1; void (*) (uint32, void *) _2; unsigned char _3; void (*) (uint32, void *) _4; _Bool _5; unsigned char _6; void (*) (uint32, void *) _7; void (*) (uint32, void *) _8; unsigned char _9; void (*) (uint32, void *) _10; void (*) (uint32, void *) _11; [local count: 1073741823]: # DEBUG BEGIN_STMT base_17 = Lpuart_Lin_Ip_apxBases[u32Instance_16(D)]; # DEBUG base => base_17 # DEBUG BEGIN_STMT pUserConfig_18 = Lpuart_Lin_Ip_apxUserConfigs[u32Instance_16(D)]; # DEBUG pUserConfig => pUserConfig_18 # DEBUG BEGIN_STMT linCurrentState_19 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_16(D)]; # DEBUG linCurrentState => linCurrentState_19 # DEBUG BEGIN_STMT _1 ={v} linCurrentState_19->currentNodeState; switch (_1) [25.00%], case 4: [25.00%], case 5: [25.00%], case 6: [25.00%]> [local count: 268435456]: : # DEBUG BEGIN_STMT if (tmpByte_20(D) == 85) goto ; [34.00%] else goto ; [66.00%] [local count: 91268055]: # DEBUG BEGIN_STMT linCurrentState_19->currentEventId ={v} 4; # DEBUG BEGIN_STMT linCurrentState_19->currentNodeState ={v} 6; goto ; [100.00%] [local count: 177167401]: # DEBUG BEGIN_STMT linCurrentState_19->currentEventId ={v} 5; # DEBUG BEGIN_STMT _2 = pUserConfig_18->Callback; if (_2 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 124017180]: # DEBUG BEGIN_STMT _2 (u32Instance_16(D), linCurrentState_19); [local count: 177167401]: # DEBUG BEGIN_STMT Lpuart_Lin_Ip_GotoIdleState (u32Instance_16(D)); goto ; [100.00%] [local count: 268435456]: : # DEBUG BEGIN_STMT if (tmpByte_20(D) == 85) goto ; [34.00%] else goto ; [66.00%] [local count: 91268055]: # DEBUG BEGIN_STMT linCurrentState_19->currentNodeState ={v} 6; # DEBUG BEGIN_STMT _3 = linCurrentState_19->currentPid; # DEBUG base => base_17 # DEBUG data => _3 # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwPutchar # DEBUG BEGIN_STMT # DEBUG D#1 => &base_17->DATA # DEBUG dataRegBytes => D#1 # DEBUG BEGIN_STMT MEM[(volatile uint8 *)base_17 + 28B] ={v} _3; goto ; [100.00%] [local count: 177167401]: # DEBUG BEGIN_STMT linCurrentState_19->currentEventId ={v} 9; # DEBUG BEGIN_STMT linCurrentState_19->isBusBusy ={v} 0; # DEBUG BEGIN_STMT _4 = pUserConfig_18->Callback; if (_4 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 124017180]: # DEBUG BEGIN_STMT _4 (u32Instance_16(D), linCurrentState_19); goto ; [100.00%] [local count: 268435456]: : # DEBUG BEGIN_STMT _5 = pUserConfig_18->nodeFunction; if (_5 != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 179851755]: # DEBUG BEGIN_STMT _6 = linCurrentState_19->currentPid; if (_6 == tmpByte_20(D)) goto ; [34.00%] else goto ; [66.00%] [local count: 61149597]: # DEBUG BEGIN_STMT linCurrentState_19->currentEventId ={v} 6; # DEBUG BEGIN_STMT linCurrentState_19->isBusBusy ={v} 0; # DEBUG BEGIN_STMT _7 = pUserConfig_18->Callback; if (_7 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 42804718]: # DEBUG BEGIN_STMT _7 (u32Instance_16(D), linCurrentState_19); goto ; [100.00%] [local count: 118702158]: # DEBUG BEGIN_STMT linCurrentState_19->currentEventId ={v} 9; # DEBUG BEGIN_STMT linCurrentState_19->isBusBusy ={v} 0; # DEBUG BEGIN_STMT _8 = pUserConfig_18->Callback; if (_8 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 83091511]: # DEBUG BEGIN_STMT _8 (u32Instance_16(D), linCurrentState_19); goto ; [100.00%] [local count: 88583700]: # DEBUG BEGIN_STMT _9 = Lin_Ip_ProcessParity (tmpByte_20(D), 0); linCurrentState_19->currentId = _9; # DEBUG BEGIN_STMT linCurrentState_19->currentPid = tmpByte_20(D); # DEBUG BEGIN_STMT if (_9 != 255) goto ; [66.00%] else goto ; [34.00%] [local count: 58465242]: # DEBUG BEGIN_STMT linCurrentState_19->currentEventId ={v} 6; # DEBUG BEGIN_STMT linCurrentState_19->isBusBusy ={v} 0; # DEBUG BEGIN_STMT _10 = pUserConfig_18->Callback; if (_10 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 40925670]: # DEBUG BEGIN_STMT _10 (u32Instance_16(D), linCurrentState_19); goto ; [100.00%] [local count: 30118458]: # DEBUG BEGIN_STMT linCurrentState_19->currentEventId ={v} 7; # DEBUG BEGIN_STMT _11 = pUserConfig_18->Callback; if (_11 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 21082921]: # DEBUG BEGIN_STMT _11 (u32Instance_16(D), linCurrentState_19); [local count: 30118458]: # DEBUG BEGIN_STMT Lpuart_Lin_Ip_GotoIdleState (u32Instance_16(D)); [local count: 1073741824]: : # DEBUG base => NULL # DEBUG data => NULL return; } Lpuart_Lin_Ip_FrameIrqHandler (const uint32 u32Instance) { const struct Lpuart_Lin_Ip_StateStructType * linCurrentState; const struct LPUART_Type * base; _Bool _1; _Bool _2; _3; long unsigned int _14; unsigned char _15; long unsigned int _16; unsigned char _17; long unsigned int _18; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT base_7 = Lpuart_Lin_Ip_apxBases[u32Instance_6(D)]; # DEBUG base => base_7 # DEBUG BEGIN_STMT linCurrentState_8 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_6(D)]; # DEBUG linCurrentState => linCurrentState_8 # DEBUG BEGIN_STMT _1 = Lpuart_Lin_Ip_HwGetStatusFlag (base_7, 131093); if (_1 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 354334802]: _2 = Lpuart_Lin_Ip_HwGetIntMode (base_7, 196629); if (_2 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 177167401]: # DEBUG BEGIN_STMT _3 ={v} linCurrentState_8->currentNodeState; switch (_3) [25.00%], case 4 ... 6: [25.00%], case 7: [25.00%], case 9: [25.00%]> [local count: 44291850]: : # DEBUG BEGIN_STMT # DEBUG base => base_7 # DEBUG readData => &tmpByte # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwGetchar # DEBUG BEGIN_STMT _14 ={v} base_7->DATA; _15 = (unsigned char) _14; # DEBUG tmpByte => _15 # DEBUG base => NULL # DEBUG readData => NULL # DEBUG BEGIN_STMT Lpuart_Lin_Ip_ProcessFrameHeader (u32Instance_6(D), _15); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 44291850]: : # DEBUG BEGIN_STMT Lpuart_Lin_Ip_ProcessReceiveFrameData (u32Instance_6(D)); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 44291850]: : # DEBUG BEGIN_STMT # DEBUG base => base_7 # DEBUG readData => &tmpByte # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwGetchar # DEBUG BEGIN_STMT _16 ={v} base_7->DATA; _17 = (unsigned char) _16; # DEBUG tmpByte => _17 # DEBUG base => NULL # DEBUG readData => NULL # DEBUG BEGIN_STMT Lpuart_Lin_Ip_ProcessSendFrameData (u32Instance_6(D), _17); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 44291850]: : # DEBUG BEGIN_STMT # DEBUG base => base_7 # DEBUG readData => &tmpByte # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwGetchar # DEBUG BEGIN_STMT _18 ={v} base_7->DATA; # DEBUG tmpByte => (unsigned char) _18 [local count: 1073741824]: # DEBUG base => NULL # DEBUG readData => NULL # DEBUG D#6 => {CLOBBER} # DEBUG tmpByte => D#6 return; } Lpuart_Lin_Ip_CheckWakeupSignal (const uint32 u32Instance) { struct Lpuart_Lin_Ip_StateStructType * linCurrentState; struct LPUART_Type * base; const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig; uint32 wakeupSignalLength; uint32 (*) (uint32, uint32 *) _1; uint32 (*) (uint32, uint32 *) _2; long unsigned int wakeupSignalLength.24_3; void (*) (uint32, void *) _4; long unsigned int _19; long unsigned int _20; _Bool _21; long unsigned int _22; long unsigned int _23; long unsigned int _24; long unsigned int _25; long unsigned int _26; [local count: 1073741824]: # DEBUG BEGIN_STMT wakeupSignalLength = 0; # DEBUG BEGIN_STMT pUserConfig_10 = Lpuart_Lin_Ip_apxUserConfigs[u32Instance_9(D)]; # DEBUG pUserConfig => pUserConfig_10 # DEBUG BEGIN_STMT base_11 = Lpuart_Lin_Ip_apxBases[u32Instance_9(D)]; # DEBUG base => base_11 # DEBUG BEGIN_STMT linCurrentState_12 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_9(D)]; # DEBUG linCurrentState => linCurrentState_12 # DEBUG BEGIN_STMT # DEBUG base => base_11 # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwGetRxDataPolarity # DEBUG BEGIN_STMT _19 ={v} MEM[(const struct LPUART_Type *)base_11].STAT; _20 = _19 >> 28; _21 = (_Bool) _20; # DEBUG base => NULL if (_21 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT _1 = pUserConfig_10->timerGetTimeIntervalCallback; _1 (u32Instance_9(D), &wakeupSignalLength); # DEBUG BEGIN_STMT # DEBUG base => base_11 # DEBUG polarity => 1 # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwSetRxDataPolarity # DEBUG BEGIN_STMT _22 ={v} base_11->STAT; _23 = _22 & 803225599; _24 = _23 | 268435456; base_11->STAT ={v} _24; goto ; [100.00%] [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG base => base_11 # DEBUG polarity => 0 # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwSetRxDataPolarity # DEBUG BEGIN_STMT _25 ={v} base_11->STAT; _26 = _25 & 803225599; base_11->STAT ={v} _26; # DEBUG base => NULL # DEBUG polarity => NULL # DEBUG BEGIN_STMT _2 = pUserConfig_10->timerGetTimeIntervalCallback; _2 (u32Instance_9(D), &wakeupSignalLength); # DEBUG BEGIN_STMT wakeupSignalLength.24_3 = wakeupSignalLength; if (wakeupSignalLength.24_3 > 149999) goto ; [50.00%] else goto ; [50.00%] [local count: 268435456]: # DEBUG BEGIN_STMT linCurrentState_12->currentEventId ={v} 1; # DEBUG BEGIN_STMT _4 = pUserConfig_10->Callback; if (_4 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 187904819]: # DEBUG BEGIN_STMT _4 (u32Instance_9(D), linCurrentState_12); [local count: 268435456]: # DEBUG BEGIN_STMT Lpuart_Lin_Ip_GotoIdleState (u32Instance_9(D)); [local count: 1073741824]: # DEBUG base => NULL # DEBUG polarity => NULL wakeupSignalLength ={v} {CLOBBER}; return; } Lpuart_Lin_Ip_ProcessBreakDetect (const uint32 u32Instance) { struct Lpuart_Lin_Ip_StateStructType * linCurrentState; struct Lpuart_Lin_Ip_StateStructType * linCurrentState; struct Lpuart_Lin_Ip_StateStructType * linCurrentState; struct LPUART_Type * base; const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig; _Bool _1; _2; long unsigned int _3; long unsigned int _4; long unsigned int _5; _Bool _6; long unsigned int _7; long unsigned int _8; long unsigned int _9; long unsigned int _29; [local count: 1073741824]: # DEBUG BEGIN_STMT pUserConfig_14 = Lpuart_Lin_Ip_apxUserConfigs[u32Instance_13(D)]; # DEBUG pUserConfig => pUserConfig_14 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT base_15 = Lpuart_Lin_Ip_apxBases[u32Instance_13(D)]; # DEBUG base => base_15 # DEBUG BEGIN_STMT linCurrentState_16 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_13(D)]; # DEBUG linCurrentState => linCurrentState_16 # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwClearStatusFlag (base_15, 131103); # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwSetBreakCharDetectLength (base_15, 0); # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwSetIntMode (base_15, 65551, 0); # DEBUG BEGIN_STMT # DEBUG base => base_15 # DEBUG readData => &discardData # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwGetchar # DEBUG BEGIN_STMT _29 ={v} MEM[(const struct LPUART_Type *)base_15].DATA; # DEBUG discardData => (unsigned char) _29 # DEBUG base => NULL # DEBUG readData => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwSetIntMode (base_15, 196629, 1); # DEBUG BEGIN_STMT _1 = pUserConfig_14->nodeFunction; if (_1 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT _2 ={v} linCurrentState_16->currentNodeState; if (_2 == 3) goto ; [34.00%] else goto ; [66.00%] [local count: 182536110]: # DEBUG BEGIN_STMT _3 = pUserConfig_14->u32HeaderTimeoutValue; _4 = _3 / 500; _5 = _4 + 1; # DEBUG u32Instance => u32Instance_13(D) # DEBUG u32TimeoutValue => _5 # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_SetTimeoutCounter # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT linCurrentState_30 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_13(D)]; # DEBUG linCurrentState => linCurrentState_30 # DEBUG BEGIN_STMT linCurrentState_30->timeoutCounterFlag ={v} 0; # DEBUG BEGIN_STMT linCurrentState_30->timeoutCounter ={v} _5; # DEBUG u32Instance => NULL # DEBUG u32TimeoutValue => NULL # DEBUG linCurrentState => NULL # DEBUG BEGIN_STMT linCurrentState_16->currentNodeState ={v} 5; # DEBUG BEGIN_STMT # DEBUG base => base_15 # DEBUG data => 85 # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwPutchar # DEBUG BEGIN_STMT # DEBUG D#1 => &base_15->DATA # DEBUG dataRegBytes => D#1 # DEBUG BEGIN_STMT MEM[(volatile uint8 *)base_15 + 28B] ={v} 85; goto ; [100.00%] [local count: 536870913]: # DEBUG BEGIN_STMT linCurrentState_16->isBusBusy ={v} 1; # DEBUG BEGIN_STMT linCurrentState_16->currentEventId ={v} 3; # DEBUG BEGIN_STMT linCurrentState_16->currentNodeState ={v} 4; # DEBUG BEGIN_STMT _6 ={v} linCurrentState_16->baudrateEvalEnable; if (_6 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 177167401]: # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwSetIntMode (base_15, 65550, 1); # DEBUG BEGIN_STMT linCurrentState_16->fallingEdgeInterruptCount ={v} 0; # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwSetTransmitterCmd (base_15, 1); # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwSetReceiverCmd (base_15, 1); [local count: 536870913]: # DEBUG BEGIN_STMT _7 = pUserConfig_14->u32HeaderTimeoutValue; _8 = _7 / 500; _9 = _8 + 1; # DEBUG u32Instance => u32Instance_13(D) # DEBUG u32TimeoutValue => _9 # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_SetTimeoutCounter # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT linCurrentState_31 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_13(D)]; # DEBUG linCurrentState => linCurrentState_31 # DEBUG BEGIN_STMT linCurrentState_31->timeoutCounterFlag ={v} 0; # DEBUG BEGIN_STMT linCurrentState_31->timeoutCounter ={v} _9; [local count: 1073741824]: # DEBUG u32Instance => NULL # DEBUG u32TimeoutValue => NULL # DEBUG linCurrentState => NULL # DEBUG base => NULL # DEBUG data => NULL # DEBUG D#4 => {CLOBBER} # DEBUG discardData => D#4 return; } Lpuart_Lin_Ip_IRQHandler (const uint32 u32Instance) { boolean bSpuriousIntAvailable; boolean activeEdgeIntState; struct Lpuart_Lin_Ip_StateStructType * linCurrentState; struct LPUART_Type * base; const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig; _Bool _1; _Bool _2; _Bool _3; _Bool _4; _Bool _5; _Bool _6; _Bool _7; _Bool _8; _Bool _9; void (*) (uint32, void *) _10; int iftmp.23_12; [local count: 1073741823]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG bSpuriousIntAvailable => 0 # DEBUG BEGIN_STMT pUserConfig_21 = Lpuart_Lin_Ip_apxUserConfigs[u32Instance_20(D)]; # DEBUG pUserConfig => pUserConfig_21 # DEBUG BEGIN_STMT base_22 = Lpuart_Lin_Ip_apxBases[u32Instance_20(D)]; # DEBUG base => base_22 # DEBUG BEGIN_STMT linCurrentState_23 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_20(D)]; # DEBUG linCurrentState => linCurrentState_23 # DEBUG BEGIN_STMT activeEdgeIntState_25 = Lpuart_Lin_Ip_HwGetIntMode (base_22, 65550); # DEBUG activeEdgeIntState => activeEdgeIntState_25 # DEBUG BEGIN_STMT if (linCurrentState_23 == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 322122547]: # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwClearStatusFlag (base_22, 0); goto ; [100.00%] [local count: 751619277]: # DEBUG BEGIN_STMT _1 = Lpuart_Lin_Ip_HwGetStatusFlag (base_22, 131103); if (_1 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 375809638]: _2 = Lpuart_Lin_Ip_HwGetIntMode (base_22, 65551); if (_2 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 124017180]: # DEBUG BEGIN_STMT Lpuart_Lin_Ip_ProcessBreakDetect (u32Instance_20(D)); goto ; [100.00%] [local count: 627602097]: # DEBUG BEGIN_STMT _3 = Lpuart_Lin_Ip_HwGetStatusFlag (base_22, 131102); if (_3 != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 420493404]: if (activeEdgeIntState_25 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 138762824]: # DEBUG BEGIN_STMT Lpuart_Lin_Ip_ProcessWakeupDetect (u32Instance_20(D)); goto ; [100.00%] [local count: 488839272]: # DEBUG BEGIN_STMT _4 = Lpuart_Lin_Ip_HwGetStatusFlag (base_22, 131089); if (_4 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 244419636]: _5 = Lpuart_Lin_Ip_HwGetIntMode (base_22, 196633); if (_5 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 80658480]: # DEBUG BEGIN_STMT Lpuart_Lin_Ip_FrameErrorIrqHandler (u32Instance_20(D)); # DEBUG BEGIN_STMT Lpuart_Lin_Ip_GotoIdleState (u32Instance_20(D)); goto ; [100.00%] [local count: 408180792]: # DEBUG BEGIN_STMT _6 = Lpuart_Lin_Ip_HwGetStatusFlag (base_22, 131093); if (_6 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 134699661]: _7 = Lpuart_Lin_Ip_HwGetIntMode (base_22, 196629); if (_7 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 67349831]: [local count: 408180791]: # iftmp.23_12 = PHI <1(14), 0(24), 0(13)> bSpuriousIntAvailable_37 = (boolean) iftmp.23_12; # DEBUG bSpuriousIntAvailable => bSpuriousIntAvailable_37 # DEBUG BEGIN_STMT Lpuart_Lin_Ip_FrameIrqHandler (u32Instance_20(D)); [local count: 751619277]: # bSpuriousIntAvailable_11 = PHI <0(6), 0(9), 0(12), bSpuriousIntAvailable_37(16)> # DEBUG bSpuriousIntAvailable => bSpuriousIntAvailable_11 # DEBUG BEGIN_STMT _8 = Lpuart_Lin_Ip_HwGetStatusFlag (base_22, 131091); if (_8 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 248034361]: _9 = Lpuart_Lin_Ip_HwGetIntMode (base_22, 196635); if (_9 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 81851339]: # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwClearStatusFlag (base_22, 131091); # DEBUG BEGIN_STMT linCurrentState_23->currentEventId ={v} 13; # DEBUG BEGIN_STMT _10 = pUserConfig_21->Callback; if (_10 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 57295937]: # DEBUG BEGIN_STMT _10 (u32Instance_20(D), linCurrentState_23); goto ; [100.00%] [local count: 669767938]: # DEBUG BEGIN_STMT if (bSpuriousIntAvailable_11 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 221023419]: # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwClearStatusFlag (base_22, 0); [local count: 1073741824]: return; } Lpuart_Lin_Ip_GotoIdleState (const uint32 u32Instance) { const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig; struct Lpuart_Lin_Ip_StateStructType * linCurrentState; struct LPUART_Type * base; _Bool _1; unsigned char _2; long unsigned int _22; long unsigned int _23; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT linCurrentState_6 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_5(D)]; # DEBUG linCurrentState => linCurrentState_6 # DEBUG BEGIN_STMT base_7 = Lpuart_Lin_Ip_apxBases[u32Instance_5(D)]; # DEBUG base => base_7 # DEBUG BEGIN_STMT pUserConfig_8 = Lpuart_Lin_Ip_apxUserConfigs[u32Instance_5(D)]; # DEBUG pUserConfig => pUserConfig_8 # DEBUG BEGIN_STMT linCurrentState_6->currentEventId ={v} 0; # DEBUG BEGIN_STMT # DEBUG base => base_7 # DEBUG polarity => 0 # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwSetRxDataPolarity # DEBUG BEGIN_STMT _22 ={v} base_7->STAT; _23 = _22 & 803225599; base_7->STAT ={v} _23; # DEBUG base => NULL # DEBUG polarity => NULL # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwSetIntMode (base_7, 65550, 0); # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwSetIntMode (base_7, 196633, 1); # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwSetIntMode (base_7, 196629, 0); # DEBUG BEGIN_STMT _1 = pUserConfig_8->nodeFunction; if (_1 != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 354334802]: # DEBUG BEGIN_STMT _2 = pUserConfig_8->u8BreakLengthDetect; Lpuart_Lin_Ip_HwSetBreakCharDetectLength (base_7, _2); # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwSetIntMode (base_7, 65551, 1); [local count: 1073741824]: # DEBUG BEGIN_STMT SchM_Enter_Lin_LIN_EXCLUSIVE_AREA_02 (); # DEBUG BEGIN_STMT linCurrentState_6->currentNodeState ={v} 2; # DEBUG BEGIN_STMT linCurrentState_6->isBusBusy ={v} 0; # DEBUG BEGIN_STMT linCurrentState_6->isTxBusy ={v} 0; # DEBUG BEGIN_STMT linCurrentState_6->isRxBusy ={v} 0; # DEBUG BEGIN_STMT linCurrentState_6->timeoutCounterFlag ={v} 0; # DEBUG BEGIN_STMT SchM_Exit_Lin_LIN_EXCLUSIVE_AREA_02 (); return; } Lpuart_Lin_Ip_MasterSendHeader (const uint32 u32Instance, const uint8 u8Id) { struct Lpuart_Lin_Ip_StateStructType * linCurrentState; struct LPUART_Type * base; const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig; Lpuart_Lin_Ip_StatusType retVal; _1; _Bool _2; _Bool _3; unsigned char _4; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG retVal => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pUserConfig_9 = Lpuart_Lin_Ip_apxUserConfigs[u32Instance_8(D)]; # DEBUG pUserConfig => pUserConfig_9 # DEBUG BEGIN_STMT base_10 = Lpuart_Lin_Ip_apxBases[u32Instance_8(D)]; # DEBUG base => base_10 # DEBUG BEGIN_STMT linCurrentState_11 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_8(D)]; # DEBUG linCurrentState => linCurrentState_11 # DEBUG BEGIN_STMT _1 ={v} linCurrentState_11->currentNodeState; # DEBUG checkSleepMode => _1 == 1 # DEBUG BEGIN_STMT _2 = pUserConfig_9->nodeFunction; if (_2 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: if (u8Id_12(D) > 63) goto ; [50.00%] else goto ; [50.00%] [local count: 268435456]: if (_1 == 1) goto ; [34.00%] else goto ; [66.00%] [local count: 177167401]: # DEBUG BEGIN_STMT _3 ={v} linCurrentState_11->isBusBusy; if (_3 != 0) goto ; [52.23%] else goto ; [47.77%] [local count: 84632867]: # DEBUG BEGIN_STMT linCurrentState_11->currentId = u8Id_12(D); # DEBUG BEGIN_STMT _4 = Lin_Ip_ProcessParity (u8Id_12(D), 1); linCurrentState_11->currentPid = _4; # DEBUG BEGIN_STMT linCurrentState_11->currentNodeState ={v} 3; # DEBUG BEGIN_STMT linCurrentState_11->currentEventId ={v} 0; # DEBUG BEGIN_STMT linCurrentState_11->isBusBusy ={v} 1; # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwSetBreakCharDetectLength (base_10, 1); # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwSetIntMode (base_10, 65551, 1); # DEBUG BEGIN_STMT # DEBUG base => base_10 # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwQueueBreakField # DEBUG BEGIN_STMT base_10->DATA ={v} 8192; [local count: 1073741824]: # retVal_5 = PHI <1(3), 2(5), 0(6), 1(2), 1(4)> # DEBUG base => NULL # DEBUG retVal => retVal_5 # DEBUG BEGIN_STMT return retVal_5; } Lpuart_Lin_Ip_SetTimeoutCounter (const uint32 u32Instance, const uint32 u32TimeoutValue) { struct Lpuart_Lin_Ip_StateStructType * linCurrentState; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT linCurrentState_3 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_2(D)]; # DEBUG linCurrentState => linCurrentState_3 # DEBUG BEGIN_STMT linCurrentState_3->timeoutCounterFlag ={v} 0; # DEBUG BEGIN_STMT linCurrentState_3->timeoutCounter ={v} u32TimeoutValue_5(D); return; } Lpuart_Lin_Ip_TimeoutService (const uint32 u32Instance) { Lpuart_Lin_Ip_NodeStateType state; struct Lpuart_Lin_Ip_StateStructType * linCurrentState; const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig; long unsigned int _1; void (*) (uint32, void *) _2; long unsigned int _3; long unsigned int _4; _Bool _5; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT linCurrentState_9 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_8(D)]; # DEBUG linCurrentState => linCurrentState_9 # DEBUG BEGIN_STMT pUserConfig_10 = Lpuart_Lin_Ip_apxUserConfigs[u32Instance_8(D)]; # DEBUG pUserConfig => pUserConfig_10 # DEBUG BEGIN_STMT state_11 ={v} linCurrentState_9->currentNodeState; # DEBUG state => state_11 # DEBUG BEGIN_STMT switch (state_11) [50.00%], case 4 ... 7: [50.00%], case 9: [50.00%]> [local count: 536870913]: : # DEBUG BEGIN_STMT _1 ={v} linCurrentState_9->timeoutCounter; if (_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 268435456]: # DEBUG BEGIN_STMT linCurrentState_9->timeoutCounterFlag ={v} 1; # DEBUG BEGIN_STMT linCurrentState_9->isTxBusy ={v} 0; # DEBUG BEGIN_STMT linCurrentState_9->currentEventId ={v} 14; # DEBUG BEGIN_STMT _2 = pUserConfig_10->Callback; if (_2 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 187904819]: # DEBUG BEGIN_STMT _2 (u32Instance_8(D), linCurrentState_9); goto ; [100.00%] [local count: 268435456]: # DEBUG BEGIN_STMT _3 ={v} linCurrentState_9->timeoutCounter; _4 = _3 + 4294967295; linCurrentState_9->timeoutCounter ={v} _4; [local count: 1073741824]: : # DEBUG BEGIN_STMT _5 ={v} linCurrentState_9->timeoutCounterFlag; # DEBUG BEGIN_STMT return; } Lpuart_Lin_Ip_GetCurrentNodeState (const uint32 u32Instance) { const struct Lpuart_Lin_Ip_StateStructType * linCurrentState; Lpuart_Lin_Ip_NodeStateType retVal; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG retVal => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT linCurrentState_4 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_3(D)]; # DEBUG linCurrentState => linCurrentState_4 # DEBUG BEGIN_STMT if (linCurrentState_4 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 751619278]: # DEBUG BEGIN_STMT retVal_5 ={v} linCurrentState_4->currentNodeState; # DEBUG retVal => retVal_5 [local count: 1073741824]: # retVal_1 = PHI <0(2), retVal_5(3)> # DEBUG retVal => retVal_1 # DEBUG BEGIN_STMT return retVal_1; } Lpuart_Lin_Ip_SendWakeupSignal (const uint32 u32Instance) { Lpuart_Lin_Ip_StatusType retVal; const struct Lpuart_Lin_Ip_StateStructType * linCurrentState; struct LPUART_Type * base; _Bool _1; unsigned char _2; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG retVal => 0 # DEBUG BEGIN_STMT linCurrentState_7 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_6(D)]; # DEBUG linCurrentState => linCurrentState_7 # DEBUG BEGIN_STMT base_8 = Lpuart_Lin_Ip_apxBases[u32Instance_6(D)]; # DEBUG base => base_8 # DEBUG BEGIN_STMT _1 ={v} linCurrentState_7->isBusBusy; if (_1 != 0) goto ; [35.00%] else goto ; [65.00%] [local count: 697932186]: # DEBUG BEGIN_STMT _2 = Lpuart_Lin_Ip_au8WakeupSignal[u32Instance_6(D)]; # DEBUG base => base_8 # DEBUG data => _2 # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwPutchar # DEBUG BEGIN_STMT # DEBUG D#1 => &base_8->DATA # DEBUG dataRegBytes => D#1 # DEBUG BEGIN_STMT MEM[(volatile uint8 *)base_8 + 28B] ={v} _2; [local count: 1073741824]: # retVal_3 = PHI <0(3), 2(2)> # DEBUG base => NULL # DEBUG data => NULL # DEBUG retVal => retVal_3 # DEBUG BEGIN_STMT return retVal_3; } Lpuart_Lin_Ip_GoToSleepMode (const uint32 u32Instance) { struct Lpuart_Lin_Ip_StateStructType * linCurrentState; struct LPUART_Type * base; long unsigned int _14; long unsigned int _15; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT linCurrentState_3 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_2(D)]; # DEBUG linCurrentState => linCurrentState_3 # DEBUG BEGIN_STMT base_4 = Lpuart_Lin_Ip_apxBases[u32Instance_2(D)]; # DEBUG base => base_4 # DEBUG BEGIN_STMT linCurrentState_3->currentNodeState ={v} 1; # DEBUG BEGIN_STMT linCurrentState_3->isTxBusy ={v} 0; # DEBUG BEGIN_STMT linCurrentState_3->isRxBusy ={v} 0; # DEBUG BEGIN_STMT linCurrentState_3->isBusBusy ={v} 0; # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwClearStatusFlag (base_4, 131102); # DEBUG BEGIN_STMT # DEBUG base => base_4 # DEBUG polarity => 0 # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwSetRxDataPolarity # DEBUG BEGIN_STMT _14 ={v} base_4->STAT; _15 = _14 & 803225599; base_4->STAT ={v} _15; # DEBUG base => NULL # DEBUG polarity => NULL # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwSetIntMode (base_4, 196629, 0); # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwSetIntMode (base_4, 65550, 1); # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwSetIntMode (base_4, 196633, 0); # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwSetIntMode (base_4, 65551, 0); return; } Lpuart_Lin_Ip_GetReceiveStatus (const uint32 u32Instance, uint8 * const pBytesRemaining) { Lpuart_Lin_Ip_StatusType retVal; const struct Lpuart_Lin_Ip_StateStructType * linCurrentState; unsigned char _1; unsigned char _2; unsigned char _3; _4; _Bool _5; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG retVal => 0 # DEBUG BEGIN_STMT linCurrentState_9 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_8(D)]; # DEBUG linCurrentState => linCurrentState_9 # DEBUG BEGIN_STMT _1 ={v} linCurrentState_9->rxSize; _2 = linCurrentState_9->cntByte; _3 = _1 - _2; *pBytesRemaining_10(D) = _3; # DEBUG BEGIN_STMT _4 ={v} linCurrentState_9->currentEventId; if (_4 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: if (_3 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 268435456]: # DEBUG BEGIN_STMT _5 ={v} linCurrentState_9->timeoutCounterFlag; if (_5 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 134217728]: # DEBUG BEGIN_STMT # DEBUG retVal => 3 [local count: 1073741824]: # retVal_6 = PHI <0(2), 0(3), 2(4), 3(5)> # DEBUG retVal => retVal_6 # DEBUG BEGIN_STMT return retVal_6; } Lpuart_Lin_Ip_AbortTransferData (const uint32 u32Instance) { uint32 timeoutTicks; uint32 startTime; struct LPUART_Type * base; struct Lpuart_Lin_Ip_StateStructType * linCurrentState; _Bool _1; long unsigned int startTime.20_2; long unsigned int timeoutTicks.21_3; _Bool _4; [local count: 114863532]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT linCurrentState_9 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_8(D)]; # DEBUG linCurrentState => linCurrentState_9 # DEBUG BEGIN_STMT base_10 = Lpuart_Lin_Ip_apxBases[u32Instance_8(D)]; # DEBUG base => base_10 # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwSetIntMode (base_10, 196629, 0); # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwSetIntMode (base_10, 196633, 0); # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwSetIntMode (base_10, 65551, 0); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT Lpuart_Lin_Ip_StartTimeout (&startTime, &timeoutTicks, 65535, 0); [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = Lpuart_Lin_Ip_HwGetStatusFlag (base_10, 131094); if (_1 != 0) goto ; [5.50%] else goto ; [94.50%] [local count: 1014686025]: # DEBUG BEGIN_STMT startTime.20_2 = startTime; timeoutTicks.21_3 = timeoutTicks; _4 = Lpuart_Lin_Ip_TimeoutExpired (startTime.20_2, timeoutTicks.21_3, 0); if (_4 != 0) goto ; [5.50%] else goto ; [94.50%] [local count: 958878293]: goto ; [100.00%] [local count: 114863532]: # DEBUG BEGIN_STMT Lpuart_Lin_Ip_GotoIdleState (u32Instance_8(D)); # DEBUG BEGIN_STMT linCurrentState_9->isTxBusy ={v} 0; # DEBUG BEGIN_STMT linCurrentState_9->isRxBusy ={v} 0; startTime ={v} {CLOBBER}; timeoutTicks ={v} {CLOBBER}; return; } Lpuart_Lin_Ip_SyncReceiveFrameData (const uint32 u32Instance, uint8 * pRxBuff, const uint8 u8RxSize) { struct Lpuart_Lin_Ip_StateStructType * linCurrentState; const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig; uint32 startTime; uint32 timeoutTicks; uint8 byteCnt; struct Lpuart_Lin_Ip_StateStructType * linCurrentState; struct LPUART_Type * base; volatile Lpuart_Lin_Ip_StatusType retVal; _1; retVal.13_2; long unsigned int _3; long unsigned int _4; long unsigned int _5; long unsigned int _6; long unsigned int _7; long unsigned int _8; _Bool _9; long unsigned int startTime.14_10; long unsigned int timeoutTicks.15_11; _Bool _12; _13; retVal.16_14; _15; retVal.17_16; Lpuart_Lin_Ip_StatusType _47; [local count: 37234929]: # DEBUG BEGIN_STMT retVal ={v} 0; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG byteCnt => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT linCurrentState_26 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_25(D)]; # DEBUG linCurrentState => linCurrentState_26 # DEBUG BEGIN_STMT base_27 = Lpuart_Lin_Ip_apxBases[u32Instance_25(D)]; # DEBUG base => base_27 # DEBUG BEGIN_STMT _1 = Lpuart_Lin_Ip_StatusBeforeTransfer (u8RxSize_28(D), linCurrentState_26); retVal ={v} _1; # DEBUG BEGIN_STMT retVal.13_2 ={v} retVal; if (retVal.13_2 != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 12287527]: # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwSetIntMode (base_27, 196629, 0); # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwSetIntMode (base_27, 65551, 0); # DEBUG BEGIN_STMT linCurrentState_26->currentEventId ={v} 0; [local count: 114863532]: # byteCnt_17 = PHI <0(3), byteCnt_45(17)> # DEBUG byteCnt => byteCnt_17 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pUserConfig_34 = Lpuart_Lin_Ip_apxUserConfigs[u32Instance_25(D)]; # DEBUG pUserConfig => pUserConfig_34 # DEBUG BEGIN_STMT _3 = pUserConfig_34->u32ResponseTimeoutValue; _4 = (long unsigned int) u8RxSize_28(D); _5 = _4 + 1; _6 = _3 * _5; _7 = _6 / 500; _8 = _7 + 1; # DEBUG u32Instance => u32Instance_25(D) # DEBUG u32TimeoutValue => _8 # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_SetTimeoutCounter # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT linCurrentState_50 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_25(D)]; # DEBUG linCurrentState => linCurrentState_50 # DEBUG BEGIN_STMT linCurrentState_50->timeoutCounterFlag ={v} 0; # DEBUG BEGIN_STMT linCurrentState_50->timeoutCounter ={v} _8; # DEBUG u32Instance => NULL # DEBUG u32TimeoutValue => NULL # DEBUG linCurrentState => NULL # DEBUG BEGIN_STMT retVal ={v} 3; # DEBUG BEGIN_STMT Lpuart_Lin_Ip_StartTimeout (&startTime, &timeoutTicks, 65535, 0); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 1014686025]: # DEBUG BEGIN_STMT _9 = Lpuart_Lin_Ip_HwGetStatusFlag (base_27, 131093); if (_9 != 0) goto ; [5.50%] else goto ; [94.50%] [local count: 55807731]: # DEBUG BEGIN_STMT retVal ={v} 0; # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 958878294]: [local count: 1073741824]: # DEBUG BEGIN_STMT startTime.14_10 = startTime; timeoutTicks.15_11 = timeoutTicks; _12 = Lpuart_Lin_Ip_TimeoutExpired (startTime.14_10, timeoutTicks.15_11, 0); if (_12 != 0) goto ; [5.50%] else goto ; [94.50%] [local count: 114863532]: # DEBUG BEGIN_STMT _13 ={v} linCurrentState_26->currentEventId; if (_13 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 57431766]: # DEBUG BEGIN_STMT retVal ={v} 1; goto ; [100.00%] [local count: 57431766]: # DEBUG BEGIN_STMT retVal.16_14 ={v} retVal; if (retVal.16_14 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 18952483]: # DEBUG BEGIN_STMT _15 = Lpuart_Lin_Ip_GetBytetoBuffer (byteCnt_17, u8RxSize_28(D), pRxBuff_41(D), u32Instance_25(D)); retVal ={v} _15; goto ; [100.00%] [local count: 38479283]: # DEBUG BEGIN_STMT retVal ={v} 3; [local count: 114863532]: # DEBUG BEGIN_STMT retVal.17_16 ={v} retVal; if (retVal.17_16 != 0) goto ; [5.50%] else goto ; [94.50%] [local count: 108546037]: # DEBUG BEGIN_STMT byteCnt_45 = byteCnt_17 + 1; # DEBUG byteCnt => byteCnt_45 if (byteCnt_17 < u8RxSize_28(D)) goto ; [94.50%] else goto ; [5.50%] [local count: 102576005]: goto ; [100.00%] [local count: 12287526]: # DEBUG BEGIN_STMT Lpuart_Lin_Ip_GotoIdleState (u32Instance_25(D)); [local count: 37234929]: # DEBUG BEGIN_STMT _47 ={v} retVal; timeoutTicks ={v} {CLOBBER}; startTime ={v} {CLOBBER}; return _47; } Lpuart_Lin_Ip_AsyncReceiveFrameData (const uint32 u32Instance, uint8 * pRxBuff, const uint8 u8RxSize) { struct Lpuart_Lin_Ip_StateStructType * linCurrentState; const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig; struct Lpuart_Lin_Ip_StateStructType * linCurrentState; struct LPUART_Type * base; Lpuart_Lin_Ip_StatusType retVal; unsigned char _1; long unsigned int _2; long unsigned int _3; long unsigned int _4; long unsigned int _5; long unsigned int _6; long unsigned int _7; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG retVal => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT linCurrentState_11 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_10(D)]; # DEBUG linCurrentState => linCurrentState_11 # DEBUG BEGIN_STMT base_12 = Lpuart_Lin_Ip_apxBases[u32Instance_10(D)]; # DEBUG base => base_12 # DEBUG BEGIN_STMT retVal_15 = Lpuart_Lin_Ip_StatusBeforeTransfer (u8RxSize_13(D), linCurrentState_11); # DEBUG retVal => retVal_15 # DEBUG BEGIN_STMT if (retVal_15 != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 354334802]: # DEBUG BEGIN_STMT SchM_Enter_Lin_LIN_EXCLUSIVE_AREA_01 (); # DEBUG BEGIN_STMT linCurrentState_11->rxBuff = pRxBuff_17(D); # DEBUG BEGIN_STMT _1 = u8RxSize_13(D) + 1; linCurrentState_11->rxSize ={v} _1; # DEBUG BEGIN_STMT linCurrentState_11->cntByte = 0; # DEBUG BEGIN_STMT linCurrentState_11->currentNodeState ={v} 7; # DEBUG BEGIN_STMT linCurrentState_11->currentEventId ={v} 0; # DEBUG BEGIN_STMT linCurrentState_11->isBusBusy ={v} 1; # DEBUG BEGIN_STMT linCurrentState_11->isRxBusy ={v} 1; # DEBUG BEGIN_STMT SchM_Exit_Lin_LIN_EXCLUSIVE_AREA_01 (); # DEBUG BEGIN_STMT pUserConfig_26 = Lpuart_Lin_Ip_apxUserConfigs[u32Instance_10(D)]; # DEBUG pUserConfig => pUserConfig_26 # DEBUG BEGIN_STMT _2 = pUserConfig_26->u32ResponseTimeoutValue; _3 = (long unsigned int) u8RxSize_13(D); _4 = _3 + 1; _5 = _2 * _4; _6 = _5 / 500; _7 = _6 + 1; # DEBUG u32Instance => u32Instance_10(D) # DEBUG u32TimeoutValue => _7 # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_SetTimeoutCounter # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT linCurrentState_28 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_10(D)]; # DEBUG linCurrentState => linCurrentState_28 # DEBUG BEGIN_STMT linCurrentState_28->timeoutCounterFlag ={v} 0; # DEBUG BEGIN_STMT linCurrentState_28->timeoutCounter ={v} _7; # DEBUG u32Instance => NULL # DEBUG u32TimeoutValue => NULL # DEBUG linCurrentState => NULL # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwSetBreakCharDetectLength (base_12, 0); [local count: 1073741824]: # DEBUG BEGIN_STMT return retVal_15; } Lpuart_Lin_Ip_GetTransmitStatus (const uint32 u32Instance, uint8 * const pBytesRemaining) { uint8 u8LocalBytesRemaining; const struct Lpuart_Lin_Ip_StateStructType * linCurrentState; Lpuart_Lin_Ip_StatusType retVal; unsigned char _1; unsigned char _2; _3; _Bool _4; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG retVal => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG bBytesCountReturn => pBytesRemaining_7(D) != 0B # DEBUG BEGIN_STMT # DEBUG u8LocalBytesRemaining => 0 # DEBUG BEGIN_STMT linCurrentState_10 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_9(D)]; # DEBUG linCurrentState => linCurrentState_10 # DEBUG BEGIN_STMT _1 ={v} linCurrentState_10->txSize; _2 = linCurrentState_10->cntByte; u8LocalBytesRemaining_11 = _1 - _2; # DEBUG u8LocalBytesRemaining => u8LocalBytesRemaining_11 # DEBUG BEGIN_STMT _3 ={v} linCurrentState_10->currentEventId; if (_3 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: if (u8LocalBytesRemaining_11 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 268435456]: # DEBUG BEGIN_STMT _4 ={v} linCurrentState_10->timeoutCounterFlag; if (_4 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 134217728]: # DEBUG BEGIN_STMT # DEBUG retVal => 3 [local count: 1073741824]: # retVal_5 = PHI <0(2), 0(3), 2(4), 3(5)> # DEBUG retVal => retVal_5 # DEBUG BEGIN_STMT if (pBytesRemaining_7(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 751619278]: # DEBUG BEGIN_STMT *pBytesRemaining_7(D) = u8LocalBytesRemaining_11; [local count: 1073741824]: # DEBUG BEGIN_STMT return retVal_5; } Lpuart_Lin_Ip_SyncSendFrameData (const uint32 u32Instance, const uint8 * pTxBuff, const uint8 u8TxSize) { struct Lpuart_Lin_Ip_StateStructType * linCurrentState; const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig; uint32 timeoutTicks; uint32 startTime; uint8 sendByte; uint8 byteCnt; struct Lpuart_Lin_Ip_StateStructType * linCurrentState; struct LPUART_Type * base; Lpuart_Lin_Ip_StatusType retVal; unsigned char _1; unsigned char _2; long unsigned int _3; long unsigned int _4; long unsigned int _5; long unsigned int _6; long unsigned int _7; long unsigned int _8; _9; sizetype _10; const uint8 * _11; _Bool _12; long unsigned int startTime.10_13; long unsigned int timeoutTicks.11_14; _Bool _15; long unsigned int _50; unsigned char _51; [local count: 38844287]: # DEBUG BEGIN_STMT # DEBUG retVal => 1 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG byteCnt => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT linCurrentState_28 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_27(D)]; # DEBUG linCurrentState => linCurrentState_28 # DEBUG BEGIN_STMT base_29 = Lpuart_Lin_Ip_apxBases[u32Instance_27(D)]; # DEBUG base => base_29 # DEBUG BEGIN_STMT retVal_32 = Lpuart_Lin_Ip_StatusBeforeTransfer (u8TxSize_30(D), linCurrentState_28); # DEBUG retVal => retVal_32 # DEBUG BEGIN_STMT if (retVal_32 != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 12818615]: # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwSetIntMode (base_29, 196629, 0); # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwSetIntMode (base_29, 65551, 0); # DEBUG BEGIN_STMT linCurrentState_28->currentEventId ={v} 0; # DEBUG BEGIN_STMT _1 = linCurrentState_28->currentPid; _2 = Lpuart_Lin_Ip_MakeChecksumByte (u32Instance_27(D), pTxBuff_36(D), u8TxSize_30(D), _1); linCurrentState_28->checkSum = _2; # DEBUG BEGIN_STMT pUserConfig_39 = Lpuart_Lin_Ip_apxUserConfigs[u32Instance_27(D)]; # DEBUG pUserConfig => pUserConfig_39 # DEBUG BEGIN_STMT _3 = pUserConfig_39->u32ResponseTimeoutValue; _4 = (long unsigned int) u8TxSize_30(D); _5 = _4 + 1; _6 = _3 * _5; _7 = _6 / 500; _8 = _7 + 1; # DEBUG u32Instance => u32Instance_27(D) # DEBUG u32TimeoutValue => _8 # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_SetTimeoutCounter # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT linCurrentState_45 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_27(D)]; # DEBUG linCurrentState => linCurrentState_45 # DEBUG BEGIN_STMT linCurrentState_45->timeoutCounterFlag ={v} 0; # DEBUG BEGIN_STMT linCurrentState_45->timeoutCounter ={v} _8; [local count: 121451518]: # byteCnt_19 = PHI <0(3), byteCnt_46(18)> # DEBUG u32Instance => NULL # DEBUG u32TimeoutValue => NULL # DEBUG linCurrentState => NULL # DEBUG byteCnt => byteCnt_19 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _9 ={v} linCurrentState_28->currentEventId; if (_9 != 0) goto ; [2.75%] else goto ; [97.25%] [local count: 118111601]: if (byteCnt_19 > u8TxSize_30(D)) goto ; [2.75%] else goto ; [97.25%] [local count: 114863532]: # DEBUG BEGIN_STMT if (byteCnt_19 < u8TxSize_30(D)) goto ; [50.00%] else goto ; [50.00%] [local count: 57431766]: # DEBUG BEGIN_STMT _10 = (sizetype) byteCnt_19; _11 = pTxBuff_36(D) + _10; sendByte_41 = *_11; # DEBUG sendByte => sendByte_41 goto ; [100.00%] [local count: 57431766]: # DEBUG BEGIN_STMT sendByte_40 = linCurrentState_28->checkSum; # DEBUG sendByte => sendByte_40 [local count: 114863532]: # sendByte_20 = PHI # DEBUG sendByte => sendByte_20 # DEBUG BEGIN_STMT # DEBUG base => base_29 # DEBUG data => sendByte_20 # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwPutchar # DEBUG BEGIN_STMT # DEBUG D#1 => &base_29->DATA # DEBUG dataRegBytes => D#1 # DEBUG BEGIN_STMT MEM[(volatile uint8 *)base_29 + 28B] ={v} sendByte_20; # DEBUG base => NULL # DEBUG data => NULL # DEBUG BEGIN_STMT # DEBUG retVal => 3 # DEBUG BEGIN_STMT Lpuart_Lin_Ip_StartTimeout (&startTime, &timeoutTicks, 65535, 0); [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _12 = Lpuart_Lin_Ip_HwGetStatusFlag (base_29, 131093); if (_12 != 0) goto ; [5.50%] else goto ; [94.50%] [local count: 59055800]: # DEBUG BEGIN_STMT # DEBUG base => base_29 # DEBUG readData => &readbackByte # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwGetchar # DEBUG BEGIN_STMT _50 ={v} MEM[(const struct LPUART_Type *)base_29].DATA; _51 = (unsigned char) _50; # DEBUG readbackByte => _51 # DEBUG base => NULL # DEBUG readData => NULL # DEBUG BEGIN_STMT # DEBUG readbackByte => _51 # DEBUG sendByte => sendByte_20 # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_CheckReadbackByte # DEBUG BEGIN_STMT # DEBUG retVal => 0 # DEBUG BEGIN_STMT if (sendByte_20 != _51) goto ; [66.00%] else goto ; [34.00%] [local count: 38976828]: # DEBUG BEGIN_STMT # DEBUG retVal => 1 goto ; [100.00%] [local count: 1014686025]: # DEBUG BEGIN_STMT startTime.10_13 = startTime; timeoutTicks.11_14 = timeoutTicks; _15 = Lpuart_Lin_Ip_TimeoutExpired (startTime.10_13, timeoutTicks.11_14, 0); if (_15 != 0) goto ; [5.50%] else goto ; [94.50%] [local count: 958878293]: goto ; [100.00%] [local count: 114863532]: # retVal_16 = PHI <1(12), 3(13), 0(11)> # DEBUG readbackByte => NULL # DEBUG sendByte => NULL # DEBUG retVal => NULL # DEBUG retVal => retVal_16 # DEBUG BEGIN_STMT byteCnt_46 = byteCnt_19 + 1; # DEBUG byteCnt => byteCnt_46 if (byteCnt_19 < u8TxSize_30(D)) goto ; [97.25%] else goto ; [2.75%] [local count: 111704785]: if (retVal_16 == 0) goto ; [97.25%] else goto ; [2.75%] [local count: 108632903]: goto ; [100.00%] [local count: 12818614]: # retVal_17 = PHI <1(5), retVal_16(14), retVal_16(15), 1(4)> # DEBUG retVal => retVal_17 # DEBUG BEGIN_STMT Lpuart_Lin_Ip_GotoIdleState (u32Instance_27(D)); [local count: 38844287]: # retVal_18 = PHI # DEBUG retVal => retVal_18 # DEBUG BEGIN_STMT # DEBUG D#5 => {CLOBBER} # DEBUG readbackByte => D#5 startTime ={v} {CLOBBER}; timeoutTicks ={v} {CLOBBER}; return retVal_18; } Lpuart_Lin_Ip_AsyncSendFrameData (const uint32 u32Instance, const uint8 * pTxBuff, const uint8 u8TxSize) { struct Lpuart_Lin_Ip_StateStructType * linCurrentState; const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig; struct Lpuart_Lin_Ip_StateStructType * linCurrentState; struct LPUART_Type * base; Lpuart_Lin_Ip_StatusType retVal; unsigned char _1; unsigned char _2; unsigned char _3; long unsigned int _4; long unsigned int _5; long unsigned int _6; long unsigned int _7; long unsigned int _8; long unsigned int _9; const uint8 * _10; unsigned char _11; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG retVal => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT linCurrentState_15 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_14(D)]; # DEBUG linCurrentState => linCurrentState_15 # DEBUG BEGIN_STMT base_16 = Lpuart_Lin_Ip_apxBases[u32Instance_14(D)]; # DEBUG base => base_16 # DEBUG BEGIN_STMT retVal_19 = Lpuart_Lin_Ip_StatusBeforeTransfer (u8TxSize_17(D), linCurrentState_15); # DEBUG retVal => retVal_19 # DEBUG BEGIN_STMT if (retVal_19 != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 354334802]: # DEBUG BEGIN_STMT _1 = linCurrentState_15->currentPid; _2 = Lpuart_Lin_Ip_MakeChecksumByte (u32Instance_14(D), pTxBuff_20(D), u8TxSize_17(D), _1); linCurrentState_15->checkSum = _2; # DEBUG BEGIN_STMT SchM_Enter_Lin_LIN_EXCLUSIVE_AREA_00 (); # DEBUG BEGIN_STMT linCurrentState_15->txBuff = pTxBuff_20(D); # DEBUG BEGIN_STMT _3 = u8TxSize_17(D) + 1; linCurrentState_15->txSize ={v} _3; # DEBUG BEGIN_STMT linCurrentState_15->cntByte = 0; # DEBUG BEGIN_STMT linCurrentState_15->currentNodeState ={v} 9; # DEBUG BEGIN_STMT linCurrentState_15->currentEventId ={v} 0; # DEBUG BEGIN_STMT linCurrentState_15->isBusBusy ={v} 1; # DEBUG BEGIN_STMT linCurrentState_15->isTxBusy ={v} 1; # DEBUG BEGIN_STMT SchM_Exit_Lin_LIN_EXCLUSIVE_AREA_00 (); # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwSetBreakCharDetectLength (base_16, 0); # DEBUG BEGIN_STMT pUserConfig_33 = Lpuart_Lin_Ip_apxUserConfigs[u32Instance_14(D)]; # DEBUG pUserConfig => pUserConfig_33 # DEBUG BEGIN_STMT _4 = pUserConfig_33->u32ResponseTimeoutValue; _5 = (long unsigned int) u8TxSize_17(D); _6 = _5 + 1; _7 = _4 * _6; _8 = _7 / 500; _9 = _8 + 1; # DEBUG u32Instance => u32Instance_14(D) # DEBUG u32TimeoutValue => _9 # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_SetTimeoutCounter # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT linCurrentState_34 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_14(D)]; # DEBUG linCurrentState => linCurrentState_34 # DEBUG BEGIN_STMT linCurrentState_34->timeoutCounterFlag ={v} 0; # DEBUG BEGIN_STMT linCurrentState_34->timeoutCounter ={v} _9; # DEBUG u32Instance => NULL # DEBUG u32TimeoutValue => NULL # DEBUG linCurrentState => NULL # DEBUG BEGIN_STMT _10 = linCurrentState_15->txBuff; _11 = *_10; # DEBUG base => base_16 # DEBUG data => _11 # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwPutchar # DEBUG BEGIN_STMT # DEBUG D#1 => &base_16->DATA # DEBUG dataRegBytes => D#1 # DEBUG BEGIN_STMT MEM[(volatile uint8 *)base_16 + 28B] ={v} _11; [local count: 1073741824]: # DEBUG base => NULL # DEBUG data => NULL # DEBUG BEGIN_STMT return retVal_19; } Lpuart_Lin_Ip_Deinit (const uint32 u32Instance) { uint32 timeoutTicks; uint32 startTime; struct Lpuart_Lin_Ip_StateStructType * linCurrentState; struct LPUART_Type * base; _Bool _1; long unsigned int startTime.6_2; long unsigned int timeoutTicks.7_3; _Bool _4; [local count: 114863532]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT base_9 = Lpuart_Lin_Ip_apxBases[u32Instance_8(D)]; # DEBUG base => base_9 # DEBUG BEGIN_STMT linCurrentState_10 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_8(D)]; # DEBUG linCurrentState => linCurrentState_10 # DEBUG BEGIN_STMT Lpuart_Lin_Ip_StartTimeout (&startTime, &timeoutTicks, 65535, 0); [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = Lpuart_Lin_Ip_HwGetStatusFlag (base_9, 131094); if (_1 != 0) goto ; [5.50%] else goto ; [94.50%] [local count: 1014686025]: # DEBUG BEGIN_STMT startTime.6_2 = startTime; timeoutTicks.7_3 = timeoutTicks; _4 = Lpuart_Lin_Ip_TimeoutExpired (startTime.6_2, timeoutTicks.7_3, 0); if (_4 != 0) goto ; [5.50%] else goto ; [94.50%] [local count: 958878293]: goto ; [100.00%] [local count: 114863532]: # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwSetTransmitterCmd (base_9, 0); # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwSetReceiverCmd (base_9, 0); # DEBUG BEGIN_STMT linCurrentState_10->currentNodeState ={v} 0; # DEBUG BEGIN_STMT Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_8(D)] = 0B; startTime ={v} {CLOBBER}; timeoutTicks ={v} {CLOBBER}; return; } Lpuart_Lin_Ip_Init (const uint32 u32Instance, const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig) { struct Lpuart_Lin_Ip_StateStructType * pCrtStateStruct; struct LPUART_Type * base; _Bool _1; _Bool _2; long unsigned int _3; long unsigned int _4; long unsigned int _5; _Bool _6; unsigned char _7; unsigned char _8; unsigned char _9; uint8 * _10; unsigned char _11; unsigned char _12; _Bool _13; _Bool _14; struct Lpuart_Lin_Ip_StateStructType * _15; long unsigned int _52; long unsigned int _53; long unsigned int _54; long unsigned int _55; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT base_22 = Lpuart_Lin_Ip_apxBases[u32Instance_21(D)]; # DEBUG base => base_22 # DEBUG BEGIN_STMT pCrtStateStruct_24 = pUserConfig_23(D)->pStateStruct; # DEBUG pCrtStateStruct => pCrtStateStruct_24 # DEBUG BEGIN_STMT Lpuart_Lin_Ip_apxUserConfigs[u32Instance_21(D)] = pUserConfig_23(D); # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwInit (base_22); # DEBUG BEGIN_STMT _1 = pUserConfig_23(D)->autobaudEnable; if (_1 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: _2 = pUserConfig_23(D)->nodeFunction; if (_2 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 268435456]: # DEBUG BEGIN_STMT pCrtStateStruct_24->fallingEdgeInterruptCount ={v} 0; # DEBUG BEGIN_STMT pCrtStateStruct_24->baudrateEvalEnable ={v} 1; [local count: 1073741824]: # DEBUG BEGIN_STMT _3 = pUserConfig_23(D)->u32OverSamplingRatio; if (_3 <= 7) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG base => base_22 # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwEnableBothEdgeSamplingCmd # DEBUG BEGIN_STMT _52 ={v} base_22->BAUD; _53 = _52 | 131072; base_22->BAUD ={v} _53; [local count: 1073741824]: # DEBUG base => NULL # DEBUG BEGIN_STMT _4 = _3 + 4294967295; Lpuart_Lin_Ip_HwSetOversamplingRatio (base_22, _4); # DEBUG BEGIN_STMT _5 = pUserConfig_23(D)->u32BaudRateDivisor; Lpuart_Lin_Ip_HwSetBaudRateDivisor (base_22, _5); # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwSetBitCountPerChar (base_22, 0, 0); # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwSetParityMode (base_22, 0); # DEBUG BEGIN_STMT # DEBUG base => base_22 # DEBUG stopBitCount => 0 # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwSetStopBitCount # DEBUG BEGIN_STMT _54 ={v} base_22->BAUD; _55 = _54 & 4294959103; base_22->BAUD ={v} _55; # DEBUG base => NULL # DEBUG stopBitCount => NULL # DEBUG BEGIN_STMT _6 = pUserConfig_23(D)->nodeFunction; if (_6 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT _7 = pUserConfig_23(D)->u8BreakLength; Lpuart_Lin_Ip_HwSetBreakCharTransmitLength (base_22, _7); # DEBUG BEGIN_STMT _8 = pUserConfig_23(D)->u8BreakLengthDetect; Lpuart_Lin_Ip_HwSetBreakCharDetectLength (base_22, _8); goto ; [100.00%] [local count: 536870913]: # DEBUG BEGIN_STMT _9 = pUserConfig_23(D)->u8BreakLengthDetect; Lpuart_Lin_Ip_HwSetBreakCharDetectLength (base_22, _9); # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwSetIntMode (base_22, 65551, 1); [local count: 1073741824]: # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwClearStatusFlag (base_22, 0); # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwSetIntMode (base_22, 196629, 0); # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwSetIntMode (base_22, 196633, 1); # DEBUG BEGIN_STMT pCrtStateStruct_24->currentNodeState ={v} 2; # DEBUG BEGIN_STMT pCrtStateStruct_24->isTxBusy ={v} 0; # DEBUG BEGIN_STMT pCrtStateStruct_24->isRxBusy ={v} 0; # DEBUG BEGIN_STMT pCrtStateStruct_24->isBusBusy ={v} 0; # DEBUG BEGIN_STMT pCrtStateStruct_24->timeoutCounterFlag ={v} 0; # DEBUG BEGIN_STMT pCrtStateStruct_24->timeoutCounter ={v} 0; # DEBUG BEGIN_STMT _10 = pUserConfig_23(D)->classicPID; pCrtStateStruct_24->classicPID = _10; # DEBUG BEGIN_STMT _11 = pUserConfig_23(D)->numOfClassicPID; pCrtStateStruct_24->numOfClassicPID = _11; # DEBUG BEGIN_STMT _12 = pUserConfig_23(D)->u8WakeupByte; Lpuart_Lin_Ip_au8WakeupSignal[u32Instance_21(D)] = _12; # DEBUG BEGIN_STMT _13 = pUserConfig_23(D)->autobaudEnable; if (_13 != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 719407023]: _14 = pUserConfig_23(D)->nodeFunction; if (_14 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 714038314]: # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwSetTransmitterCmd (base_22, 1); # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwSetReceiverCmd (base_22, 1); [local count: 1073741824]: # DEBUG BEGIN_STMT _15 = pUserConfig_23(D)->pStateStruct; Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_21(D)] = _15; return; } Lpuart_Lin_Ip_ProcessWakeupDetect (const uint32 u32Instance) { struct LPUART_Type * base; const struct Lpuart_Lin_Ip_StateStructType * linCurrentState; _1; _Bool _2; [local count: 1073741824]: # DEBUG BEGIN_STMT linCurrentState_6 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_5(D)]; # DEBUG linCurrentState => linCurrentState_6 # DEBUG BEGIN_STMT base_7 = Lpuart_Lin_Ip_apxBases[u32Instance_5(D)]; # DEBUG base => base_7 # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwClearStatusFlag (base_7, 131102); # DEBUG BEGIN_STMT _1 ={v} linCurrentState_6->currentNodeState; switch (_1) [33.33%], case 1: [33.33%], case 4: [33.33%]> [local count: 357878150]: : # DEBUG BEGIN_STMT Lpuart_Lin_Ip_CheckWakeupSignal (u32Instance_5(D)); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 357878150]: : # DEBUG BEGIN_STMT _2 ={v} linCurrentState_6->baudrateEvalEnable; if (_2 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 118099789]: # DEBUG BEGIN_STMT Lpuart_Lin_Ip_AutoBaudCapture (u32Instance_5(D)); [local count: 1073634452]: : return; } Lpuart_Lin_Ip_AutoBaudCapture (const uint32 u32Instance) { struct LPUART_Type * base; struct Lpuart_Lin_Ip_StateStructType * linCurrentState; const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig; uint8 wakeupByte; uint32 masterBaudrateDivisor; uint32 tickPerMicros; uint32 u32ElapsedTicks; static uint8 fallingEgdeCount; static uint32 currentTick; unsigned char fallingEgdeCount.25_1; unsigned char _2; long unsigned int _3; long unsigned int _4; long unsigned int _5; long unsigned int _6; long unsigned int _7; long unsigned int _8; long unsigned int _9; long unsigned int _10; long unsigned int _11; long unsigned int _12; long unsigned int _13; long unsigned int _14; long unsigned int _15; long unsigned int _16; void (*) (uint32, void *) _17; long unsigned int _18; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG masterBaudrateDivisor => 0 # DEBUG BEGIN_STMT # DEBUG wakeupByte => 248 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT linCurrentState_31 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_30(D)]; # DEBUG linCurrentState => linCurrentState_31 # DEBUG BEGIN_STMT base_32 = Lpuart_Lin_Ip_apxBases[u32Instance_30(D)]; # DEBUG base => base_32 # DEBUG BEGIN_STMT pUserConfig_33 = Lpuart_Lin_Ip_apxUserConfigs[u32Instance_30(D)]; # DEBUG pUserConfig => pUserConfig_33 # DEBUG BEGIN_STMT fallingEgdeCount.25_1 = fallingEgdeCount; _2 = fallingEgdeCount.25_1 + 1; fallingEgdeCount = _2; if (fallingEgdeCount.25_1 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT u32ElapsedTicks_38 = OsIf_GetElapsed (¤tTick, 0); # DEBUG u32ElapsedTicks => u32ElapsedTicks_38 # DEBUG BEGIN_STMT tickPerMicros_40 = OsIf_MicrosToTicks (1000000, 0); # DEBUG tickPerMicros => tickPerMicros_40 # DEBUG BEGIN_STMT _3 = tickPerMicros_40 * 51041; if (_3 <= u32ElapsedTicks_38) goto ; [50.00%] else goto ; [50.00%] [local count: 268435456]: _4 = tickPerMicros_40 * 53125; if (_4 >= u32ElapsedTicks_38) goto ; [50.00%] else goto ; [50.00%] [local count: 134217728]: # DEBUG BEGIN_STMT # DEBUG masterBaudrateDivisor => 19200 # DEBUG BEGIN_STMT # DEBUG wakeupByte => 128 [local count: 536870913]: # masterBaudrateDivisor_19 = PHI <0(3), 0(4), 19200(5)> # wakeupByte_24 = PHI <248(3), 248(4), 128(5)> # DEBUG wakeupByte => wakeupByte_24 # DEBUG masterBaudrateDivisor => masterBaudrateDivisor_19 # DEBUG BEGIN_STMT _5 = tickPerMicros_40 * 68055; if (_5 <= u32ElapsedTicks_38) goto ; [50.00%] else goto ; [50.00%] [local count: 268435456]: _6 = tickPerMicros_40 * 70833; if (_6 >= u32ElapsedTicks_38) goto ; [50.00%] else goto ; [50.00%] [local count: 134217728]: # DEBUG BEGIN_STMT # DEBUG masterBaudrateDivisor => 14400 # DEBUG BEGIN_STMT # DEBUG wakeupByte => 128 [local count: 536870913]: # masterBaudrateDivisor_20 = PHI # wakeupByte_25 = PHI # DEBUG wakeupByte => wakeupByte_25 # DEBUG masterBaudrateDivisor => masterBaudrateDivisor_20 # DEBUG BEGIN_STMT _7 = tickPerMicros_40 * 102083; if (_7 <= u32ElapsedTicks_38) goto ; [50.00%] else goto ; [50.00%] [local count: 268435456]: _8 = tickPerMicros_40 * 106250; if (_8 >= u32ElapsedTicks_38) goto ; [50.00%] else goto ; [50.00%] [local count: 134217728]: # DEBUG BEGIN_STMT # DEBUG masterBaudrateDivisor => 9600 [local count: 536870913]: # masterBaudrateDivisor_21 = PHI # DEBUG masterBaudrateDivisor => masterBaudrateDivisor_21 # DEBUG BEGIN_STMT _9 = tickPerMicros_40 * 204166; if (_9 <= u32ElapsedTicks_38) goto ; [50.00%] else goto ; [50.00%] [local count: 268435456]: _10 = tickPerMicros_40 * 212500; if (_10 >= u32ElapsedTicks_38) goto ; [50.00%] else goto ; [50.00%] [local count: 134217728]: # DEBUG BEGIN_STMT # DEBUG masterBaudrateDivisor => 4800 [local count: 536870913]: # masterBaudrateDivisor_22 = PHI # DEBUG masterBaudrateDivisor => masterBaudrateDivisor_22 # DEBUG BEGIN_STMT _11 = tickPerMicros_40 * 408333; if (_11 <= u32ElapsedTicks_38) goto ; [50.00%] else goto ; [50.00%] [local count: 268435456]: _12 = tickPerMicros_40 * 425000; if (_12 >= u32ElapsedTicks_38) goto ; [50.00%] else goto ; [50.00%] [local count: 402653184]: # DEBUG masterBaudrateDivisor => masterBaudrateDivisor_22 # DEBUG BEGIN_STMT if (masterBaudrateDivisor_22 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 335544320]: # masterBaudrateDivisor_28 = PHI # DEBUG masterBaudrateDivisor => NULL # DEBUG BEGIN_STMT _13 = pUserConfig_33->u32ChannelClock; _14 = pUserConfig_33->u32OverSamplingRatio; _15 = _14 * masterBaudrateDivisor_28; masterBaudrateDivisor_41 = _13 / _15; # DEBUG masterBaudrateDivisor => masterBaudrateDivisor_41 [local count: 536870913]: # masterBaudrateDivisor_23 = PHI # DEBUG masterBaudrateDivisor => masterBaudrateDivisor_23 # DEBUG BEGIN_STMT if (masterBaudrateDivisor_23 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 268435456]: _16 = pUserConfig_33->u32BaudRateDivisor; if (_16 != masterBaudrateDivisor_23) goto ; [48.88%] else goto ; [51.12%] [local count: 131211251]: # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwSetBaudRateDivisor (base_32, masterBaudrateDivisor_23); # DEBUG BEGIN_STMT Lpuart_Lin_Ip_au8WakeupSignal[u32Instance_30(D)] = wakeupByte_25; # DEBUG BEGIN_STMT linCurrentState_31->currentEventId ={v} 2; # DEBUG BEGIN_STMT linCurrentState_31->baudrateEvalEnable ={v} 0; # DEBUG BEGIN_STMT _17 = pUserConfig_33->Callback; if (_17 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 91847876]: # DEBUG BEGIN_STMT _17 (u32Instance_30(D), linCurrentState_31); [local count: 131211251]: # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwSetIntMode (base_32, 65550, 0); # DEBUG BEGIN_STMT linCurrentState_31->currentNodeState ={v} 6; # DEBUG BEGIN_STMT linCurrentState_31->currentEventId ={v} 4; goto ; [100.00%] [local count: 536870913]: # DEBUG BEGIN_STMT _18 = OsIf_GetCounter (0); currentTick = _18; [local count: 1073741824]: return; } Lpuart_Lin_Ip_MakeChecksumByte (const uint32 u32Instance, const uint8 * buffer, const uint8 sizeBuffer, const uint8 PID) { const uint8 numOfClassicPID; const struct Lpuart_Lin_Ip_StateStructType * linCurrentState; uint8 retVal; const uint8 * classicPID; uint8 checkSum; sizetype _1; const uint8 * _2; unsigned char _3; [local count: 248622364]: # DEBUG BEGIN_STMT # DEBUG checkSum => PID_6(D) # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG retVal => 0 # DEBUG BEGIN_STMT linCurrentState_9 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_8(D)]; # DEBUG linCurrentState => linCurrentState_9 # DEBUG BEGIN_STMT numOfClassicPID_10 = linCurrentState_9->numOfClassicPID; # DEBUG numOfClassicPID => numOfClassicPID_10 # DEBUG BEGIN_STMT classicPID_11 = linCurrentState_9->classicPID; # DEBUG classicPID => classicPID_11 # DEBUG BEGIN_STMT if (numOfClassicPID_10 == 255) goto ; [34.00%] else goto ; [66.00%] [local count: 164090760]: # DEBUG BEGIN_STMT if (classicPID_11 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 114863532]: goto ; [100.00%] [local count: 1014686025]: # DEBUG BEGIN_STMT _1 = (sizetype) retVal_5; _2 = classicPID_11 + _1; _3 = *_2; if (_3 == PID_6(D)) goto ; [5.50%] else goto ; [94.50%] [local count: 958878293]: # DEBUG BEGIN_STMT retVal_12 = retVal_5 + 1; # DEBUG retVal => retVal_12 [local count: 1073741824]: # retVal_5 = PHI # DEBUG retVal => retVal_5 # DEBUG BEGIN_STMT if (retVal_5 < numOfClassicPID_10) goto ; [94.50%] else goto ; [5.50%] [local count: 248622363]: # checkSum_4 = PHI <0(2), PID_6(D)(3), 0(4), PID_6(D)(6)> # DEBUG checkSum => checkSum_4 # DEBUG BEGIN_STMT retVal_16 = Lin_Ip_MakeChecksumByte (buffer_13(D), sizeBuffer_14(D), checkSum_4); # DEBUG retVal => retVal_16 # DEBUG BEGIN_STMT return retVal_16; } Lpuart_Lin_Ip_FrameErrorIrqHandler (const uint32 u32Instance) { const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig; struct Lpuart_Lin_Ip_StateStructType * linCurrentState; struct LPUART_Type * base; _1; void (*) (uint32, void *) _2; _3; void (*) (uint32, void *) _4; long unsigned int _15; [local count: 1073741823]: # DEBUG BEGIN_STMT base_8 = Lpuart_Lin_Ip_apxBases[u32Instance_7(D)]; # DEBUG base => base_8 # DEBUG BEGIN_STMT linCurrentState_9 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_7(D)]; # DEBUG linCurrentState => linCurrentState_9 # DEBUG BEGIN_STMT pUserConfig_10 = Lpuart_Lin_Ip_apxUserConfigs[u32Instance_7(D)]; # DEBUG pUserConfig => pUserConfig_10 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT Lpuart_Lin_Ip_HwClearStatusFlag (base_8, 131089); # DEBUG BEGIN_STMT # DEBUG base => base_8 # DEBUG readData => &tmpByte # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwGetchar # DEBUG BEGIN_STMT _15 ={v} MEM[(const struct LPUART_Type *)base_8].DATA; # DEBUG tmpByte => (unsigned char) _15 # DEBUG base => NULL # DEBUG readData => NULL # DEBUG BEGIN_STMT linCurrentState_9->currentEventId ={v} 8; # DEBUG BEGIN_STMT _1 ={v} linCurrentState_9->currentNodeState; if (_1 == 9) goto ; [34.00%] else goto ; [66.00%] [local count: 365072220]: # DEBUG BEGIN_STMT _2 = pUserConfig_10->Callback; if (_2 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 255550554]: # DEBUG BEGIN_STMT _2 (u32Instance_7(D), linCurrentState_9); goto ; [100.00%] [local count: 708669604]: # DEBUG BEGIN_STMT _3 ={v} linCurrentState_9->currentNodeState; if (_3 == 7) goto ; [34.00%] else goto ; [66.00%] [local count: 240947665]: # DEBUG BEGIN_STMT _4 = pUserConfig_10->Callback; if (_4 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 168663365]: # DEBUG BEGIN_STMT _4 (u32Instance_7(D), linCurrentState_9); [local count: 1073741824]: # DEBUG D#2 => {CLOBBER} # DEBUG tmpByte => D#2 return; } Lpuart_Lin_Ip_StatusBeforeTransfer (const uint8 u8Size, const struct Lpuart_Lin_Ip_StateStructType * linCurrentState) { Lpuart_Lin_Ip_StatusType retVal; _1; unsigned char _2; _Bool _3; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG retVal => 0 # DEBUG BEGIN_STMT _1 ={v} linCurrentState_6(D)->currentNodeState; # DEBUG checkSleepMode => _1 == 1 # DEBUG BEGIN_STMT _2 = u8Size_7(D) + 255; if (_2 > 7) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: if (_1 == 1) goto ; [34.00%] else goto ; [66.00%] [local count: 354334802]: # DEBUG BEGIN_STMT _3 ={v} linCurrentState_6(D)->isBusBusy; if (_3 != 0) goto ; [35.00%] else goto ; [65.00%] [local count: 124017181]: # DEBUG BEGIN_STMT # DEBUG retVal => 2 [local count: 1073741824]: # retVal_4 = PHI <1(3), 0(4), 2(5), 1(2)> # DEBUG retVal => retVal_4 # DEBUG BEGIN_STMT return retVal_4; } Lpuart_Lin_Ip_GetBytetoBuffer (const uint8 byteCnt, const uint8 u8BuffSize, uint8 * pBuff, const uint32 u32Instance) { struct Lpuart_Lin_Ip_StateStructType * linCurrentState; const struct LPUART_Type * base; Lpuart_Lin_Ip_StatusType retVal; sizetype _1; uint8 * _2; unsigned char _3; unsigned char _4; long unsigned int _18; unsigned char _19; long unsigned int _20; unsigned char _21; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG retVal => 0 # DEBUG BEGIN_STMT base_9 = Lpuart_Lin_Ip_apxBases[u32Instance_8(D)]; # DEBUG base => base_9 # DEBUG BEGIN_STMT linCurrentState_10 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_8(D)]; # DEBUG linCurrentState => linCurrentState_10 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (byteCnt_11(D) < u8BuffSize_12(D)) goto ; [67.00%] else goto ; [33.00%] [local count: 719407023]: # DEBUG BEGIN_STMT _1 = (sizetype) byteCnt_11(D); _2 = pBuff_13(D) + _1; # DEBUG base => base_9 # DEBUG readData => _2 # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwGetchar # DEBUG BEGIN_STMT _18 ={v} base_9->DATA; _19 = (unsigned char) _18; *_2 = _19; goto ; [100.00%] [local count: 354334802]: # DEBUG BEGIN_STMT # DEBUG base => base_9 # DEBUG readData => &checkSum # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwGetchar # DEBUG BEGIN_STMT _20 ={v} base_9->DATA; _21 = (unsigned char) _20; # DEBUG checkSum => _21 # DEBUG base => NULL # DEBUG readData => NULL # DEBUG BEGIN_STMT _3 = linCurrentState_10->currentPid; _4 = Lpuart_Lin_Ip_MakeChecksumByte (u32Instance_8(D), pBuff_13(D), u8BuffSize_12(D), _3); if (_4 != _21) goto ; [66.00%] else goto ; [34.00%] [local count: 233860969]: # DEBUG BEGIN_STMT linCurrentState_10->currentEventId ={v} 10; # DEBUG BEGIN_STMT # DEBUG retVal => 1 goto ; [100.00%] [local count: 120473833]: # DEBUG BEGIN_STMT linCurrentState_10->currentEventId ={v} 12; # DEBUG BEGIN_STMT linCurrentState_10->currentNodeState ={v} 8; # DEBUG BEGIN_STMT # DEBUG retVal => 0 [local count: 1073741824]: # retVal_5 = PHI <0(3), 1(5), 0(6)> # DEBUG base => NULL # DEBUG readData => NULL # DEBUG retVal => retVal_5 # DEBUG BEGIN_STMT # DEBUG D#3 => {CLOBBER} # DEBUG checkSum => D#3 return retVal_5; } Lpuart_Lin_Ip_HwSetBreakCharDetectLength (struct LPUART_Type * base, uint8 length) { long unsigned int _1; long unsigned int _2; long unsigned int _3; long unsigned int _4; long unsigned int _5; [local count: 1073741824]: # DEBUG BEGIN_STMT SchM_Enter_Lin_LIN_EXCLUSIVE_AREA_04 (); # DEBUG BEGIN_STMT _1 ={v} base_8(D)->STAT; _2 = _1 & 1038106623; _3 = (long unsigned int) length_9(D); _4 = _3 << 25; _5 = _2 | _4; base_8(D)->STAT ={v} _5; # DEBUG BEGIN_STMT SchM_Exit_Lin_LIN_EXCLUSIVE_AREA_04 (); return; } Lpuart_Lin_Ip_HwSetBreakCharTransmitLength (struct LPUART_Type * base, uint8 length) { long unsigned int _1; long unsigned int _2; long unsigned int _3; long unsigned int _4; long unsigned int _5; [local count: 1073741824]: # DEBUG BEGIN_STMT _1 ={v} base_7(D)->STAT; _2 = _1 & 1004552191; _3 = (long unsigned int) length_8(D); _4 = _3 << 26; _5 = _2 | _4; base_7(D)->STAT ={v} _5; return; } Lpuart_Lin_Ip_HwSetOversamplingRatio (struct LPUART_Type * base, uint32 overSamplingRatio) { uint32 baudRegValTemp; long unsigned int _1; long unsigned int _2; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT baudRegValTemp_5 ={v} base_4(D)->BAUD; # DEBUG baudRegValTemp => baudRegValTemp_5 # DEBUG BEGIN_STMT baudRegValTemp_6 = baudRegValTemp_5 & 3774873599; # DEBUG baudRegValTemp => baudRegValTemp_6 # DEBUG BEGIN_STMT _1 = overSamplingRatio_7(D) << 24; _2 = _1 & 520093696; baudRegValTemp_8 = _2 | baudRegValTemp_6; # DEBUG baudRegValTemp => baudRegValTemp_8 # DEBUG BEGIN_STMT base_4(D)->BAUD ={v} baudRegValTemp_8; return; } Lpuart_Lin_Ip_HwSetBaudRateDivisor (struct LPUART_Type * base, uint32 baudRateDivisor) { uint32 baudRegValTemp; long unsigned int _1; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT baudRegValTemp_4 ={v} base_3(D)->BAUD; # DEBUG baudRegValTemp => baudRegValTemp_4 # DEBUG BEGIN_STMT baudRegValTemp_5 = baudRegValTemp_4 & 4294959104; # DEBUG baudRegValTemp => baudRegValTemp_5 # DEBUG BEGIN_STMT _1 = baudRateDivisor_6(D) & 8191; baudRegValTemp_7 = _1 | baudRegValTemp_5; # DEBUG baudRegValTemp => baudRegValTemp_7 # DEBUG BEGIN_STMT base_3(D)->BAUD ={v} baudRegValTemp_7; return; } Lpuart_Lin_Ip_HwSetReceiverCmd (struct LPUART_Type * base, boolean enable) { uint32 timeoutTicks; uint32 startTime; long unsigned int _1; long unsigned int _2; long unsigned int _3; long unsigned int _4; long unsigned int _5; _Bool _6; long unsigned int startTime.4_7; long unsigned int timeoutTicks.5_8; _Bool _9; long unsigned int iftmp.3_10; [local count: 12992276]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 ={v} base_13(D)->CTRL; _2 = _1 & 4294705151; if (enable_14(D) != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 6496138]: [local count: 12992276]: # iftmp.3_10 = PHI <262144(2), 0(3)> _3 = _2 | iftmp.3_10; base_13(D)->CTRL ={v} _3; # DEBUG BEGIN_STMT Lpuart_Lin_Ip_StartTimeout (&startTime, &timeoutTicks, 65535, 0); [local count: 118111600]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _4 ={v} base_13(D)->CTRL; _5 = _4 & 262144; _6 = _5 != 0; if (_6 != enable_14(D)) goto ; [89.00%] else goto ; [11.00%] [local count: 955630224]: goto ; [100.00%] [local count: 118111601]: # DEBUG BEGIN_STMT startTime.4_7 = startTime; timeoutTicks.5_8 = timeoutTicks; _9 = Lpuart_Lin_Ip_TimeoutExpired (startTime.4_7, timeoutTicks.5_8, 0); if (_9 != 0) goto ; [11.00%] else goto ; [89.00%] [local count: 105119325]: goto ; [100.00%] [local count: 12992276]: startTime ={v} {CLOBBER}; timeoutTicks ={v} {CLOBBER}; return; } Lpuart_Lin_Ip_HwSetTransmitterCmd (struct LPUART_Type * base, boolean enable) { uint32 timeoutTicks; uint32 startTime; long unsigned int _1; long unsigned int _2; long unsigned int _3; long unsigned int _4; long unsigned int _5; _Bool _6; long unsigned int startTime.1_7; long unsigned int timeoutTicks.2_8; _Bool _9; long unsigned int iftmp.0_10; [local count: 12992276]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 ={v} base_13(D)->CTRL; _2 = _1 & 4294443007; if (enable_14(D) != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 6496138]: [local count: 12992276]: # iftmp.0_10 = PHI <524288(2), 0(3)> _3 = _2 | iftmp.0_10; base_13(D)->CTRL ={v} _3; # DEBUG BEGIN_STMT Lpuart_Lin_Ip_StartTimeout (&startTime, &timeoutTicks, 65535, 0); [local count: 118111600]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _4 ={v} base_13(D)->CTRL; _5 = _4 & 524288; _6 = _5 != 0; if (_6 != enable_14(D)) goto ; [89.00%] else goto ; [11.00%] [local count: 955630224]: goto ; [100.00%] [local count: 118111601]: # DEBUG BEGIN_STMT startTime.1_7 = startTime; timeoutTicks.2_8 = timeoutTicks; _9 = Lpuart_Lin_Ip_TimeoutExpired (startTime.1_7, timeoutTicks.2_8, 0); if (_9 != 0) goto ; [11.00%] else goto ; [89.00%] [local count: 105119325]: goto ; [100.00%] [local count: 12992276]: startTime ={v} {CLOBBER}; timeoutTicks ={v} {CLOBBER}; return; }