Lpspi_Ip_GetStatus (uint8 u8Instance) { Lpspi_Ip_HwStatusType status; const struct Lpspi_Ip_StateStructureType * state; Lpspi_Ip_HwStatusType D.4883; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT status = 0; # DEBUG BEGIN_STMT if (u8Instance > 5) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT DevAssert (0); goto ; [INV] : # DEBUG BEGIN_STMT _1 = (int) u8Instance; state = Lpspi_Ip_StateStructureArray[_1]; # DEBUG BEGIN_STMT if (state != 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT status = state->status; : # DEBUG BEGIN_STMT D.4883 = status; return D.4883; } Lpspi_Ip_IrqHandler (uint8 u8Instance) { uint32 u32IrqFlags; const struct Lpspi_Ip_StateStructureType * state; struct LPSPI_Type * base; long unsigned int D.4873; : # DEBUG BEGIN_STMT _1 = (int) u8Instance; base = Lpspi_Ip_Bases[_1]; # DEBUG BEGIN_STMT _2 = (int) u8Instance; state = Lpspi_Ip_StateStructureArray[_2]; # DEBUG BEGIN_STMT u32IrqFlags = 0; # DEBUG BEGIN_STMT if (state != 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _3 = base->SR; u32IrqFlags = _3 & 6147; # DEBUG BEGIN_STMT _4 = base->IER; D.4873 = _4 & 6147; u32IrqFlags = D.4873 & u32IrqFlags; # DEBUG BEGIN_STMT if (u32IrqFlags != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT Lpspi_Ip_TransferProcess (u8Instance); goto ; [INV] : # DEBUG BEGIN_STMT _5 = base->SR; base->SR = _5; goto ; [INV] : # DEBUG BEGIN_STMT _6 = base->SR; base->SR = _6; : return; } Lpspi_Ip_Cancel (uint8 u8Instance) { uint32 u32Cfgr1; struct Lpspi_Ip_StateStructureType * state; struct LPSPI_Type * base; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT u32Cfgr1 = 0; # DEBUG BEGIN_STMT if (u8Instance > 5) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT DevAssert (0); goto ; [INV] : # DEBUG BEGIN_STMT _1 = (int) u8Instance; base = Lpspi_Ip_Bases[_1]; # DEBUG BEGIN_STMT _2 = (int) u8Instance; state = Lpspi_Ip_StateStructureArray[_2]; # DEBUG BEGIN_STMT if (state == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT DevAssert (0); goto ; [INV] : # DEBUG BEGIN_STMT SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_10 (); # DEBUG BEGIN_STMT _3 = state->status; if (_3 == 2) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _4 = base->CR; _5 = _4 & 4294967294; base->CR = _5; # DEBUG BEGIN_STMT u32Cfgr1 = base->CFGR1; # DEBUG BEGIN_STMT _6 = base->CR; _7 = _6 | 2; base->CR = _7; # DEBUG BEGIN_STMT _8 = base->CR; _9 = _8 & 4294967293; base->CR = _9; # DEBUG BEGIN_STMT base->CFGR1 = u32Cfgr1; # DEBUG BEGIN_STMT state->status = 1; : # DEBUG BEGIN_STMT SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_10 (); : return; } Lpspi_Ip_UpdateTransferMode (uint8 u8Instance, Lpspi_Ip_ModeType Mode) { Lpspi_Ip_StatusType status; struct Lpspi_Ip_StateStructureType * state; Lpspi_Ip_StatusType D.4861; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT status = 0; # DEBUG BEGIN_STMT if (u8Instance > 5) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT DevAssert (0); # DEBUG BEGIN_STMT status = 1; goto ; [INV] : # DEBUG BEGIN_STMT _1 = (int) u8Instance; state = Lpspi_Ip_StateStructureArray[_1]; # DEBUG BEGIN_STMT if (state == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT DevAssert (0); # DEBUG BEGIN_STMT status = 1; goto ; [INV] : # DEBUG BEGIN_STMT _2 = state->status; if (_2 != 2) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT state->transferMode = Mode; goto ; [INV] : # DEBUG BEGIN_STMT status = 1; : # DEBUG BEGIN_STMT D.4861 = status; return D.4861; } Lpspi_Ip_UpdateDefaultTransmitData (const struct Lpspi_Ip_ExternalDeviceType * pExternalDevice, uint32 u32DefaultData) { Lpspi_Ip_StatusType status; const struct Lpspi_Ip_StateStructureType * state; Lpspi_Ip_StatusType D.4850; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT status = 0; # DEBUG BEGIN_STMT if (pExternalDevice == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT DevAssert (0); # DEBUG BEGIN_STMT status = 1; goto ; [INV] : # DEBUG BEGIN_STMT _1 = pExternalDevice->u8Instance; _2 = (int) _1; state = Lpspi_Ip_StateStructureArray[_2]; # DEBUG BEGIN_STMT if (state == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT DevAssert (0); # DEBUG BEGIN_STMT status = 1; goto ; [INV] : # DEBUG BEGIN_STMT _3 = state->status; if (_3 != 2) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _4 = pExternalDevice->pDeviceParams; _4->u32DefaultData = u32DefaultData; goto ; [INV] : # DEBUG BEGIN_STMT status = 1; : # DEBUG BEGIN_STMT D.4850 = status; return D.4850; } Lpspi_Ip_UpdateLsb (const struct Lpspi_Ip_ExternalDeviceType * pExternalDevice, boolean bLsb) { Lpspi_Ip_StatusType status; const struct Lpspi_Ip_StateStructureType * state; Lpspi_Ip_StatusType D.4839; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT status = 0; # DEBUG BEGIN_STMT if (pExternalDevice == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT DevAssert (0); # DEBUG BEGIN_STMT status = 1; goto ; [INV] : # DEBUG BEGIN_STMT _1 = pExternalDevice->u8Instance; _2 = (int) _1; state = Lpspi_Ip_StateStructureArray[_2]; # DEBUG BEGIN_STMT if (state == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT DevAssert (0); # DEBUG BEGIN_STMT status = 1; goto ; [INV] : # DEBUG BEGIN_STMT _3 = state->status; if (_3 != 2) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _4 = pExternalDevice->pDeviceParams; _4->lsb = bLsb; goto ; [INV] : # DEBUG BEGIN_STMT status = 1; : # DEBUG BEGIN_STMT D.4839 = status; return D.4839; } Lpspi_Ip_UpdateFrameSize (const struct Lpspi_Ip_ExternalDeviceType * pExternalDevice, uint8 u8FrameSize) { Lpspi_Ip_StatusType status; const struct Lpspi_Ip_StateStructureType * state; Lpspi_Ip_StatusType D.4828; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT status = 0; # DEBUG BEGIN_STMT if (pExternalDevice == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT DevAssert (0); # DEBUG BEGIN_STMT status = 1; goto ; [INV] : # DEBUG BEGIN_STMT _1 = u8FrameSize + 252; if (_1 > 28) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT DevAssert (0); # DEBUG BEGIN_STMT status = 1; goto ; [INV] : # DEBUG BEGIN_STMT _2 = pExternalDevice->u8Instance; _3 = (int) _2; state = Lpspi_Ip_StateStructureArray[_3]; # DEBUG BEGIN_STMT if (state == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT DevAssert (0); # DEBUG BEGIN_STMT status = 1; goto ; [INV] : # DEBUG BEGIN_STMT _4 = state->status; if (_4 != 2) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _5 = pExternalDevice->pDeviceParams; _5->u8FrameSize = u8FrameSize; goto ; [INV] : # DEBUG BEGIN_STMT status = 1; : # DEBUG BEGIN_STMT D.4828 = status; return D.4828; } Lpspi_Ip_ManageBuffers (uint8 u8Instance) { const struct Lpspi_Ip_StateStructureType * state; const struct LPSPI_Type * base; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (u8Instance > 5) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT DevAssert (0); goto ; [INV] : # DEBUG BEGIN_STMT _1 = (int) u8Instance; base = Lpspi_Ip_Bases[_1]; # DEBUG BEGIN_STMT _2 = (int) u8Instance; state = Lpspi_Ip_StateStructureArray[_2]; # DEBUG BEGIN_STMT if (state == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT DevAssert (0); goto ; [INV] : # DEBUG BEGIN_STMT _3 = state->transferMode; if (_3 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _4 = base->SR; _5 = _4 & 3; if (_5 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT Lpspi_Ip_TransferProcess (u8Instance); : return; } Lpspi_Ip_AsyncTransmit (const struct Lpspi_Ip_ExternalDeviceType * pExternalDevice, uint8 * pu8TxBuffer, uint8 * pu8RxBuffer, uint16 u16Length, void (*Lpspi_Ip_CallbackType) (uint8, Lpspi_Ip_EventType) EndCallback) { uint8 u8Instance; Lpspi_Ip_StatusType status; struct Lpspi_Ip_StateStructureType * state; struct LPSPI_Type * base; Lpspi_Ip_StatusType D.4778; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT status = 0; # DEBUG BEGIN_STMT u8Instance = 0; # DEBUG BEGIN_STMT if (pExternalDevice == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT DevAssert (0); # DEBUG BEGIN_STMT status = 1; goto ; [INV] : # DEBUG BEGIN_STMT if (u16Length == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT DevAssert (0); # DEBUG BEGIN_STMT status = 1; goto ; [INV] : # DEBUG BEGIN_STMT u8Instance = pExternalDevice->u8Instance; # DEBUG BEGIN_STMT _1 = (int) u8Instance; base = Lpspi_Ip_Bases[_1]; # DEBUG BEGIN_STMT _2 = (int) u8Instance; state = Lpspi_Ip_StateStructureArray[_2]; # DEBUG BEGIN_STMT if (state == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT DevAssert (0); # DEBUG BEGIN_STMT status = 1; goto ; [INV] : # DEBUG BEGIN_STMT _3 = pExternalDevice->pDeviceParams; _4 = _3->u8FrameSize; if (_4 > 16) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _5 = u16Length & 3; if (_5 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT DevAssert (0); # DEBUG BEGIN_STMT status = 1; goto ; [INV] : # DEBUG BEGIN_STMT _6 = pExternalDevice->pDeviceParams; _7 = _6->u8FrameSize; if (_7 > 8) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _8 = u16Length & 1; if (_8 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT DevAssert (0); # DEBUG BEGIN_STMT status = 1; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (status != 1) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_09 (); # DEBUG BEGIN_STMT _9 = state->status; if (_9 == 2) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_09 (); # DEBUG BEGIN_STMT status = 1; goto ; [INV] : # DEBUG BEGIN_STMT state->status = 2; # DEBUG BEGIN_STMT SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_09 (); # DEBUG BEGIN_STMT _10 = pExternalDevice->pDeviceParams; _11 = _10->u8FrameSize; state->u8FrameSize = _11; # DEBUG BEGIN_STMT _12 = pExternalDevice->pDeviceParams; _13 = _12->lsb; state->lsb = _13; # DEBUG BEGIN_STMT _14 = pExternalDevice->pDeviceParams; _15 = _14->u32DefaultData; state->u32DefaultData = _15; # DEBUG BEGIN_STMT state->pExternalDevice = pExternalDevice; # DEBUG BEGIN_STMT state->callback = EndCallback; # DEBUG BEGIN_STMT Lpspi_TransmitTxInit (u8Instance, pu8TxBuffer, u16Length); # DEBUG BEGIN_STMT Lpspi_TransmitRxInit (u8Instance, pu8RxBuffer, u16Length); # DEBUG BEGIN_STMT base->DER = 0; # DEBUG BEGIN_STMT _16 = state->transferMode; _17 = (int) _16; switch (_17) [INV], case 0: [INV], case 1: [INV]> : : # DEBUG BEGIN_STMT base->IER = 0; # DEBUG BEGIN_STMT goto ; [INV] : : # DEBUG BEGIN_STMT base->IER = 6147; # DEBUG BEGIN_STMT : : # DEBUG BEGIN_STMT D.4778 = status; return D.4778; } Lpspi_TransmitRxInit (uint8 u8Instance, uint8 * pu8RxBuffer, uint16 numberOfFrames) { struct Lpspi_Ip_StateStructureType * state; : # DEBUG BEGIN_STMT _1 = (int) u8Instance; state = Lpspi_Ip_StateStructureArray[_1]; # DEBUG BEGIN_STMT state->rxIndex = 0; # DEBUG BEGIN_STMT state->pu8RxBuffer = pu8RxBuffer; # DEBUG BEGIN_STMT _2 = state->u8FrameSize; if (_2 <= 8) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT state->expectedFifoReads = numberOfFrames; goto ; [INV] : # DEBUG BEGIN_STMT _3 = state->u8FrameSize; if (_3 <= 16) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _4 = numberOfFrames / 2; state->expectedFifoReads = _4; goto ; [INV] : # DEBUG BEGIN_STMT _5 = numberOfFrames / 4; state->expectedFifoReads = _5; : return; } Lpspi_TransmitTxInit (uint8 u8Instance, uint8 * pu8TxBuffer, uint16 numberOfFrames) { uint32 u32Cfgr1; uint32 u32TransferCommand; struct Lpspi_Ip_StateStructureType * state; struct LPSPI_Type * base; : # DEBUG BEGIN_STMT _1 = (int) u8Instance; base = Lpspi_Ip_Bases[_1]; # DEBUG BEGIN_STMT _2 = (int) u8Instance; state = Lpspi_Ip_StateStructureArray[_2]; # DEBUG BEGIN_STMT u32TransferCommand = 0; # DEBUG BEGIN_STMT u32Cfgr1 = 0; # DEBUG BEGIN_STMT _3 = state->bFirstCmd; if (_3 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_11 (); # DEBUG BEGIN_STMT _4 = base->CR; _5 = _4 & 4294967294; base->CR = _5; # DEBUG BEGIN_STMT u32Cfgr1 = base->CFGR1; # DEBUG BEGIN_STMT _6 = base->CR; _7 = _6 | 2; base->CR = _7; # DEBUG BEGIN_STMT _8 = base->CR; _9 = _8 & 4294967293; base->CR = _9; # DEBUG BEGIN_STMT base->CFGR1 = u32Cfgr1; # DEBUG BEGIN_STMT _10 = base->SR; base->SR = _10; # DEBUG BEGIN_STMT _11 = state->bSlaveMode; _12 = ~_11; if (_12 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _13 = state->pExternalDevice; _14 = _13->ccr; base->CCR = _14; : # DEBUG BEGIN_STMT _15 = state->pExternalDevice; _16 = _15->tcr; _17 = state->u8FrameSize; _18 = (long unsigned int) _17; _19 = _18 + 4294967295; _20 = _19 & 4095; _21 = _16 | _20; _22 = state->lsb; _23 = (long unsigned int) _22; _24 = _23 << 23; _25 = _24 & 8388608; u32TransferCommand = _21 | _25; # DEBUG BEGIN_STMT _26 = state->bSlaveMode; if (_26 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT u32TransferCommand = u32TransferCommand & 4292870143; : # DEBUG BEGIN_STMT _27 = state->bFirstCmd; if (_27 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT base->TCR = u32TransferCommand; # DEBUG BEGIN_STMT _28 = base->CR; _29 = _28 | 1; base->CR = _29; # DEBUG BEGIN_STMT SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_11 (); goto ; [INV] : # DEBUG BEGIN_STMT _30 = u32TransferCommand & 2097152; if (_30 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _31 = u32TransferCommand | 1048576; base->TCR = _31; goto ; [INV] : # DEBUG BEGIN_STMT base->TCR = u32TransferCommand; : # DEBUG BEGIN_STMT state->txIndex = 0; # DEBUG BEGIN_STMT state->pu8TxBuffer = pu8TxBuffer; # DEBUG BEGIN_STMT _32 = state->u8FrameSize; if (_32 <= 8) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT state->expectedFifoWrites = numberOfFrames; goto ; [INV] : # DEBUG BEGIN_STMT _33 = state->u8FrameSize; if (_33 <= 16) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _34 = numberOfFrames / 2; state->expectedFifoWrites = _34; goto ; [INV] : # DEBUG BEGIN_STMT _35 = numberOfFrames / 4; state->expectedFifoWrites = _35; : return; } Lpspi_Ip_SyncTransmit (const struct Lpspi_Ip_ExternalDeviceType * pExternalDevice, uint8 * pu8TxBuffer, uint8 * pu8RxBuffer, uint16 u16Length, uint32 u32TimeOut) { uint8 u8Instance; uint32 ElapsedTicks; uint32 CurrentTicks; uint32 TimeoutTicks; Lpspi_Ip_StatusType DataProcessStatus; Lpspi_Ip_StatusType status; uint8 numberOfReads; struct Lpspi_Ip_StateStructureType * state; struct LPSPI_Type * base; Lpspi_Ip_StatusType D.4694; long unsigned int D.4684; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT status = 0; # DEBUG BEGIN_STMT DataProcessStatus = 1; # DEBUG BEGIN_STMT TimeoutTicks = OsIf_MicrosToTicks (u32TimeOut, 0); # DEBUG BEGIN_STMT CurrentTicks = 0; # DEBUG BEGIN_STMT ElapsedTicks = 0; # DEBUG BEGIN_STMT u8Instance = 0; # DEBUG BEGIN_STMT if (pExternalDevice == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT DevAssert (0); # DEBUG BEGIN_STMT status = 1; goto ; [INV] : # DEBUG BEGIN_STMT if (u16Length == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT DevAssert (0); # DEBUG BEGIN_STMT status = 1; goto ; [INV] : # DEBUG BEGIN_STMT if (u32TimeOut == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT DevAssert (0); # DEBUG BEGIN_STMT status = 1; goto ; [INV] : # DEBUG BEGIN_STMT u8Instance = pExternalDevice->u8Instance; # DEBUG BEGIN_STMT _1 = (int) u8Instance; base = Lpspi_Ip_Bases[_1]; # DEBUG BEGIN_STMT _2 = (int) u8Instance; state = Lpspi_Ip_StateStructureArray[_2]; # DEBUG BEGIN_STMT if (state == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT DevAssert (0); # DEBUG BEGIN_STMT status = 1; goto ; [INV] : # DEBUG BEGIN_STMT _3 = pExternalDevice->pDeviceParams; _4 = _3->u8FrameSize; if (_4 > 16) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _5 = u16Length & 3; if (_5 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT DevAssert (0); # DEBUG BEGIN_STMT status = 1; goto ; [INV] : # DEBUG BEGIN_STMT _6 = pExternalDevice->pDeviceParams; _7 = _6->u8FrameSize; if (_7 > 8) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _8 = u16Length & 1; if (_8 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT DevAssert (0); # DEBUG BEGIN_STMT status = 1; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (status != 1) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_08 (); # DEBUG BEGIN_STMT _9 = state->status; if (_9 == 2) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_08 (); # DEBUG BEGIN_STMT status = 1; goto ; [INV] : # DEBUG BEGIN_STMT state->status = 2; # DEBUG BEGIN_STMT SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_08 (); # DEBUG BEGIN_STMT base->DER = 0; # DEBUG BEGIN_STMT base->IER = 0; # DEBUG BEGIN_STMT _10 = pExternalDevice->pDeviceParams; _11 = _10->u8FrameSize; state->u8FrameSize = _11; # DEBUG BEGIN_STMT _12 = pExternalDevice->pDeviceParams; _13 = _12->lsb; state->lsb = _13; # DEBUG BEGIN_STMT _14 = pExternalDevice->pDeviceParams; _15 = _14->u32DefaultData; state->u32DefaultData = _15; # DEBUG BEGIN_STMT state->pExternalDevice = pExternalDevice; # DEBUG BEGIN_STMT Lpspi_TransmitTxInit (u8Instance, pu8TxBuffer, u16Length); # DEBUG BEGIN_STMT Lpspi_TransmitRxInit (u8Instance, pu8RxBuffer, u16Length); # DEBUG BEGIN_STMT _16 = OsIf_GetCounter (0); CurrentTicks = _16; # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT _17 = base->FSR; _18 = _17 >> 16; _19 = (unsigned char) _18; numberOfReads = _19 & 7; # DEBUG BEGIN_STMT if (numberOfReads > 4) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT numberOfReads = 4; : # DEBUG BEGIN_STMT if (numberOfReads != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _20 = (int) numberOfReads; _21 = state->expectedFifoReads; _22 = (int) _21; _23 = state->rxIndex; _24 = (int) _23; _25 = _22 - _24; if (_20 > _25) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _26 = state->expectedFifoReads; _27 = (unsigned char) _26; _28 = state->rxIndex; _29 = (unsigned char) _28; numberOfReads = _27 - _29; : # DEBUG BEGIN_STMT if (numberOfReads != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT ElapsedTicks = 0; : # DEBUG BEGIN_STMT Lpspi_Ip_ReadData (u8Instance, numberOfReads); : # DEBUG BEGIN_STMT DataProcessStatus = Lpspi_Ip_PushDataProcess (u8Instance); # DEBUG BEGIN_STMT if (DataProcessStatus == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT ElapsedTicks = 0; : # DEBUG BEGIN_STMT _30 = base->SR; _31 = _30 & 6144; if (_31 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _32 = base->SR; _33 = _32 & 6144; base->SR = _33; # DEBUG BEGIN_STMT status = 2; : # DEBUG BEGIN_STMT D.4684 = OsIf_GetElapsed (&CurrentTicks, 0); ElapsedTicks = D.4684 + ElapsedTicks; # DEBUG BEGIN_STMT if (ElapsedTicks >= TimeoutTicks) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT status = 3; : # DEBUG BEGIN_STMT _34 = state->rxIndex; _35 = state->expectedFifoReads; if (_34 != _35) goto ; [INV] else goto ; [INV] : if (status == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _36 = state->bKeepCs; _37 = ~_36; if (_37 != 0) goto ; [INV] else goto ; [INV] : if (status != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _38 = base->CR; _39 = _38 & 4294967294; base->CR = _39; : # DEBUG BEGIN_STMT if (status != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT state->status = 3; goto ; [INV] : # DEBUG BEGIN_STMT state->status = 1; : # DEBUG BEGIN_STMT D.4694 = status; CurrentTicks = {CLOBBER}; return D.4694; } Lpspi_Ip_DeInit (uint8 u8Instance) { Lpspi_Ip_StatusType status; const struct Lpspi_Ip_StateStructureType * state; struct LPSPI_Type * base; Lpspi_Ip_StatusType D.4643; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT status = 0; # DEBUG BEGIN_STMT if (u8Instance > 5) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT DevAssert (0); # DEBUG BEGIN_STMT status = 1; goto ; [INV] : # DEBUG BEGIN_STMT _1 = (int) u8Instance; base = Lpspi_Ip_Bases[_1]; # DEBUG BEGIN_STMT _2 = (int) u8Instance; state = Lpspi_Ip_StateStructureArray[_2]; # DEBUG BEGIN_STMT if (state == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT DevAssert (0); # DEBUG BEGIN_STMT status = 1; goto ; [INV] : # DEBUG BEGIN_STMT _3 = state->status; if (_3 == 2) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT status = 1; goto ; [INV] : # DEBUG BEGIN_STMT _4 = base->CR; _5 = _4 | 2; base->CR = _5; # DEBUG BEGIN_STMT base->CR = 0; # DEBUG BEGIN_STMT _6 = (int) u8Instance; Lpspi_Ip_StateStructureArray[_6] = 0B; : # DEBUG BEGIN_STMT D.4643 = status; return D.4643; } Lpspi_Ip_Init (const struct Lpspi_Ip_ConfigType * pPhyUnitConfigPtr) { uint8 u8Instance; Lpspi_Ip_StatusType status; struct Lpspi_Ip_StateStructureType * state; struct LPSPI_Type * base; Lpspi_Ip_StatusType D.4629; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT status = 0; # DEBUG BEGIN_STMT u8Instance = 0; # DEBUG BEGIN_STMT if (pPhyUnitConfigPtr == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT DevAssert (0); # DEBUG BEGIN_STMT status = 1; goto ; [INV] : # DEBUG BEGIN_STMT u8Instance = pPhyUnitConfigPtr->u8Instance; # DEBUG BEGIN_STMT _1 = (int) u8Instance; state = Lpspi_Ip_StateStructureArray[_1]; # DEBUG BEGIN_STMT _2 = (int) u8Instance; base = Lpspi_Ip_Bases[_2]; # DEBUG BEGIN_STMT if (state != 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT DevAssert (0); # DEBUG BEGIN_STMT status = 1; goto ; [INV] : # DEBUG BEGIN_STMT _3 = (int) u8Instance; _4 = pPhyUnitConfigPtr->stateStructure; Lpspi_Ip_StateStructureArray[_3] = _4; # DEBUG BEGIN_STMT _5 = (int) u8Instance; state = Lpspi_Ip_StateStructureArray[_5]; # DEBUG BEGIN_STMT _6 = pPhyUnitConfigPtr->cr; _7 = _6 | 8; base->CR = _7; # DEBUG BEGIN_STMT _8 = pPhyUnitConfigPtr->cfgr1; base->CFGR1 = _8; # DEBUG BEGIN_STMT base->FCR = 2; # DEBUG BEGIN_STMT _9 = pPhyUnitConfigPtr->bSlaveMode; state->bSlaveMode = _9; # DEBUG BEGIN_STMT state->bKeepCs = 0; # DEBUG BEGIN_STMT state->bFirstCmd = 1; # DEBUG BEGIN_STMT state->status = 1; # DEBUG BEGIN_STMT _10 = pPhyUnitConfigPtr->transferMode; Lpspi_Ip_UpdateTransferMode (u8Instance, _10); : # DEBUG BEGIN_STMT D.4629 = status; return D.4629; } Lpspi_Ip_TransferProcess (uint8 u8Instance) { boolean bErrorFlag; uint8 numberOfReads; uint32 srStatusRegister; struct Lpspi_Ip_StateStructureType * state; struct LPSPI_Type * base; : # DEBUG BEGIN_STMT _1 = (int) u8Instance; base = Lpspi_Ip_Bases[_1]; # DEBUG BEGIN_STMT _2 = (int) u8Instance; state = Lpspi_Ip_StateStructureArray[_2]; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT bErrorFlag = 0; # DEBUG BEGIN_STMT _3 = state->status; if (_3 == 2) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT srStatusRegister = base->SR; # DEBUG BEGIN_STMT _4 = base->SR; base->SR = _4; # DEBUG BEGIN_STMT _5 = srStatusRegister & 6144; if (_5 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT bErrorFlag = 1; goto ; [INV] : # DEBUG BEGIN_STMT _6 = base->FSR; _7 = _6 >> 16; _8 = (unsigned char) _7; numberOfReads = _8 & 7; # DEBUG BEGIN_STMT if (numberOfReads > 4) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT numberOfReads = 4; : # DEBUG BEGIN_STMT if (numberOfReads != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _9 = (int) numberOfReads; _10 = state->expectedFifoReads; _11 = (int) _10; _12 = state->rxIndex; _13 = (int) _12; _14 = _11 - _13; if (_9 > _14) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _15 = state->expectedFifoReads; _16 = (unsigned char) _15; _17 = state->rxIndex; _18 = (unsigned char) _17; numberOfReads = _16 - _18; : # DEBUG BEGIN_STMT Lpspi_Ip_ReadData (u8Instance, numberOfReads); : # DEBUG BEGIN_STMT Lpspi_Ip_PushDataProcess (u8Instance); : # DEBUG BEGIN_STMT _19 = state->rxIndex; _20 = state->expectedFifoReads; if (_19 == _20) goto ; [INV] else goto ; [INV] : if (bErrorFlag != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _21 = state->bKeepCs; _22 = ~_21; if (_22 != 0) goto ; [INV] else goto ; [INV] : if (bErrorFlag != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_12 (); # DEBUG BEGIN_STMT _23 = base->CR; _24 = _23 & 4294967294; base->CR = _24; # DEBUG BEGIN_STMT SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_12 (); : # DEBUG BEGIN_STMT base->IER = 0; # DEBUG BEGIN_STMT if (bErrorFlag != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT state->status = 3; goto ; [INV] : # DEBUG BEGIN_STMT state->status = 1; : # DEBUG BEGIN_STMT _25 = state->callback; if (_25 != 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT if (bErrorFlag != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _26 = state->callback; _26 (u8Instance, 1); goto ; [INV] : # DEBUG BEGIN_STMT _27 = state->callback; _27 (u8Instance, 0); : return; } Lpspi_Ip_PushDataProcess (uint8 u8Instance) { Lpspi_Ip_StatusType status; uint8 numberOfReads; uint8 numberOfWrites; const struct Lpspi_Ip_StateStructureType * state; struct LPSPI_Type * base; Lpspi_Ip_StatusType D.4743; : # DEBUG BEGIN_STMT _1 = (int) u8Instance; base = Lpspi_Ip_Bases[_1]; # DEBUG BEGIN_STMT _2 = (int) u8Instance; state = Lpspi_Ip_StateStructureArray[_2]; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT status = 1; # DEBUG BEGIN_STMT _3 = base->FSR; _4 = (unsigned char) _3; numberOfWrites = _4 & 7; # DEBUG BEGIN_STMT _5 = base->FSR; _6 = _5 >> 16; _7 = (unsigned char) _6; numberOfReads = _7 & 7; # DEBUG BEGIN_STMT _8 = (int) numberOfWrites; _9 = (int) numberOfReads; _10 = _8 + _9; if (_10 <= 3) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _11 = numberOfWrites + numberOfReads; numberOfWrites = 3 - _11; goto ; [INV] : # DEBUG BEGIN_STMT numberOfWrites = 0; : # DEBUG BEGIN_STMT if (numberOfWrites != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _12 = (int) numberOfWrites; _13 = state->expectedFifoWrites; _14 = (int) _13; _15 = state->txIndex; _16 = (int) _15; _17 = _14 - _16; if (_12 > _17) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _18 = state->expectedFifoWrites; _19 = (unsigned char) _18; _20 = state->txIndex; _21 = (unsigned char) _20; numberOfWrites = _19 - _21; : # DEBUG BEGIN_STMT _22 = state->expectedFifoWrites; _23 = state->txIndex; if (_22 == _23) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _24 = base->IER; _25 = _24 & 4294967294; base->IER = _25; # DEBUG BEGIN_STMT _26 = state->bKeepCs; _27 = ~_26; if (_27 != 0) goto ; [INV] else goto ; [INV] : _28 = base->TCR; _29 = _28 & 2097152; if (_29 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _30 = base->TCR; _31 = _30 & 4291821567; base->TCR = _31; # DEBUG BEGIN_STMT status = 0; goto ; [INV] : # DEBUG BEGIN_STMT status = 0; : # DEBUG BEGIN_STMT Lpspi_Ip_PushData (u8Instance, numberOfWrites); : # DEBUG BEGIN_STMT D.4743 = status; return D.4743; } Lpspi_Ip_PushData (uint8 u8Instance, uint8 numberOfWrites) { uint8 i; uint32 data; struct Lpspi_Ip_StateStructureType * state; struct LPSPI_Type * base; : # DEBUG BEGIN_STMT _1 = (int) u8Instance; base = Lpspi_Ip_Bases[_1]; # DEBUG BEGIN_STMT _2 = (int) u8Instance; state = Lpspi_Ip_StateStructureArray[_2]; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT i = 0; goto ; [INV] : # DEBUG BEGIN_STMT _3 = state->pu8TxBuffer; if (_3 != 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _4 = state->u8FrameSize; if (_4 <= 8) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _5 = state->pu8TxBuffer; _6 = state->txIndex; _7 = (sizetype) _6; _8 = _5 + _7; _9 = *_8; data = (uint32) _9; goto ; [INV] : # DEBUG BEGIN_STMT _10 = state->u8FrameSize; if (_10 <= 16) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _11 = state->pu8TxBuffer; _12 = state->txIndex; _13 = (unsigned int) _12; _14 = _13 * 2; _15 = _11 + _14; _16 = *_15; data = (uint32) _16; goto ; [INV] : # DEBUG BEGIN_STMT _17 = state->pu8TxBuffer; _18 = state->txIndex; _19 = (unsigned int) _18; _20 = _19 * 4; _21 = _17 + _20; data = *_21; goto ; [INV] : # DEBUG BEGIN_STMT data = state->u32DefaultData; : # DEBUG BEGIN_STMT base->TDR = data; # DEBUG BEGIN_STMT _22 = state->txIndex; _23 = _22; _24 = _23 + 1; state->txIndex = _24; # DEBUG BEGIN_STMT i.2_25 = i; i = i.2_25 + 1; : # DEBUG BEGIN_STMT if (i < numberOfWrites) goto ; [INV] else goto ; [INV] : return; } Lpspi_Ip_ReadData (uint8 u8Instance, uint8 numberOfReads) { uint8 i; uint32 data; struct Lpspi_Ip_StateStructureType * state; const struct LPSPI_Type * base; : # DEBUG BEGIN_STMT _1 = (int) u8Instance; base = Lpspi_Ip_Bases[_1]; # DEBUG BEGIN_STMT _2 = (int) u8Instance; state = Lpspi_Ip_StateStructureArray[_2]; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT i = 0; goto ; [INV] : # DEBUG BEGIN_STMT data = base->RDR; # DEBUG BEGIN_STMT _3 = state->pu8RxBuffer; if (_3 != 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _4 = state->u8FrameSize; if (_4 <= 8) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _5 = state->pu8RxBuffer; _6 = state->rxIndex; _7 = (sizetype) _6; _8 = _5 + _7; _9 = (unsigned char) data; *_8 = _9; goto ; [INV] : # DEBUG BEGIN_STMT _10 = state->u8FrameSize; if (_10 <= 16) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _11 = state->pu8RxBuffer; _12 = state->rxIndex; _13 = (unsigned int) _12; _14 = _13 * 2; _15 = _11 + _14; _16 = (short unsigned int) data; *_15 = _16; goto ; [INV] : # DEBUG BEGIN_STMT _17 = state->pu8RxBuffer; _18 = state->rxIndex; _19 = (unsigned int) _18; _20 = _19 * 4; _21 = _17 + _20; *_21 = data; : # DEBUG BEGIN_STMT _22 = state->rxIndex; _23 = _22; _24 = _23 + 1; state->rxIndex = _24; # DEBUG BEGIN_STMT i.1_25 = i; i = i.1_25 + 1; : # DEBUG BEGIN_STMT if (i < numberOfReads) goto ; [INV] else goto ; [INV] : return; } DevAssert (volatile boolean x) { : # DEBUG BEGIN_STMT x.0_1 = x; if (x.0_1 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT return; }