ADM/GW/Debug_FLASH/RTD/src/Lpi2c_Ip.c.069i.profile_estimate
2024-08-08 10:00:15 +09:00

4856 lines
119 KiB
Plaintext

Histogram:
13 indirect calls trained.
0 (0.00%) have common target.
0 (0.00%) targets was not found.
0 (0.00%) targets had parameter count mismatch.
0 (0.00%) targets was not in polymorphic call target list.
0 (0.00%) speculations seems useless.
0 (0.00%) speculations produced.
Lpi2c_Ip_SetMasterHighSpeedMode (uint32 u32Instance, boolean bHighSpeedEnabled)
{
struct Lpi2c_Ip_MasterStateType * master;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
master_4 = g_lpi2cMasterStatePtr[u32Instance_3(D)];
# DEBUG master => master_4
# DEBUG BEGIN_STMT
if (bHighSpeedEnabled_5(D) != 0)
goto <bb 3>; [50.00%]
else
goto <bb 4>; [50.00%]
<bb 3> [local count: 536870913]:
# DEBUG BEGIN_STMT
master_4->operatingMode = 3;
goto <bb 5>; [100.00%]
<bb 4> [local count: 536870913]:
# DEBUG BEGIN_STMT
master_4->operatingMode = 0;
<bb 5> [local count: 1073741824]:
return;
}
Lpi2c_Ip_SetSlaveCallback (uint32 u32Instance, void (*Lpi2c_Ip_SlaveCallbackType) (Lpi2c_Ip_SlaveEventType, uint8) slaveCallback)
{
struct Lpi2c_Ip_SlaveStateType * slave;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
slave_3 = g_lpi2cSlaveStatePtr[u32Instance_2(D)];
# DEBUG slave => slave_3
# DEBUG BEGIN_STMT
slave_3->slaveCallback = slaveCallback_4(D);
return;
}
Lpi2c_Ip_SetMasterCallback (uint32 u32Instance, void (*Lpi2c_Ip_MasterCallbackType) (Lpi2c_Ip_MasterEventType, uint8) masterCallback)
{
struct Lpi2c_Ip_MasterStateType * master;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
master_3 = g_lpi2cMasterStatePtr[u32Instance_2(D)];
# DEBUG master => master_3
# DEBUG BEGIN_STMT
master_3->masterCallback = masterCallback_4(D);
return;
}
Lpi2c_Ip_ModuleIRQHandler (uint32 instance)
{
uint32 u32SlaveIsrStatus;
uint32 u32SlaveIsrEnable;
uint32 u32MasterIsrStatus;
uint32 u32MasterIsrEnable;
struct LPI2C_Type * baseAddr;
struct Lpi2c_Ip_SlaveStateType * _1;
struct Lpi2c_Ip_MasterStateType * _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;
<bb 2> [local count: 1073741823]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG u32MasterIsrEnable => 0
# DEBUG BEGIN_STMT
# DEBUG u32MasterIsrStatus => 0
# DEBUG BEGIN_STMT
# DEBUG u32SlaveIsrEnable => 0
# DEBUG BEGIN_STMT
# DEBUG u32SlaveIsrStatus => 0
# DEBUG BEGIN_STMT
baseAddr_14 = g_lpi2cBase[instance_13(D)];
# DEBUG baseAddr => baseAddr_14
# DEBUG BEGIN_STMT
_1 = g_lpi2cSlaveStatePtr[instance_13(D)];
if (_1 != 0B)
goto <bb 4>; [70.00%]
else
goto <bb 3>; [30.00%]
<bb 3> [local count: 322122547]:
_2 = g_lpi2cMasterStatePtr[instance_13(D)];
if (_2 != 0B)
goto <bb 4>; [70.00%]
else
goto <bb 12>; [30.00%]
<bb 4> [local count: 977105059]:
# DEBUG BEGIN_STMT
_3 ={v} baseAddr_14->MIER;
u32MasterIsrEnable_17 = _3 & 32515;
# DEBUG u32MasterIsrEnable => u32MasterIsrEnable_17
# DEBUG BEGIN_STMT
_4 ={v} baseAddr_14->MSR;
u32MasterIsrStatus_18 = _4 & 32515;
# DEBUG u32MasterIsrStatus => u32MasterIsrStatus_18
# DEBUG BEGIN_STMT
_5 ={v} baseAddr_14->SIER;
u32SlaveIsrEnable_19 = _5 & 65295;
# DEBUG u32SlaveIsrEnable => u32SlaveIsrEnable_19
# DEBUG BEGIN_STMT
_6 ={v} baseAddr_14->SSR;
u32SlaveIsrStatus_20 = _6 & 65295;
# DEBUG u32SlaveIsrStatus => u32SlaveIsrStatus_20
# DEBUG BEGIN_STMT
if (u32MasterIsrEnable_17 != 0)
goto <bb 5>; [50.00%]
else
goto <bb 6>; [50.00%]
<bb 5> [local count: 488552529]:
if (u32MasterIsrStatus_18 != 0)
goto <bb 8>; [50.00%]
else
goto <bb 6>; [50.00%]
<bb 6> [local count: 732828795]:
if (u32SlaveIsrEnable_19 != 0)
goto <bb 7>; [50.00%]
else
goto <bb 11>; [50.00%]
<bb 7> [local count: 366414397]:
if (u32SlaveIsrStatus_20 != 0)
goto <bb 8>; [50.00%]
else
goto <bb 11>; [50.00%]
<bb 8> [local count: 427483463]:
# DEBUG BEGIN_STMT
if (_1 == 0B)
goto <bb 9>; [30.00%]
else
goto <bb 10>; [70.00%]
<bb 9> [local count: 128245039]:
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterIRQHandler (instance_13(D));
goto <bb 13>; [100.00%]
<bb 10> [local count: 299238425]:
# DEBUG BEGIN_STMT
Lpi2c_Ip_SlaveIRQHandler (instance_13(D));
goto <bb 13>; [100.00%]
<bb 11> [local count: 549621597]:
# DEBUG BEGIN_STMT
_7 ={v} baseAddr_14->MSR;
baseAddr_14->MSR ={v} _7;
# DEBUG BEGIN_STMT
_8 ={v} baseAddr_14->SSR;
baseAddr_14->SSR ={v} _8;
goto <bb 13>; [100.00%]
<bb 12> [local count: 96636764]:
# DEBUG BEGIN_STMT
_9 ={v} baseAddr_14->MSR;
baseAddr_14->MSR ={v} _9;
# DEBUG BEGIN_STMT
_10 ={v} baseAddr_14->SSR;
baseAddr_14->SSR ={v} _10;
<bb 13> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
return;
}
Lpi2c_Ip_SlaveIRQHandler (uint32 instance)
{
uint32 regValue;
uint32 regValue;
boolean repeatStartDetect;
struct Lpi2c_Ip_SlaveStateType * slave;
struct LPI2C_Type * baseAddr;
unsigned char _1;
unsigned char _2;
_Bool _3;
long unsigned int _17;
_Bool _18;
long unsigned int _20;
_Bool _21;
<bb 2> [local count: 1073741823]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG stopDetect => 0
# DEBUG repeatStartDetect => 0
# DEBUG BEGIN_STMT
baseAddr_9 = g_lpi2cBase[instance_8(D)];
# DEBUG baseAddr => baseAddr_9
# DEBUG BEGIN_STMT
slave_10 = g_lpi2cSlaveStatePtr[instance_8(D)];
# DEBUG slave => slave_10
# DEBUG BEGIN_STMT
Lpi2c_Ip_SlaveCheckDataEvent (instance_8(D), baseAddr_9, slave_10);
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_9
# DEBUG INLINE_ENTRY LPI2C_Get_SlaveSTOPDetectEvent
# DEBUG BEGIN_STMT
regValue_19 ={v} MEM[(const struct LPI2C_Type *)baseAddr_9].SSR;
# DEBUG regValue => regValue_19
# DEBUG BEGIN_STMT
_20 = regValue_19 >> 9;
# DEBUG regValue => _20 & 1
# DEBUG BEGIN_STMT
_21 = (_Bool) _20;
# DEBUG baseAddr => NULL
# DEBUG regValue => NULL
# DEBUG stopDetect => _21
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_9
# DEBUG INLINE_ENTRY LPI2C_Get_SlaveRepeatedStartEvent
# DEBUG BEGIN_STMT
regValue_16 ={v} MEM[(const struct LPI2C_Type *)baseAddr_9].SSR;
# DEBUG regValue => regValue_16
# DEBUG BEGIN_STMT
_17 = regValue_16 >> 8;
# DEBUG regValue => _17 & 1
# DEBUG BEGIN_STMT
_18 = (_Bool) _17;
# DEBUG baseAddr => NULL
# DEBUG regValue => NULL
# DEBUG repeatStartDetect => _18
# DEBUG BEGIN_STMT
if (_18 != 0)
goto <bb 3>; [50.00%]
else
goto <bb 6>; [50.00%]
<bb 3> [local count: 536870911]:
# DEBUG BEGIN_STMT
_1 = slave_10->repeatedStarts;
_2 = _1 + 1;
slave_10->repeatedStarts = _2;
# DEBUG BEGIN_STMT
if (_2 == 1)
goto <bb 4>; [34.00%]
else
goto <bb 6>; [66.00%]
<bb 4> [local count: 182536110]:
_3 = slave_10->is10bitAddress;
if (_3 != 0)
goto <bb 5>; [50.00%]
else
goto <bb 6>; [50.00%]
<bb 5> [local count: 91268055]:
# DEBUG BEGIN_STMT
# DEBUG repeatStartDetect => 0
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_9
# DEBUG INLINE_ENTRY LPI2C_Clear_SlaveRepeatedStartEvent
# DEBUG BEGIN_STMT
baseAddr_9->SSR ={v} 256;
<bb 6> [local count: 1073741823]:
# repeatStartDetect_4 = PHI <_18(2), 1(3), 1(4), 0(5)>
# DEBUG baseAddr => NULL
# DEBUG repeatStartDetect => repeatStartDetect_4
# DEBUG BEGIN_STMT
if (_21 != 0)
goto <bb 8>; [33.00%]
else
goto <bb 7>; [67.00%]
<bb 7> [local count: 719407022]:
if (repeatStartDetect_4 != 0)
goto <bb 8>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 8> [local count: 714038313]:
# DEBUG BEGIN_STMT
Lpi2c_Ip_SlaveStopDetectHandler (baseAddr_9, slave_10);
# DEBUG BEGIN_STMT
if (_21 != 0)
goto <bb 9>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 9> [local count: 357019156]:
# DEBUG BEGIN_STMT
slave_10->repeatedStarts = 0;
<bb 10> [local count: 1073741824]:
# DEBUG BEGIN_STMT
Lpi2c_Ip_SlaveCheckErrorEvent (baseAddr_9, slave_10);
return;
}
Lpi2c_Ip_SlaveCheckErrorEvent (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_SlaveStateType * slave)
{
uint32 regValue;
long unsigned int _7;
_Bool _8;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_3(D)
# DEBUG INLINE_ENTRY LPI2C_Get_SlaveBitErrorEvent
# DEBUG BEGIN_STMT
regValue_6 ={v} MEM[(const struct LPI2C_Type *)baseAddr_3(D)].SSR;
# DEBUG regValue => regValue_6
# DEBUG BEGIN_STMT
_7 = regValue_6 >> 10;
# DEBUG regValue => _7 & 1
# DEBUG BEGIN_STMT
_8 = (_Bool) _7;
# DEBUG baseAddr => NULL
# DEBUG regValue => NULL
if (_8 != 0)
goto <bb 3>; [33.00%]
else
goto <bb 4>; [67.00%]
<bb 3> [local count: 354334802]:
# DEBUG BEGIN_STMT
Lpi2c_Ip_SlaveBitErrorEventHandler (baseAddr_3(D), slave_4(D));
<bb 4> [local count: 1073741824]:
return;
}
Lpi2c_Ip_SlaveBitErrorEventHandler (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_SlaveStateType * slave)
{
uint32 tmp;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
slave_2(D)->status = 1;
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_4(D)
# DEBUG INLINE_ENTRY LPI2C_Clear_SlaveBitErrorEvent
# DEBUG BEGIN_STMT
baseAddr_4(D)->SSR ={v} 1024;
# DEBUG baseAddr => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_4(D)
# DEBUG interrupts => 1
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveInt
# DEBUG BEGIN_STMT
tmp_6 ={v} baseAddr_4(D)->SIER;
# DEBUG tmp => tmp_6
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
tmp_7 = tmp_6 & 4294967294;
# DEBUG tmp => tmp_7
# DEBUG BEGIN_STMT
baseAddr_4(D)->SIER ={v} tmp_7;
# DEBUG baseAddr => NULL
# DEBUG interrupts => NULL
# DEBUG enable => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
Lpi2c_Ip_SlaveEndTransferHandler (slave_2(D), baseAddr_4(D));
return;
}
Lpi2c_Ip_SlaveStopDetectHandler (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_SlaveStateType * slave)
{
uint32 tmp;
<unnamed type> _1;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_4(D)
# DEBUG INLINE_ENTRY LPI2C_Clear_SlaveSTOPDetectEvent
# DEBUG BEGIN_STMT
baseAddr_4(D)->SSR ={v} 512;
# DEBUG baseAddr => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_4(D)
# DEBUG INLINE_ENTRY LPI2C_Clear_SlaveRepeatedStartEvent
# DEBUG BEGIN_STMT
baseAddr_4(D)->SSR ={v} 256;
# DEBUG baseAddr => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_4(D)
# DEBUG interrupts => 1
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveInt
# DEBUG BEGIN_STMT
tmp_8 ={v} baseAddr_4(D)->SIER;
# DEBUG tmp => tmp_8
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
tmp_9 = tmp_8 & 4294967294;
# DEBUG tmp => tmp_9
# DEBUG BEGIN_STMT
baseAddr_4(D)->SIER ={v} tmp_9;
# DEBUG baseAddr => NULL
# DEBUG interrupts => NULL
# DEBUG enable => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
_1 = slave_5(D)->status;
if (_1 == 2)
goto <bb 3>; [34.00%]
else
goto <bb 4>; [66.00%]
<bb 3> [local count: 365072220]:
# DEBUG BEGIN_STMT
slave_5(D)->status = 0;
<bb 4> [local count: 1073741824]:
# DEBUG BEGIN_STMT
Lpi2c_Ip_SlaveEndTransferHandler (slave_5(D), baseAddr_4(D));
return;
}
Lpi2c_Ip_SlaveCheckDataEvent (uint32 instance, struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_SlaveStateType * slave)
{
uint32 tmp;
uint32 regValue;
uint32 tmp;
uint32 regValue;
uint32 regValue;
long unsigned int _12;
_Bool _13;
_Bool _15;
long unsigned int _17;
long unsigned int _19;
_Bool _20;
long unsigned int _22;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG slaveInterrupt => 0
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_5(D)
# DEBUG INLINE_ENTRY LPI2C_Get_SlaveAddressValidEvent
# DEBUG BEGIN_STMT
regValue_11 ={v} MEM[(const struct LPI2C_Type *)baseAddr_5(D)].SSR;
# DEBUG regValue => regValue_11
# DEBUG BEGIN_STMT
_12 = regValue_11 >> 2;
# DEBUG regValue => _12 & 1
# DEBUG BEGIN_STMT
_13 = (_Bool) _12;
# DEBUG baseAddr => NULL
# DEBUG regValue => NULL
if (_13 != 0)
goto <bb 3>; [33.00%]
else
goto <bb 4>; [67.00%]
<bb 3> [local count: 354334802]:
# DEBUG BEGIN_STMT
Lpi2c_Ip_SlaveHandleAddressValidEvent (instance_6(D), baseAddr_5(D), slave_7(D));
<bb 4> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_5(D)
# DEBUG INLINE_ENTRY LPI2C_Get_SlaveTransmitDataEvent
# DEBUG BEGIN_STMT
regValue_14 ={v} MEM[(const struct LPI2C_Type *)baseAddr_5(D)].SSR;
# DEBUG regValue => regValue_14
# DEBUG BEGIN_STMT
# DEBUG regValue => regValue_14 & 1
# DEBUG BEGIN_STMT
_15 = (_Bool) regValue_14;
# DEBUG baseAddr => NULL
# DEBUG regValue => NULL
if (_15 != 0)
goto <bb 5>; [50.00%]
else
goto <bb 7>; [50.00%]
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_5(D)
# DEBUG interrupts => 1
# DEBUG INLINE_ENTRY LPI2C_Get_SlaveInt
# DEBUG BEGIN_STMT
tmp_16 ={v} MEM[(const struct LPI2C_Type *)baseAddr_5(D)].SIER;
# DEBUG tmp => tmp_16
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_17 = tmp_16 & 1;
if (_17 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 7>; [50.00%]
<bb 6> [local count: 268435456]:
# DEBUG hasInterrupts => 1
# DEBUG BEGIN_STMT
# DEBUG baseAddr => NULL
# DEBUG interrupts => NULL
# DEBUG hasInterrupts => NULL
# DEBUG tmp => NULL
# DEBUG slaveInterrupt => 1
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
Lpi2c_Ip_SlaveHandleTransmitDataEvent (baseAddr_5(D), slave_7(D));
<bb 7> [local count: 1073741824]:
# DEBUG baseAddr => NULL
# DEBUG interrupts => NULL
# DEBUG hasInterrupts => NULL
# DEBUG tmp => NULL
# DEBUG slaveInterrupt => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_5(D)
# DEBUG INLINE_ENTRY LPI2C_Get_SlaveReceiveDataEvent
# DEBUG BEGIN_STMT
regValue_18 ={v} MEM[(const struct LPI2C_Type *)baseAddr_5(D)].SSR;
# DEBUG regValue => regValue_18
# DEBUG BEGIN_STMT
_19 = regValue_18 >> 1;
# DEBUG regValue => _19 & 1
# DEBUG BEGIN_STMT
_20 = (_Bool) _19;
# DEBUG baseAddr => NULL
# DEBUG regValue => NULL
if (_20 != 0)
goto <bb 8>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 8> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_5(D)
# DEBUG interrupts => 2
# DEBUG INLINE_ENTRY LPI2C_Get_SlaveInt
# DEBUG BEGIN_STMT
tmp_21 ={v} MEM[(const struct LPI2C_Type *)baseAddr_5(D)].SIER;
# DEBUG tmp => tmp_21
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_22 = tmp_21 & 2;
if (_22 != 0)
goto <bb 9>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 9> [local count: 268435456]:
# DEBUG hasInterrupts => 1
# DEBUG BEGIN_STMT
# DEBUG baseAddr => NULL
# DEBUG interrupts => NULL
# DEBUG hasInterrupts => NULL
# DEBUG tmp => NULL
# DEBUG slaveInterrupt => 1
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
Lpi2c_Ip_SlaveHandleReceiveDataEvent (baseAddr_5(D), slave_7(D));
<bb 10> [local count: 1073741824]:
# DEBUG baseAddr => NULL
# DEBUG interrupts => NULL
# DEBUG hasInterrupts => NULL
# DEBUG tmp => NULL
# DEBUG slaveInterrupt => NULL
return;
}
Lpi2c_Ip_SlaveEndTransferHandler (const struct Lpi2c_Ip_SlaveStateType * slave, struct LPI2C_Type * baseAddr)
{
_Bool _1;
void (*<T2d7>) (Lpi2c_Ip_SlaveEventType, uint8) _2;
unsigned char _3;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
_1 = slave_7(D)->slaveListening;
if (_1 != 0)
goto <bb 4>; [67.00%]
else
goto <bb 3>; [33.00%]
<bb 3> [local count: 354334802]:
# DEBUG BEGIN_STMT
Lpi2c_Ip_SlaveEndTransfer (baseAddr_8(D));
<bb 4> [local count: 1073741824]:
# DEBUG BEGIN_STMT
_2 = slave_7(D)->slaveCallback;
if (_2 != 0B)
goto <bb 5>; [70.00%]
else
goto <bb 6>; [30.00%]
<bb 5> [local count: 751619278]:
# DEBUG BEGIN_STMT
_3 = slave_7(D)->callbackParam;
_2 (7, _3);
<bb 6> [local count: 1073741824]:
# DEBUG BEGIN_STMT
return;
}
Lpi2c_Ip_SlaveEndTransfer (struct LPI2C_Type * baseAddr)
{
uint32 tmp;
uint32 regValue;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_2(D)
# DEBUG interrupts => 3847
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveInt
# DEBUG BEGIN_STMT
tmp_5 ={v} baseAddr_2(D)->SIER;
# DEBUG tmp => tmp_5
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
tmp_6 = tmp_5 & 4294963448;
# DEBUG tmp => tmp_6
# DEBUG BEGIN_STMT
baseAddr_2(D)->SIER ={v} tmp_6;
# DEBUG baseAddr => NULL
# DEBUG interrupts => NULL
# DEBUG enable => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_2(D)
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveEnable
# DEBUG BEGIN_STMT
regValue_3 ={v} baseAddr_2(D)->SCR;
# DEBUG regValue => regValue_3
# DEBUG BEGIN_STMT
regValue_4 = regValue_3 & 4294967294;
# DEBUG regValue => regValue_4
# DEBUG BEGIN_STMT
# DEBUG regValue => regValue_4
# DEBUG BEGIN_STMT
baseAddr_2(D)->SCR ={v} regValue_4;
# DEBUG baseAddr => NULL
# DEBUG enable => NULL
# DEBUG regValue => NULL
return;
}
Lpi2c_Ip_SlaveGetTransferStatus (uint32 instance, uint32 * bytesRemaining)
{
const struct Lpi2c_Ip_SlaveStateType * slave;
<unnamed type> _1;
long unsigned int _2;
Lpi2c_Ip_StatusType _9;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
slave_6 = g_lpi2cSlaveStatePtr[instance_5(D)];
# DEBUG slave => slave_6
# DEBUG BEGIN_STMT
if (bytesRemaining_7(D) != 0B)
goto <bb 3>; [70.00%]
else
goto <bb 5>; [30.00%]
<bb 3> [local count: 751619278]:
_1 = slave_6->transferType;
if (_1 == 1)
goto <bb 4>; [34.00%]
else
goto <bb 5>; [66.00%]
<bb 4> [local count: 255550554]:
# DEBUG BEGIN_STMT
_2 = slave_6->bufferSize;
*bytesRemaining_7(D) = _2;
<bb 5> [local count: 1073741824]:
# DEBUG BEGIN_STMT
_9 = slave_6->status;
return _9;
}
Lpi2c_Ip_SlaveSetBuffer (uint32 instance, uint8 * dataBuff, uint32 dataSize)
{
struct Lpi2c_Ip_SlaveStateType * slave;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
slave_3 = g_lpi2cSlaveStatePtr[instance_2(D)];
# DEBUG slave => slave_3
# DEBUG BEGIN_STMT
slave_3->dataBuffer = dataBuff_4(D);
# DEBUG BEGIN_STMT
slave_3->bufferSize = dataSize_6(D);
# DEBUG BEGIN_STMT
return 0;
}
Lpi2c_Ip_SlaveDeinit (uint32 instance)
{
uint32 regValue;
uint32 regValue;
uint32 regValue;
const struct Lpi2c_Ip_SlaveStateType * slave;
struct LPI2C_Type * baseAddr;
<unnamed type> _1;
_Bool _2;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
baseAddr_6 = g_lpi2cBase[instance_5(D)];
# DEBUG baseAddr => baseAddr_6
# DEBUG BEGIN_STMT
slave_7 = g_lpi2cSlaveStatePtr[instance_5(D)];
# DEBUG slave => slave_7
# DEBUG BEGIN_STMT
_1 = slave_7->transferType;
if (_1 == 0)
goto <bb 3>; [50.00%]
else
goto <bb 5>; [50.00%]
<bb 3> [local count: 536870913]:
_2 = slave_7->slaveListening;
if (_2 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 5>; [50.00%]
<bb 4> [local count: 268435456]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_6
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveRxDMA
# DEBUG BEGIN_STMT
regValue_11 ={v} baseAddr_6->SDER;
# DEBUG regValue => regValue_11
# DEBUG BEGIN_STMT
regValue_12 = regValue_11 & 4294967293;
# DEBUG regValue => regValue_12
# DEBUG BEGIN_STMT
# DEBUG regValue => regValue_12
# DEBUG BEGIN_STMT
baseAddr_6->SDER ={v} regValue_12;
# DEBUG baseAddr => NULL
# DEBUG enable => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_6
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveTxDMA
# DEBUG BEGIN_STMT
regValue_9 ={v} baseAddr_6->SDER;
# DEBUG regValue => regValue_9
# DEBUG BEGIN_STMT
regValue_10 = regValue_9 & 4294967294;
# DEBUG regValue => regValue_10
# DEBUG BEGIN_STMT
# DEBUG regValue => regValue_10
# DEBUG BEGIN_STMT
baseAddr_6->SDER ={v} regValue_10;
<bb 5> [local count: 1073741824]:
# DEBUG baseAddr => NULL
# DEBUG enable => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
g_lpi2cSlaveStatePtr[instance_5(D)] = 0B;
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_6
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveEnable
# DEBUG BEGIN_STMT
regValue_13 ={v} baseAddr_6->SCR;
# DEBUG regValue => regValue_13
# DEBUG BEGIN_STMT
regValue_14 = regValue_13 & 4294967294;
# DEBUG regValue => regValue_14
# DEBUG BEGIN_STMT
# DEBUG regValue => regValue_14
# DEBUG BEGIN_STMT
baseAddr_6->SCR ={v} regValue_14;
# DEBUG baseAddr => NULL
# DEBUG enable => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
return 0;
}
Lpi2c_Ip_StartListening (uint32 u32Instance)
{
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG D#3 => g_lpi2cSlaveStatePtr[u32Instance_2(D)]
# DEBUG slave => D#3
# DEBUG BEGIN_STMT
Lpi2c_Ip_SlaveActivateEvents (u32Instance_2(D));
# DEBUG BEGIN_STMT
return;
}
Lpi2c_Ip_SlaveInit (uint32 instance, const struct Lpi2c_Ip_SlaveConfigType * userConfigPtr)
{
struct LPI2C_Type * baseAddr;
struct Lpi2c_Ip_SlaveStateType * _1;
void (*<T2d7>) (Lpi2c_Ip_SlaveEventType, uint8) _2;
unsigned char _3;
<unnamed type> _4;
long unsigned int _5;
long unsigned int _6;
_Bool _7;
_Bool _8;
short unsigned int _9;
_Bool _10;
<unnamed type> _11;
long unsigned int _12;
long unsigned int _13;
_Bool _14;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
baseAddr_18 = g_lpi2cBase[instance_17(D)];
# DEBUG baseAddr => baseAddr_18
# DEBUG BEGIN_STMT
_1 = userConfigPtr_19(D)->slaveState;
g_lpi2cSlaveStatePtr[instance_17(D)] = _1;
# DEBUG BEGIN_STMT
# DEBUG slave => _1
# DEBUG BEGIN_STMT
_1->status = 0;
# DEBUG BEGIN_STMT
_2 = userConfigPtr_19(D)->slaveCallback;
_1->slaveCallback = _2;
# DEBUG BEGIN_STMT
_3 = userConfigPtr_19(D)->callbackParam;
_1->callbackParam = _3;
# DEBUG BEGIN_STMT
_1->dataBuffer = 0B;
# DEBUG BEGIN_STMT
_1->bufferSize = 0;
# DEBUG BEGIN_STMT
_1->direction = 0;
# DEBUG BEGIN_STMT
_4 = userConfigPtr_19(D)->transferType;
_1->transferType = _4;
# DEBUG BEGIN_STMT
_5 = userConfigPtr_19(D)->dmaTxChannel;
_1->dmaTxChannel = _5;
# DEBUG BEGIN_STMT
_6 = userConfigPtr_19(D)->dmaRxChannel;
_1->dmaRxChannel = _6;
# DEBUG BEGIN_STMT
_1->isTransferInProgress ={v} 0;
# DEBUG BEGIN_STMT
_7 = userConfigPtr_19(D)->is10bitAddr;
_1->is10bitAddress = _7;
# DEBUG BEGIN_STMT
_1->repeatedStarts = 0;
# DEBUG BEGIN_STMT
_8 = userConfigPtr_19(D)->slaveListening;
_1->slaveListening = _8;
# DEBUG BEGIN_STMT
LPI2C_Init (baseAddr_18);
# DEBUG BEGIN_STMT
_9 = userConfigPtr_19(D)->slaveAddress;
_10 = userConfigPtr_19(D)->is10bitAddr;
Lpi2c_Ip_SlaveConigureAddress (baseAddr_18, _9, _10);
# DEBUG BEGIN_STMT
_11 = userConfigPtr_19(D)->operatingMode;
Lpi2c_Ip_SlaveSetOperatingMode (instance_17(D), _11);
# DEBUG BEGIN_STMT
_12 = userConfigPtr_19(D)->u32GlitchFilterSDA;
_13 = userConfigPtr_19(D)->u32GlitchFilterSCL;
Lpi2c_Ip_SlaveConfigureGlitchFilter (baseAddr_18, _12, _13);
# DEBUG BEGIN_STMT
_14 = _1->slaveListening;
if (_14 != 0)
goto <bb 3>; [33.00%]
else
goto <bb 4>; [67.00%]
<bb 3> [local count: 354334802]:
# DEBUG BEGIN_STMT
Lpi2c_Ip_SlaveActivateEvents (instance_17(D));
<bb 4> [local count: 1073741824]:
# DEBUG BEGIN_STMT
return 0;
}
Lpi2c_Ip_SlaveConfigureGlitchFilter (struct LPI2C_Type * baseAddr, uint32 u32GlitchFilterSDA, uint32 u32GlitchFilterSCL)
{
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
LPI2C_Set_SlaveGlitchFilterSDA (baseAddr_2(D), u32GlitchFilterSDA_3(D));
# DEBUG BEGIN_STMT
LPI2C_Set_SlaveGlitchFilterSCL (baseAddr_2(D), u32GlitchFilterSCL_5(D));
return;
}
Lpi2c_Ip_SlaveConigureAddress (struct LPI2C_Type * baseAddr, uint16 slaveAddr, boolean is10bitAddr)
{
uint32 tmp;
uint32 tmp;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
LPI2C_Set_SlaveAddr0 (baseAddr_3(D), slaveAddr_4(D));
# DEBUG BEGIN_STMT
if (is10bitAddr_6(D) != 0)
goto <bb 3>; [50.00%]
else
goto <bb 4>; [50.00%]
<bb 3> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_3(D)
# DEBUG configuration => 1
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveAddrConfig
# DEBUG BEGIN_STMT
tmp_7 ={v} baseAddr_3(D)->SCFGR1;
# DEBUG tmp => tmp_7
# DEBUG BEGIN_STMT
tmp_8 = tmp_7 & 4294508543;
# DEBUG tmp => tmp_8
# DEBUG BEGIN_STMT
tmp_9 = tmp_8 | 65536;
# DEBUG tmp => tmp_9
# DEBUG BEGIN_STMT
baseAddr_3(D)->SCFGR1 ={v} tmp_9;
goto <bb 5>; [100.00%]
<bb 4> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_3(D)
# DEBUG configuration => 0
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveAddrConfig
# DEBUG BEGIN_STMT
tmp_10 ={v} baseAddr_3(D)->SCFGR1;
# DEBUG tmp => tmp_10
# DEBUG BEGIN_STMT
tmp_11 = tmp_10 & 4294508543;
# DEBUG tmp => tmp_11
# DEBUG BEGIN_STMT
# DEBUG tmp => tmp_11
# DEBUG BEGIN_STMT
baseAddr_3(D)->SCFGR1 ={v} tmp_11;
<bb 5> [local count: 1073741824]:
# DEBUG baseAddr => NULL
# DEBUG configuration => NULL
# DEBUG tmp => NULL
# DEBUG baseAddr => NULL
# DEBUG configuration => NULL
# DEBUG tmp => NULL
return;
}
Lpi2c_Ip_SlaveActivateEvents (uint32 instance)
{
uint32 regValue;
uint32 tmp;
uint32 tmp;
const struct Lpi2c_Ip_SlaveStateType * slave;
struct LPI2C_Type * baseAddr;
<unnamed type> _1;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
baseAddr_6 = g_lpi2cBase[instance_5(D)];
# DEBUG baseAddr => baseAddr_6
# DEBUG BEGIN_STMT
slave_7 = g_lpi2cSlaveStatePtr[instance_5(D)];
# DEBUG slave => slave_7
# DEBUG BEGIN_STMT
_1 = slave_7->transferType;
if (_1 == 0)
goto <bb 3>; [50.00%]
else
goto <bb 4>; [50.00%]
<bb 3> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_6
# DEBUG interrupts => 3844
# DEBUG enable => 1
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveInt
# DEBUG BEGIN_STMT
tmp_8 ={v} baseAddr_6->SIER;
# DEBUG tmp => tmp_8
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
tmp_9 = tmp_8 | 3844;
# DEBUG tmp => tmp_9
# DEBUG BEGIN_STMT
baseAddr_6->SIER ={v} tmp_9;
<bb 4> [local count: 1073741824]:
# DEBUG baseAddr => NULL
# DEBUG interrupts => NULL
# DEBUG enable => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
if (_1 == 1)
goto <bb 5>; [34.00%]
else
goto <bb 6>; [66.00%]
<bb 5> [local count: 365072220]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_6
# DEBUG interrupts => 3846
# DEBUG enable => 1
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveInt
# DEBUG BEGIN_STMT
tmp_10 ={v} baseAddr_6->SIER;
# DEBUG tmp => tmp_10
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
tmp_11 = tmp_10 | 3846;
# DEBUG tmp => tmp_11
# DEBUG BEGIN_STMT
baseAddr_6->SIER ={v} tmp_11;
<bb 6> [local count: 1073741824]:
# DEBUG baseAddr => NULL
# DEBUG interrupts => NULL
# DEBUG enable => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_6
# DEBUG enable => 1
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveEnable
# DEBUG BEGIN_STMT
regValue_12 ={v} baseAddr_6->SCR;
# DEBUG regValue => regValue_12
# DEBUG BEGIN_STMT
regValue_13 = regValue_12 & 4294967294;
# DEBUG regValue => regValue_13
# DEBUG BEGIN_STMT
regValue_14 = regValue_13 | 1;
# DEBUG regValue => regValue_14
# DEBUG BEGIN_STMT
baseAddr_6->SCR ={v} regValue_14;
# DEBUG baseAddr => NULL
# DEBUG enable => NULL
# DEBUG regValue => NULL
return;
}
Lpi2c_Ip_MasterIRQHandler (uint32 instance)
{
uint32 regValue;
struct Lpi2c_Ip_MasterStateType * master;
struct LPI2C_Type * baseAddr;
void (*<T2dc>) (Lpi2c_Ip_MasterEventType, uint8) _1;
unsigned char _2;
long unsigned int _13;
_Bool _14;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
baseAddr_7 = g_lpi2cBase[instance_6(D)];
# DEBUG baseAddr => baseAddr_7
# DEBUG BEGIN_STMT
master_8 = g_lpi2cMasterStatePtr[instance_6(D)];
# DEBUG master => master_8
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterCheckDataTxRxEvent (baseAddr_7, master_8);
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterCheckErrorEvents (baseAddr_7, master_8);
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_7
# DEBUG INLINE_ENTRY LPI2C_Get_MasterPinLowTimeoutEvent
# DEBUG BEGIN_STMT
regValue_12 ={v} MEM[(const struct LPI2C_Type *)baseAddr_7].MSR;
# DEBUG regValue => regValue_12
# DEBUG BEGIN_STMT
_13 = regValue_12 >> 13;
# DEBUG regValue => _13 & 1
# DEBUG BEGIN_STMT
_14 = (_Bool) _13;
# DEBUG baseAddr => NULL
# DEBUG regValue => NULL
if (_14 != 0)
goto <bb 3>; [50.00%]
else
goto <bb 6>; [50.00%]
<bb 3> [local count: 536870913]:
# DEBUG BEGIN_STMT
_1 = master_8->masterCallback;
if (_1 != 0B)
goto <bb 4>; [70.00%]
else
goto <bb 5>; [30.00%]
<bb 4> [local count: 375809639]:
# DEBUG BEGIN_STMT
_2 = master_8->callbackParam;
_1 (12, _2);
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_7
# DEBUG INLINE_ENTRY LPI2C_Clear_MasterPinLowTimeoutEvent
# DEBUG BEGIN_STMT
baseAddr_7->MSR ={v} 8192;
<bb 6> [local count: 1073741824]:
# DEBUG baseAddr => NULL
return;
}
Lpi2c_Ip_MasterCheckDataTxRxEvent (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_MasterStateType * master)
{
uint32 regValue;
uint32 regValue;
_Bool _9;
long unsigned int _11;
_Bool _12;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_4(D)
# DEBUG INLINE_ENTRY LPI2C_Get_MasterTransmitDataRequestEvent
# DEBUG BEGIN_STMT
regValue_8 ={v} MEM[(const struct LPI2C_Type *)baseAddr_4(D)].MSR;
# DEBUG regValue => regValue_8
# DEBUG BEGIN_STMT
# DEBUG regValue => regValue_8 & 1
# DEBUG BEGIN_STMT
_9 = (_Bool) regValue_8;
# DEBUG baseAddr => NULL
# DEBUG regValue => NULL
if (_9 != 0)
goto <bb 3>; [33.00%]
else
goto <bb 4>; [67.00%]
<bb 3> [local count: 354334802]:
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterHandleTransmitDataRequest (baseAddr_4(D), master_5(D));
<bb 4> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_4(D)
# DEBUG INLINE_ENTRY LPI2C_Get_MasterReceiveDataReadyEvent
# DEBUG BEGIN_STMT
regValue_10 ={v} MEM[(const struct LPI2C_Type *)baseAddr_4(D)].MSR;
# DEBUG regValue => regValue_10
# DEBUG BEGIN_STMT
_11 = regValue_10 >> 1;
# DEBUG regValue => _11 & 1
# DEBUG BEGIN_STMT
_12 = (_Bool) _11;
# DEBUG baseAddr => NULL
# DEBUG regValue => NULL
if (_12 != 0)
goto <bb 5>; [33.00%]
else
goto <bb 6>; [67.00%]
<bb 5> [local count: 354334802]:
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterHandleReceiveDataReadyEvent (baseAddr_4(D), master_5(D));
<bb 6> [local count: 1073741824]:
return;
}
Lpi2c_Ip_MasterGetTransferStatus (uint32 instance, uint32 * bytesRemaining)
{
const struct Lpi2c_Ip_MasterStateType * master;
<unnamed type> _1;
long unsigned int _2;
Lpi2c_Ip_StatusType _9;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
master_6 = g_lpi2cMasterStatePtr[instance_5(D)];
# DEBUG master => master_6
# DEBUG BEGIN_STMT
if (bytesRemaining_7(D) != 0B)
goto <bb 3>; [70.00%]
else
goto <bb 5>; [30.00%]
<bb 3> [local count: 751619278]:
_1 = master_6->transferType;
if (_1 == 1)
goto <bb 4>; [34.00%]
else
goto <bb 5>; [66.00%]
<bb 4> [local count: 255550554]:
# DEBUG BEGIN_STMT
_2 = master_6->bufferSize;
*bytesRemaining_7(D) = _2;
<bb 5> [local count: 1073741824]:
# DEBUG BEGIN_STMT
_9 ={v} master_6->status;
return _9;
}
Lpi2c_Ip_MasterReceiveDataBlocking (uint32 instance, uint8 * rxBuff, uint32 rxSize, boolean sendStop, uint32 timeout)
{
const struct Lpi2c_Ip_MasterStateType * master;
Lpi2c_Ip_StatusType retStatus;
uint32 TimeoutTicks;
uint32 ElapsedTicks;
uint32 CurrentTicks;
struct Lpi2c_Ip_MasterStateType * master;
_Bool _1;
long unsigned int _2;
long unsigned int _30;
<unnamed type> _36;
<bb 2> [local count: 240451187]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
CurrentTicks = 0;
# DEBUG BEGIN_STMT
# DEBUG ElapsedTicks => 0
# DEBUG BEGIN_STMT
TimeoutTicks_13 = OsIf_MicrosToTicks (timeout_11(D), 1);
# DEBUG TimeoutTicks => TimeoutTicks_13
# DEBUG BEGIN_STMT
# DEBUG retStatus => 2
# DEBUG BEGIN_STMT
master_15 = g_lpi2cMasterStatePtr[instance_14(D)];
# DEBUG master => master_15
# DEBUG BEGIN_STMT
_1 ={v} master_15->i2cIdle;
if (_1 != 0)
goto <bb 3>; [47.77%]
else
goto <bb 9>; [52.23%]
<bb 3> [local count: 114863532]:
# DEBUG BEGIN_STMT
master_15->bufferSize = rxSize_16(D);
# DEBUG BEGIN_STMT
master_15->dataBuffer = rxBuff_18(D);
# DEBUG BEGIN_STMT
master_15->direction = 1;
# DEBUG BEGIN_STMT
master_15->sendStop = sendStop_21(D);
# DEBUG BEGIN_STMT
master_15->i2cIdle ={v} 0;
# DEBUG BEGIN_STMT
master_15->status ={v} 2;
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterInterruptReceiveInit (instance_14(D), rxSize_16(D));
# DEBUG BEGIN_STMT
_2 = OsIf_GetCounter (1);
CurrentTicks = _2;
<bb 4> [local count: 1073741824]:
# ElapsedTicks_3 = PHI <0(3), ElapsedTicks_31(10)>
# DEBUG ElapsedTicks => ElapsedTicks_3
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterReceive (instance_14(D));
# DEBUG BEGIN_STMT
_30 = OsIf_GetElapsed (&CurrentTicks, 1);
ElapsedTicks_31 = ElapsedTicks_3 + _30;
# DEBUG ElapsedTicks => ElapsedTicks_31
# DEBUG BEGIN_STMT
# DEBUG instance => instance_14(D)
# DEBUG bytesRemaining => 0B
# DEBUG INLINE_ENTRY Lpi2c_Ip_MasterGetTransferStatus
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
master_35 = g_lpi2cMasterStatePtr[instance_14(D)];
# DEBUG master => master_35
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_36 ={v} master_35->status;
# DEBUG instance => NULL
# DEBUG bytesRemaining => NULL
# DEBUG master => NULL
if (_36 == 2)
goto <bb 5>; [94.50%]
else
goto <bb 6>; [5.50%]
<bb 5> [local count: 1014686025]:
if (TimeoutTicks_13 > ElapsedTicks_31)
goto <bb 10>; [94.50%]
else
goto <bb 6>; [5.50%]
<bb 10> [local count: 958878293]:
goto <bb 4>; [100.00%]
<bb 6> [local count: 114863532]:
# ElapsedTicks_10 = PHI <ElapsedTicks_31(4), ElapsedTicks_31(5)>
# DEBUG BEGIN_STMT
if (ElapsedTicks_10 >= TimeoutTicks_13)
goto <bb 7>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 7> [local count: 57431766]:
# DEBUG BEGIN_STMT
master_15->status ={v} 9;
<bb 8> [local count: 114863532]:
# DEBUG BEGIN_STMT
retStatus_33 ={v} master_15->status;
# DEBUG retStatus => retStatus_33
<bb 9> [local count: 240451187]:
# retStatus_4 = PHI <2(2), retStatus_33(8)>
# DEBUG retStatus => retStatus_4
# DEBUG BEGIN_STMT
CurrentTicks ={v} {CLOBBER};
return retStatus_4;
}
Lpi2c_Ip_MasterReceiveData (uint32 instance, uint8 * rxBuff, uint32 rxSize, boolean sendStop)
{
uint32 tmp;
uint32 tmp;
Lpi2c_Ip_StatusType retStatus;
struct Lpi2c_Ip_MasterStateType * master;
struct LPI2C_Type * baseAddr;
_Bool _1;
unsigned char _18;
unsigned char _19;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG retStatus => 2
# DEBUG BEGIN_STMT
baseAddr_6 = g_lpi2cBase[instance_5(D)];
# DEBUG baseAddr => baseAddr_6
# DEBUG BEGIN_STMT
master_7 = g_lpi2cMasterStatePtr[instance_5(D)];
# DEBUG master => master_7
# DEBUG BEGIN_STMT
_1 ={v} master_7->i2cIdle;
if (_1 != 0)
goto <bb 3>; [47.77%]
else
goto <bb 6>; [52.23%]
<bb 3> [local count: 512926469]:
# DEBUG BEGIN_STMT
# DEBUG retStatus => 0
# DEBUG BEGIN_STMT
master_7->bufferSize = rxSize_8(D);
# DEBUG BEGIN_STMT
master_7->i2cIdle ={v} 0;
# DEBUG BEGIN_STMT
master_7->sendStop = sendStop_11(D);
# DEBUG BEGIN_STMT
master_7->dataBuffer = rxBuff_13(D);
# DEBUG BEGIN_STMT
master_7->direction = 1;
# DEBUG BEGIN_STMT
master_7->status ={v} 2;
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterInterruptReceiveInit (instance_5(D), rxSize_8(D));
# DEBUG BEGIN_STMT
# DEBUG master => master_7
# DEBUG INLINE_ENTRY Lpi2c_Ip_MasterCmdQueueEmpty
# DEBUG BEGIN_STMT
_18 = MEM[(const struct Lpi2c_Ip_MasterStateType *)master_7].cmdQueue.writeIdx;
_19 = MEM[(const struct Lpi2c_Ip_MasterStateType *)master_7].cmdQueue.readIdx;
# DEBUG master => NULL
if (_18 != _19)
goto <bb 4>; [66.00%]
else
goto <bb 5>; [34.00%]
<bb 4> [local count: 338531470]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_6
# DEBUG interrupts => 7171
# DEBUG enable => 1
# DEBUG INLINE_ENTRY LPI2C_Set_MasterInt
# DEBUG BEGIN_STMT
tmp_20 ={v} baseAddr_6->MIER;
# DEBUG tmp => tmp_20
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
tmp_21 = tmp_20 | 7171;
# DEBUG tmp => tmp_21
# DEBUG BEGIN_STMT
baseAddr_6->MIER ={v} tmp_21;
goto <bb 6>; [100.00%]
<bb 5> [local count: 174394999]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_6
# DEBUG interrupts => 7170
# DEBUG enable => 1
# DEBUG INLINE_ENTRY LPI2C_Set_MasterInt
# DEBUG BEGIN_STMT
tmp_22 ={v} baseAddr_6->MIER;
# DEBUG tmp => tmp_22
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
tmp_23 = tmp_22 | 7170;
# DEBUG tmp => tmp_23
# DEBUG BEGIN_STMT
baseAddr_6->MIER ={v} tmp_23;
<bb 6> [local count: 1073741824]:
# retStatus_2 = PHI <2(2), 0(4), 0(5)>
# DEBUG baseAddr => NULL
# DEBUG interrupts => NULL
# DEBUG enable => NULL
# DEBUG tmp => NULL
# DEBUG baseAddr => NULL
# DEBUG interrupts => NULL
# DEBUG enable => NULL
# DEBUG tmp => NULL
# DEBUG retStatus => retStatus_2
# DEBUG BEGIN_STMT
return retStatus_2;
}
Lpi2c_Ip_MasterInterruptReceiveInit (uint32 instance, uint32 rxSize)
{
uint16 rxBytes;
struct Lpi2c_Ip_MasterStateType * master;
struct LPI2C_Type * baseAddr;
unsigned char _1;
unsigned char _2;
long unsigned int _3;
short unsigned int _4;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
baseAddr_8 = g_lpi2cBase[instance_7(D)];
# DEBUG baseAddr => baseAddr_8
# DEBUG BEGIN_STMT
master_9 = g_lpi2cMasterStatePtr[instance_7(D)];
# DEBUG master => master_9
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterSendAddress (baseAddr_8, master_9, 1);
# DEBUG BEGIN_STMT
_1 = (unsigned char) rxSize_11(D);
_2 = _1 + 255;
Lpi2c_Ip_MasterQueueCmd (baseAddr_8, master_9, 1, _2);
# DEBUG BEGIN_STMT
rxBytes_14 = LPI2C_Get_MasterRxFIFOSize (baseAddr_8);
# DEBUG rxBytes => rxBytes_14
# DEBUG BEGIN_STMT
_3 = (long unsigned int) rxBytes_14;
if (_3 > rxSize_11(D))
goto <bb 3>; [50.00%]
else
goto <bb 4>; [50.00%]
<bb 3> [local count: 536870913]:
# DEBUG BEGIN_STMT
rxBytes_15 = (uint16) _1;
# DEBUG rxBytes => rxBytes_15
<bb 4> [local count: 1073741824]:
# rxBytes_5 = PHI <rxBytes_14(2), rxBytes_15(3)>
# DEBUG rxBytes => rxBytes_5
# DEBUG BEGIN_STMT
_4 = rxBytes_5 + 65535;
LPI2C_Set_MasterRxFIFOWatermark (baseAddr_8, _4);
return;
}
Lpi2c_Ip_MasterSendDataBlocking (uint32 instance, uint8 * txBuff, uint32 txSize, boolean sendStop, uint32 timeout)
{
const struct Lpi2c_Ip_MasterStateType * master;
struct Lpi2c_Ip_MasterStateType * master;
struct LPI2C_Type * baseAddr;
Lpi2c_Ip_StatusType retStatus;
uint32 TimeoutTicks;
uint32 ElapsedTicks;
uint32 CurrentTicks;
_Bool _1;
long unsigned int _2;
long unsigned int _31;
<unnamed type> _37;
<bb 2> [local count: 240451187]:
# DEBUG BEGIN_STMT
CurrentTicks = 0;
# DEBUG BEGIN_STMT
# DEBUG ElapsedTicks => 0
# DEBUG BEGIN_STMT
TimeoutTicks_13 = OsIf_MicrosToTicks (timeout_11(D), 1);
# DEBUG TimeoutTicks => TimeoutTicks_13
# DEBUG BEGIN_STMT
# DEBUG retStatus => 2
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
baseAddr_15 = g_lpi2cBase[instance_14(D)];
# DEBUG baseAddr => baseAddr_15
# DEBUG BEGIN_STMT
master_16 = g_lpi2cMasterStatePtr[instance_14(D)];
# DEBUG master => master_16
# DEBUG BEGIN_STMT
_1 ={v} master_16->i2cIdle;
if (_1 != 0)
goto <bb 3>; [47.77%]
else
goto <bb 9>; [52.23%]
<bb 3> [local count: 114863532]:
# DEBUG BEGIN_STMT
master_16->bufferSize = txSize_17(D);
# DEBUG BEGIN_STMT
master_16->dataBuffer = txBuff_19(D);
# DEBUG BEGIN_STMT
master_16->direction = 0;
# DEBUG BEGIN_STMT
master_16->sendStop = sendStop_22(D);
# DEBUG BEGIN_STMT
master_16->i2cIdle ={v} 0;
# DEBUG BEGIN_STMT
master_16->status ={v} 2;
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterInitSendTransfer (baseAddr_15, master_16);
# DEBUG BEGIN_STMT
_2 = OsIf_GetCounter (1);
CurrentTicks = _2;
<bb 4> [local count: 1073741824]:
# ElapsedTicks_3 = PHI <0(3), ElapsedTicks_32(10)>
# DEBUG ElapsedTicks => ElapsedTicks_3
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterSend (instance_14(D));
# DEBUG BEGIN_STMT
_31 = OsIf_GetElapsed (&CurrentTicks, 1);
ElapsedTicks_32 = ElapsedTicks_3 + _31;
# DEBUG ElapsedTicks => ElapsedTicks_32
# DEBUG BEGIN_STMT
# DEBUG instance => instance_14(D)
# DEBUG bytesRemaining => 0B
# DEBUG INLINE_ENTRY Lpi2c_Ip_MasterGetTransferStatus
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
master_36 = g_lpi2cMasterStatePtr[instance_14(D)];
# DEBUG master => master_36
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_37 ={v} master_36->status;
# DEBUG instance => NULL
# DEBUG bytesRemaining => NULL
# DEBUG master => NULL
if (_37 == 2)
goto <bb 5>; [94.50%]
else
goto <bb 6>; [5.50%]
<bb 5> [local count: 1014686025]:
if (TimeoutTicks_13 > ElapsedTicks_32)
goto <bb 10>; [94.50%]
else
goto <bb 6>; [5.50%]
<bb 10> [local count: 958878293]:
goto <bb 4>; [100.00%]
<bb 6> [local count: 114863532]:
# ElapsedTicks_10 = PHI <ElapsedTicks_32(4), ElapsedTicks_32(5)>
# DEBUG BEGIN_STMT
if (ElapsedTicks_10 >= TimeoutTicks_13)
goto <bb 7>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 7> [local count: 57431766]:
# DEBUG BEGIN_STMT
master_16->status ={v} 9;
<bb 8> [local count: 114863532]:
# DEBUG BEGIN_STMT
retStatus_34 ={v} master_16->status;
# DEBUG retStatus => retStatus_34
<bb 9> [local count: 240451187]:
# retStatus_4 = PHI <2(2), retStatus_34(8)>
# DEBUG retStatus => retStatus_4
# DEBUG BEGIN_STMT
CurrentTicks ={v} {CLOBBER};
return retStatus_4;
}
Lpi2c_Ip_MasterInitSendTransfer (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_MasterStateType * master)
{
uint32 tmp;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterSendAddress (baseAddr_2(D), master_3(D), 0);
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterQueueData (baseAddr_2(D), master_3(D));
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_2(D)
# DEBUG value => 0
# DEBUG INLINE_ENTRY LPI2C_Set_MasterTxFIFOWatermark
# DEBUG BEGIN_STMT
tmp_6 ={v} baseAddr_2(D)->MFCR;
# DEBUG tmp => tmp_6
# DEBUG BEGIN_STMT
tmp_7 = tmp_6 & 4294967292;
# DEBUG tmp => tmp_7
# DEBUG BEGIN_STMT
# DEBUG tmp => tmp_7
# DEBUG BEGIN_STMT
baseAddr_2(D)->MFCR ={v} tmp_7;
# DEBUG baseAddr => NULL
# DEBUG value => NULL
# DEBUG tmp => NULL
return;
}
Lpi2c_Ip_MasterSendData (uint32 instance, uint8 * txBuff, uint32 txSize, boolean sendStop)
{
uint32 tmp;
uint32 tmp;
Lpi2c_Ip_StatusType retStatus;
struct Lpi2c_Ip_MasterStateType * master;
struct LPI2C_Type * baseAddr;
_Bool _1;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG retStatus => 2
# DEBUG BEGIN_STMT
baseAddr_6 = g_lpi2cBase[instance_5(D)];
# DEBUG baseAddr => baseAddr_6
# DEBUG BEGIN_STMT
master_7 = g_lpi2cMasterStatePtr[instance_5(D)];
# DEBUG master => master_7
# DEBUG BEGIN_STMT
_1 ={v} master_7->i2cIdle;
if (_1 != 0)
goto <bb 3>; [47.77%]
else
goto <bb 4>; [52.23%]
<bb 3> [local count: 512926469]:
# DEBUG BEGIN_STMT
master_7->bufferSize = txSize_8(D);
# DEBUG BEGIN_STMT
master_7->dataBuffer = txBuff_10(D);
# DEBUG BEGIN_STMT
master_7->direction = 0;
# DEBUG BEGIN_STMT
master_7->sendStop = sendStop_13(D);
# DEBUG BEGIN_STMT
master_7->i2cIdle ={v} 0;
# DEBUG BEGIN_STMT
master_7->status ={v} 2;
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterSendAddress (baseAddr_6, master_7, 0);
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterQueueData (baseAddr_6, master_7);
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_6
# DEBUG value => 0
# DEBUG INLINE_ENTRY LPI2C_Set_MasterTxFIFOWatermark
# DEBUG BEGIN_STMT
tmp_21 ={v} baseAddr_6->MFCR;
# DEBUG tmp => tmp_21
# DEBUG BEGIN_STMT
tmp_22 = tmp_21 & 4294967292;
# DEBUG tmp => tmp_22
# DEBUG BEGIN_STMT
# DEBUG tmp => tmp_22
# DEBUG BEGIN_STMT
baseAddr_6->MFCR ={v} tmp_22;
# DEBUG baseAddr => NULL
# DEBUG value => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_6
# DEBUG interrupts => 15361
# DEBUG enable => 1
# DEBUG INLINE_ENTRY LPI2C_Set_MasterInt
# DEBUG BEGIN_STMT
tmp_19 ={v} baseAddr_6->MIER;
# DEBUG tmp => tmp_19
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
tmp_20 = tmp_19 | 15361;
# DEBUG tmp => tmp_20
# DEBUG BEGIN_STMT
baseAddr_6->MIER ={v} tmp_20;
# DEBUG baseAddr => NULL
# DEBUG interrupts => NULL
# DEBUG enable => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
# DEBUG retStatus => 0
<bb 4> [local count: 1073741824]:
# retStatus_2 = PHI <2(2), 0(3)>
# DEBUG retStatus => retStatus_2
# DEBUG BEGIN_STMT
return retStatus_2;
}
Lpi2c_Ip_MasterSetSlaveAddr (uint32 instance, const uint16 address, const boolean is10bitAddr)
{
struct Lpi2c_Ip_MasterStateType * master;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
master_3 = g_lpi2cMasterStatePtr[instance_2(D)];
# DEBUG master => master_3
# DEBUG BEGIN_STMT
master_3->slaveAddress = address_4(D);
# DEBUG BEGIN_STMT
master_3->is10bitAddr = is10bitAddr_6(D);
return;
}
Lpi2c_Ip_MasterGetBaudRate (uint32 instance, uint32 inputClock, uint32 * baudRate)
{
uint32 tmp;
uint32 tmp;
uint32 tmp;
uint32 tmp;
uint32 tmp;
const struct Lpi2c_Ip_MasterStateType * master;
const struct LPI2C_Type * baseAddr;
long unsigned int _1;
long unsigned int _2;
long unsigned int _3;
long unsigned int _4;
<unnamed type> _5;
long unsigned int _6;
long unsigned int _7;
long unsigned int _8;
long unsigned int _9;
long unsigned int _22;
long unsigned int _29;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
baseAddr_13 = g_lpi2cBase[instance_12(D)];
# DEBUG baseAddr => baseAddr_13
# DEBUG BEGIN_STMT
master_14 = g_lpi2cMasterStatePtr[instance_12(D)];
# DEBUG master => master_14
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_13
# DEBUG INLINE_ENTRY LPI2C_Get_MasterPrescaler
# DEBUG BEGIN_STMT
tmp_24 ={v} baseAddr_13->MCFGR1;
# DEBUG tmp => tmp_24
# DEBUG BEGIN_STMT
tmp_25 = tmp_24 & 7;
# DEBUG tmp => tmp_25
# DEBUG BEGIN_STMT
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
# DEBUG prescaler => tmp_25
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_13
# DEBUG INLINE_ENTRY LPI2C_Get_MasterClockHighPeriod
# DEBUG BEGIN_STMT
tmp_21 ={v} baseAddr_13->MCCR0;
# DEBUG tmp => tmp_21
# DEBUG BEGIN_STMT
_22 = tmp_21 >> 8;
tmp_23 = _22 & 63;
# DEBUG tmp => tmp_23
# DEBUG BEGIN_STMT
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
# DEBUG clkHi => tmp_23
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_13
# DEBUG INLINE_ENTRY LPI2C_Get_MasterClockLowPeriod
# DEBUG BEGIN_STMT
tmp_19 ={v} baseAddr_13->MCCR0;
# DEBUG tmp => tmp_19
# DEBUG BEGIN_STMT
tmp_20 = tmp_19 & 63;
# DEBUG tmp => tmp_20
# DEBUG BEGIN_STMT
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
# DEBUG clkLo => tmp_20
# DEBUG BEGIN_STMT
_1 = tmp_20 + tmp_23;
_2 = _1 + 2;
_3 = _2 << tmp_25;
_4 = inputClock_15(D) / _3;
*baudRate_16(D) = _4;
# DEBUG BEGIN_STMT
_5 = master_14->operatingMode;
if (_5 == 3)
goto <bb 3>; [34.00%]
else
goto <bb 4>; [66.00%]
<bb 3> [local count: 365072220]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_13
# DEBUG INLINE_ENTRY LPI2C_Get_MasterClockHighPeriodHS
# DEBUG BEGIN_STMT
tmp_28 ={v} baseAddr_13->MCCR1;
# DEBUG tmp => tmp_28
# DEBUG BEGIN_STMT
_29 = tmp_28 >> 8;
tmp_30 = _29 & 63;
# DEBUG tmp => tmp_30
# DEBUG BEGIN_STMT
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
# DEBUG clkHi => tmp_30
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_13
# DEBUG INLINE_ENTRY LPI2C_Get_MasterClockLowPeriodHS
# DEBUG BEGIN_STMT
tmp_26 ={v} baseAddr_13->MCCR1;
# DEBUG tmp => tmp_26
# DEBUG BEGIN_STMT
tmp_27 = tmp_26 & 63;
# DEBUG tmp => tmp_27
# DEBUG BEGIN_STMT
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
# DEBUG clkLo => tmp_27
# DEBUG BEGIN_STMT
_6 = tmp_27 + tmp_30;
_7 = _6 + 2;
_8 = _7 << tmp_25;
_9 = inputClock_15(D) / _8;
*baudRate_16(D) = _9;
<bb 4> [local count: 1073741824]:
return;
}
Lpi2c_Ip_MasterDeinit (uint32 instance)
{
uint32 regValue;
struct LPI2C_Type * baseAddr;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
baseAddr_3 = g_lpi2cBase[instance_2(D)];
# DEBUG baseAddr => baseAddr_3
# DEBUG BEGIN_STMT
# DEBUG D#2 => g_lpi2cMasterStatePtr[instance_2(D)]
# DEBUG master => D#2
# DEBUG BEGIN_STMT
g_lpi2cMasterStatePtr[instance_2(D)] = 0B;
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_3
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPI2C_Set_MasterEnable
# DEBUG BEGIN_STMT
regValue_5 ={v} baseAddr_3->MCR;
# DEBUG regValue => regValue_5
# DEBUG BEGIN_STMT
regValue_6 = regValue_5 & 4294967294;
# DEBUG regValue => regValue_6
# DEBUG BEGIN_STMT
# DEBUG regValue => regValue_6
# DEBUG BEGIN_STMT
baseAddr_3->MCR ={v} regValue_6;
# DEBUG baseAddr => NULL
# DEBUG enable => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
return 0;
}
Lpi2c_Ip_MasterInit (uint32 instance, const struct Lpi2c_Ip_MasterConfigType * userConfigPtr)
{
struct Lpi2c_Ip_MasterStateType * master;
uint32 regValue;
struct LPI2C_Type * baseAddr;
struct Lpi2c_Ip_MasterStateType * _1;
short unsigned int _2;
_Bool _3;
<unnamed type> _4;
long unsigned int _5;
long unsigned int _6;
void (*<T2dc>) (Lpi2c_Ip_MasterEventType, uint8) _7;
unsigned char _8;
unsigned char _9;
const struct Lpi2c_Ip_BaudRateType * _10;
<unnamed type> _11;
const struct Lpi2c_Ip_BaudRateType * _12;
short unsigned int _13;
_Bool _14;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
baseAddr_17 = g_lpi2cBase[instance_16(D)];
# DEBUG baseAddr => baseAddr_17
# DEBUG BEGIN_STMT
_1 = userConfigPtr_18(D)->masterState;
g_lpi2cMasterStatePtr[instance_16(D)] = _1;
# DEBUG BEGIN_STMT
# DEBUG master => _1
# DEBUG BEGIN_STMT
_1->direction = 0;
# DEBUG BEGIN_STMT
_1->dataBuffer = 0B;
# DEBUG BEGIN_STMT
_1->bufferSize = 0;
# DEBUG BEGIN_STMT
_1->status ={v} 0;
# DEBUG BEGIN_STMT
_1->i2cIdle ={v} 1;
# DEBUG BEGIN_STMT
_2 = userConfigPtr_18(D)->slaveAddress;
_1->slaveAddress = _2;
# DEBUG BEGIN_STMT
_3 = userConfigPtr_18(D)->is10bitAddr;
_1->is10bitAddr = _3;
# DEBUG BEGIN_STMT
_4 = userConfigPtr_18(D)->transferType;
_1->transferType = _4;
# DEBUG BEGIN_STMT
_5 = userConfigPtr_18(D)->dmaTxChannel;
_1->dmaTxChannel = _5;
# DEBUG BEGIN_STMT
_6 = userConfigPtr_18(D)->dmaRxChannel;
_1->dmaRxChannel = _6;
# DEBUG BEGIN_STMT
_7 = userConfigPtr_18(D)->masterCallback;
_1->masterCallback = _7;
# DEBUG BEGIN_STMT
_8 = userConfigPtr_18(D)->callbackParam;
_1->callbackParam = _8;
# DEBUG BEGIN_STMT
_9 = userConfigPtr_18(D)->masterCode;
_1->masterCode = _9;
# DEBUG BEGIN_STMT
_1->highSpeedInProgress = 0;
# DEBUG BEGIN_STMT
_10 = userConfigPtr_18(D)->baudrateParams;
_1->baudrateParams = _10;
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_17
# DEBUG master => _1
# DEBUG INLINE_ENTRY Lpi2c_Ip_MasterInitModule
# DEBUG BEGIN_STMT
# DEBUG master => _1
# DEBUG INLINE_ENTRY Lpi2c_Ip_MasterResetQueue
# DEBUG BEGIN_STMT
_1->cmdQueue.readIdx = 0;
# DEBUG BEGIN_STMT
_1->cmdQueue.writeIdx = 0;
# DEBUG master => NULL
# DEBUG BEGIN_STMT
LPI2C_Init (baseAddr_17);
# DEBUG baseAddr => NULL
# DEBUG master => NULL
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterConfigFeatures (baseAddr_17, userConfigPtr_18(D));
# DEBUG BEGIN_STMT
_11 = userConfigPtr_18(D)->operatingMode;
_12 = _1->baudrateParams;
Lpi2c_Ip_MasterSetBaudRateInit (instance_16(D), _11, _12);
# DEBUG BEGIN_STMT
_13 = userConfigPtr_18(D)->slaveAddress;
_14 = userConfigPtr_18(D)->is10bitAddr;
# DEBUG instance => instance_16(D)
# DEBUG address => _13
# DEBUG is10bitAddr => _14
# DEBUG INLINE_ENTRY Lpi2c_Ip_MasterSetSlaveAddr
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
master_40 = g_lpi2cMasterStatePtr[instance_16(D)];
# DEBUG master => master_40
# DEBUG BEGIN_STMT
master_40->slaveAddress = _13;
# DEBUG BEGIN_STMT
master_40->is10bitAddr = _14;
# DEBUG instance => NULL
# DEBUG address => NULL
# DEBUG is10bitAddr => NULL
# DEBUG master => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_17
# DEBUG enable => 1
# DEBUG INLINE_ENTRY LPI2C_Set_MasterEnable
# DEBUG BEGIN_STMT
regValue_37 ={v} baseAddr_17->MCR;
# DEBUG regValue => regValue_37
# DEBUG BEGIN_STMT
regValue_38 = regValue_37 & 4294967294;
# DEBUG regValue => regValue_38
# DEBUG BEGIN_STMT
regValue_39 = regValue_38 | 1;
# DEBUG regValue => regValue_39
# DEBUG BEGIN_STMT
baseAddr_17->MCR ={v} regValue_39;
# DEBUG baseAddr => NULL
# DEBUG enable => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
return 0;
}
Lpi2c_Ip_MasterConfigFeatures (struct LPI2C_Type * baseAddr, const struct Lpi2c_Ip_MasterConfigType * userConfigPtr)
{
uint32 tmp;
long unsigned int _1;
long unsigned int _2;
long unsigned int _3;
long unsigned int _4;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
_1 = userConfigPtr_6(D)->u32GlitchFilterSDA;
LPI2C_Set_MasterGlitchFilterSDA (baseAddr_7(D), _1);
# DEBUG BEGIN_STMT
_2 = userConfigPtr_6(D)->u32GlitchFilterSCL;
LPI2C_Set_MasterGlitchFilterSCL (baseAddr_7(D), _2);
# DEBUG BEGIN_STMT
_3 = userConfigPtr_6(D)->u32BusIdleTimeout;
LPI2C_Set_MasterBusIdleTimeout (baseAddr_7(D), _3);
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_7(D)
# DEBUG configuration => 1
# DEBUG INLINE_ENTRY LPI2C_Set_MasterPinLowTimeoutConfiguration
# DEBUG BEGIN_STMT
tmp_12 ={v} baseAddr_7(D)->MCFGR1;
# DEBUG tmp => tmp_12
# DEBUG BEGIN_STMT
tmp_13 = tmp_12 & 4294966271;
# DEBUG tmp => tmp_13
# DEBUG BEGIN_STMT
tmp_14 = tmp_13 | 1024;
# DEBUG tmp => tmp_14
# DEBUG BEGIN_STMT
baseAddr_7(D)->MCFGR1 ={v} tmp_14;
# DEBUG baseAddr => NULL
# DEBUG configuration => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
_4 = userConfigPtr_6(D)->u32PinLowTimeout;
LPI2C_Set_MasterPinLowTimeout (baseAddr_7(D), _4);
return;
}
Lpi2c_Ip_MasterSetBaudRateInit (uint32 instance, const Lpi2c_Ip_ModeType operatingMode, const struct Lpi2c_Ip_BaudRateType * baudRate)
{
uint32 regValue;
uint32 regValue;
Lpi2c_Ip_StatusType retStatus;
const struct Lpi2c_Ip_MasterStateType * master;
struct LPI2C_Type * baseAddr;
_Bool _1;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG retStatus => 2
# DEBUG BEGIN_STMT
master_6 = g_lpi2cMasterStatePtr[instance_5(D)];
# DEBUG master => master_6
# DEBUG BEGIN_STMT
baseAddr_7 = g_lpi2cBase[instance_5(D)];
# DEBUG baseAddr => baseAddr_7
# DEBUG BEGIN_STMT
_1 ={v} master_6->i2cIdle;
if (_1 != 0)
goto <bb 3>; [47.77%]
else
goto <bb 4>; [52.23%]
<bb 3> [local count: 512926469]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_7
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPI2C_Set_MasterEnable
# DEBUG BEGIN_STMT
regValue_16 ={v} baseAddr_7->MCR;
# DEBUG regValue => regValue_16
# DEBUG BEGIN_STMT
regValue_17 = regValue_16 & 4294967294;
# DEBUG regValue => regValue_17
# DEBUG BEGIN_STMT
# DEBUG regValue => regValue_17
# DEBUG BEGIN_STMT
baseAddr_7->MCR ={v} regValue_17;
# DEBUG baseAddr => NULL
# DEBUG enable => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
Lpi2c_Ip_BaudRateConfig (baseAddr_7, baudRate_8(D));
# DEBUG BEGIN_STMT
Lpi2c_Ip_HSBaudRateConfig (baseAddr_7, baudRate_8(D));
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterSetOperatingMode (instance_5(D), operatingMode_11(D));
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_7
# DEBUG enable => 1
# DEBUG INLINE_ENTRY LPI2C_Set_MasterEnable
# DEBUG BEGIN_STMT
regValue_13 ={v} baseAddr_7->MCR;
# DEBUG regValue => regValue_13
# DEBUG BEGIN_STMT
regValue_14 = regValue_13 & 4294967294;
# DEBUG regValue => regValue_14
# DEBUG BEGIN_STMT
regValue_15 = regValue_14 | 1;
# DEBUG regValue => regValue_15
# DEBUG BEGIN_STMT
baseAddr_7->MCR ={v} regValue_15;
# DEBUG baseAddr => NULL
# DEBUG enable => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
# DEBUG retStatus => 0
<bb 4> [local count: 1073741824]:
# retStatus_2 = PHI <2(2), 0(3)>
# DEBUG retStatus => retStatus_2
# DEBUG BEGIN_STMT
return retStatus_2;
}
Lpi2c_Ip_MasterSetBaudRate (uint32 instance, Lpi2c_Ip_ModeType operatingMode, uint32 baudrate, uint32 inputClock)
{
uint32 regValue;
uint32 regValue;
Lpi2c_Ip_StatusType retStatus;
uint32 dataVd;
uint32 setHold;
uint32 clkHi;
uint32 clkLo;
uint32 clkTotal;
uint32 prescaler;
uint32 minPrescaler;
struct Lpi2c_Ip_BaudRateType baudRateParams;
const struct Lpi2c_Ip_MasterStateType * master;
struct LPI2C_Type * baseAddr;
_Bool _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;
long unsigned int _8;
long unsigned int _9;
long unsigned int _10;
<unnamed type> _11;
long unsigned int _18;
<bb 2> [local count: 571974014]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG minPrescaler => 0
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG retStatus => 2
# DEBUG BEGIN_STMT
baseAddr_21 = g_lpi2cBase[instance_20(D)];
# DEBUG baseAddr => baseAddr_21
# DEBUG BEGIN_STMT
master_22 = g_lpi2cMasterStatePtr[instance_20(D)];
# DEBUG master => master_22
# DEBUG BEGIN_STMT
_1 ={v} master_22->i2cIdle;
if (_1 != 0)
goto <bb 3>; [65.00%]
else
goto <bb 12>; [35.00%]
<bb 3> [local count: 371783108]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_21
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPI2C_Set_MasterEnable
# DEBUG BEGIN_STMT
regValue_47 ={v} baseAddr_21->MCR;
# DEBUG regValue => regValue_47
# DEBUG BEGIN_STMT
regValue_48 = regValue_47 & 4294967294;
# DEBUG regValue => regValue_48
# DEBUG BEGIN_STMT
# DEBUG regValue => regValue_48
# DEBUG BEGIN_STMT
baseAddr_21->MCR ={v} regValue_48;
# DEBUG baseAddr => NULL
# DEBUG enable => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
if (baudrate_23(D) != 0)
goto <bb 4>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 4> [local count: 185891554]:
# DEBUG BEGIN_STMT
_2 = inputClock_24(D) + 4294967295;
_3 = baudrate_23(D) * 128;
_4 = _2 / _3;
minPrescaler_25 = _4 + 1;
# DEBUG minPrescaler => minPrescaler_25
# DEBUG BEGIN_STMT
# DEBUG prescaler => 0
goto <bb 7>; [100.00%]
<bb 5> [local count: 939524097]:
# DEBUG BEGIN_STMT
_5 = 1 << prescaler_12;
if (_5 >= minPrescaler_25)
goto <bb 8>; [5.50%]
else
goto <bb 6>; [94.50%]
<bb 6> [local count: 887850271]:
# DEBUG BEGIN_STMT
prescaler_26 = prescaler_12 + 1;
# DEBUG prescaler => prescaler_26
<bb 7> [local count: 1073741824]:
# prescaler_12 = PHI <0(4), prescaler_26(6)>
# DEBUG prescaler => prescaler_12
# DEBUG BEGIN_STMT
if (prescaler_12 != 7)
goto <bb 5>; [87.50%]
else
goto <bb 8>; [12.50%]
<bb 8> [local count: 185891554]:
# prescaler_49 = PHI <prescaler_12(5), prescaler_12(7)>
# DEBUG BEGIN_STMT
_6 = baudrate_23(D) << prescaler_49;
_7 = _6 >> 1;
_8 = _7 + inputClock_24(D);
clkTotal_27 = _8 / _6;
# DEBUG clkTotal => clkTotal_27
# DEBUG prescaler => prescaler_49
# DEBUG BEGIN_STMT
if (clkTotal_27 > 128)
goto <bb 10>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 9> [local count: 278837331]:
# clkTotal_13 = PHI <clkTotal_27(8), 128(3)>
# prescaler_28 = PHI <prescaler_49(8), 7(3)>
# DEBUG prescaler => NULL
# DEBUG clkTotal => clkTotal_13
# DEBUG BEGIN_STMT
if (clkTotal_13 <= 1)
goto <bb 11>; [41.00%]
else
goto <bb 10>; [59.00%]
<bb 10> [local count: 257459802]:
# prescaler_31 = PHI <prescaler_28(9), prescaler_49(8)>
# clkTotal_34 = PHI <clkTotal_13(9), 128(8)>
# DEBUG clkTotal => NULL
# DEBUG BEGIN_STMT
_9 = clkTotal_34 + 4294967294;
clkHi_29 = _9 >> 1;
# DEBUG clkHi => clkHi_29
# DEBUG BEGIN_STMT
_10 = clkTotal_34 - clkHi_29;
clkLo_30 = _10 + 4294967294;
# DEBUG clkHi => clkHi_29
# DEBUG clkLo => clkLo_30
# DEBUG BEGIN_STMT
_18 = MAX_EXPR <1, clkHi_29>;
<bb 11> [local count: 371783108]:
# clkHi_14 = PHI <_18(10), 1(9)>
# prescaler_33 = PHI <prescaler_31(10), prescaler_28(9)>
# clkLo_37 = PHI <clkLo_30(10), 0(9)>
# DEBUG clkLo => NULL
# DEBUG clkHi => clkHi_14
# DEBUG BEGIN_STMT
clkLo_17 = MAX_EXPR <3, clkLo_37>;
# DEBUG clkLo => clkLo_17
# DEBUG BEGIN_STMT
# DEBUG setHold => clkHi_14
# DEBUG BEGIN_STMT
dataVd_36 = clkHi_14 >> 1;
# DEBUG dataVd => dataVd_36
# DEBUG BEGIN_STMT
setHold_32 = MAX_EXPR <2, clkHi_14>;
# DEBUG setHold => setHold_32
# DEBUG BEGIN_STMT
dataVd_35 = MAX_EXPR <1, dataVd_36>;
# DEBUG dataVd => dataVd_35
# DEBUG BEGIN_STMT
_11 = (<unnamed type>) prescaler_33;
baudRateParams.prescaler = _11;
# DEBUG BEGIN_STMT
baudRateParams.dataValid = dataVd_35;
# DEBUG BEGIN_STMT
baudRateParams.setHold = setHold_32;
# DEBUG BEGIN_STMT
baudRateParams.clkHI = clkHi_14;
# DEBUG BEGIN_STMT
baudRateParams.clkLO = clkLo_17;
# DEBUG BEGIN_STMT
Lpi2c_Ip_BaudRateConfig (baseAddr_21, &baudRateParams);
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterSetOperatingMode (instance_20(D), operatingMode_44(D));
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_21
# DEBUG enable => 1
# DEBUG INLINE_ENTRY LPI2C_Set_MasterEnable
# DEBUG BEGIN_STMT
regValue_50 ={v} baseAddr_21->MCR;
# DEBUG regValue => regValue_50
# DEBUG BEGIN_STMT
regValue_51 = regValue_50 & 4294967294;
# DEBUG regValue => regValue_51
# DEBUG BEGIN_STMT
regValue_52 = regValue_51 | 1;
# DEBUG regValue => regValue_52
# DEBUG BEGIN_STMT
baseAddr_21->MCR ={v} regValue_52;
# DEBUG baseAddr => NULL
# DEBUG enable => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
# DEBUG retStatus => 0
<bb 12> [local count: 571974014]:
# retStatus_15 = PHI <2(2), 0(11)>
# DEBUG retStatus => retStatus_15
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
baudRateParams ={v} {CLOBBER};
return retStatus_15;
}
Lpi2c_Ip_HSBaudRateConfig (struct LPI2C_Type * baseAddr, const struct Lpi2c_Ip_BaudRateType * baudRate)
{
long unsigned int _1;
unsigned char _2;
long unsigned int _3;
unsigned char _4;
long unsigned int _5;
unsigned char _6;
long unsigned int _7;
unsigned char _8;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
_1 = baudRate_10(D)->setHoldHS;
_2 = (unsigned char) _1;
LPI2C_Set_MasterDataValidDelayHS (baseAddr_11(D), _2);
# DEBUG BEGIN_STMT
_3 = baudRate_10(D)->dataValidHS;
_4 = (unsigned char) _3;
LPI2C_Set_MasterSetupHoldDelayHS (baseAddr_11(D), _4);
# DEBUG BEGIN_STMT
_5 = baudRate_10(D)->clkHIHS;
_6 = (unsigned char) _5;
LPI2C_Set_MasterClockHighPeriodHS (baseAddr_11(D), _6);
# DEBUG BEGIN_STMT
_7 = baudRate_10(D)->clkLOHS;
_8 = (unsigned char) _7;
LPI2C_Set_MasterClockLowPeriodHS (baseAddr_11(D), _8);
return;
}
Lpi2c_Ip_BaudRateConfig (struct LPI2C_Type * baseAddr, const struct Lpi2c_Ip_BaudRateType * baudRate)
{
<unnamed type> _1;
long unsigned int _2;
unsigned char _3;
long unsigned int _4;
unsigned char _5;
long unsigned int _6;
unsigned char _7;
long unsigned int _8;
unsigned char _9;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
_1 = baudRate_11(D)->prescaler;
LPI2C_Set_MasterPrescaler (baseAddr_12(D), _1);
# DEBUG BEGIN_STMT
_2 = baudRate_11(D)->setHold;
_3 = (unsigned char) _2;
LPI2C_Set_MasterSetupHoldDelay (baseAddr_12(D), _3);
# DEBUG BEGIN_STMT
_4 = baudRate_11(D)->dataValid;
_5 = (unsigned char) _4;
LPI2C_Set_MasterDataValidDelay (baseAddr_12(D), _5);
# DEBUG BEGIN_STMT
_6 = baudRate_11(D)->clkHI;
_7 = (unsigned char) _6;
LPI2C_Set_MasterClockHighPeriod (baseAddr_12(D), _7);
# DEBUG BEGIN_STMT
_8 = baudRate_11(D)->clkLO;
_9 = (unsigned char) _8;
LPI2C_Set_MasterClockLowPeriod (baseAddr_12(D), _9);
return;
}
Lpi2c_Ip_MasterReceive (uint32 instance)
{
uint32 tmp;
uint32 regValue;
struct Lpi2c_Ip_MasterStateType * master;
struct LPI2C_Type * baseAddr;
long unsigned int _1;
_Bool _2;
void (*<T2dc>) (Lpi2c_Ip_MasterEventType, uint8) _3;
unsigned char _4;
short unsigned int _5;
short unsigned int _6;
long unsigned int _19;
_Bool _20;
long unsigned int _22;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
baseAddr_10 = g_lpi2cBase[instance_9(D)];
# DEBUG baseAddr => baseAddr_10
# DEBUG BEGIN_STMT
master_11 = g_lpi2cMasterStatePtr[instance_9(D)];
# DEBUG master => master_11
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_10
# DEBUG INLINE_ENTRY LPI2C_Get_MasterReceiveDataReadyEvent
# DEBUG BEGIN_STMT
regValue_18 ={v} MEM[(const struct LPI2C_Type *)baseAddr_10].MSR;
# DEBUG regValue => regValue_18
# DEBUG BEGIN_STMT
_19 = regValue_18 >> 1;
# DEBUG regValue => _19 & 1
# DEBUG BEGIN_STMT
_20 = (_Bool) _19;
# DEBUG baseAddr => NULL
# DEBUG regValue => NULL
if (_20 != 0)
goto <bb 3>; [33.00%]
else
goto <bb 8>; [67.00%]
<bb 3> [local count: 354334802]:
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterGetReceivedData (baseAddr_10, master_11);
# DEBUG BEGIN_STMT
_1 = master_11->bufferSize;
if (_1 == 0)
goto <bb 4>; [33.00%]
else
goto <bb 6>; [67.00%]
<bb 4> [local count: 116930485]:
# DEBUG BEGIN_STMT
_2 = master_11->sendStop;
Lpi2c_Ip_MasterEndTransfer (baseAddr_10, master_11, _2, 0);
# DEBUG BEGIN_STMT
master_11->status ={v} 0;
# DEBUG BEGIN_STMT
_3 = master_11->masterCallback;
if (_3 != 0B)
goto <bb 5>; [70.00%]
else
goto <bb 8>; [30.00%]
<bb 5> [local count: 81851339]:
# DEBUG BEGIN_STMT
_4 = master_11->callbackParam;
_3 (11, _4);
goto <bb 8>; [100.00%]
<bb 6> [local count: 237404317]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_10
# DEBUG INLINE_ENTRY LPI2C_Get_MasterRxFIFOWatermark
# DEBUG BEGIN_STMT
tmp_21 ={v} MEM[(const struct LPI2C_Type *)baseAddr_10].MFCR;
# DEBUG tmp => tmp_21
# DEBUG BEGIN_STMT
_22 = tmp_21 >> 16;
tmp_23 = _22 & 3;
# DEBUG tmp => tmp_23
# DEBUG BEGIN_STMT
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
if (_1 <= tmp_23)
goto <bb 7>; [33.00%]
else
goto <bb 8>; [67.00%]
<bb 7> [local count: 78343425]:
# DEBUG BEGIN_STMT
_5 = (short unsigned int) _1;
_6 = _5 + 65535;
LPI2C_Set_MasterRxFIFOWatermark (baseAddr_10, _6);
<bb 8> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterCheckErrorEvents (baseAddr_10, master_11);
return;
}
Lpi2c_Ip_MasterGetReceivedData (const struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_MasterStateType * master)
{
uint32 tmp;
uint32 tmp;
uint8 * _1;
uint8 * _2;
uint8 * _3;
long unsigned int _4;
long unsigned int _5;
long unsigned int _6;
unsigned char _15;
long unsigned int _17;
short unsigned int _19;
<bb 2> [local count: 114863532]:
# DEBUG BEGIN_STMT
goto <bb 4>; [100.00%]
<bb 3> [local count: 958878293]:
# DEBUG BEGIN_STMT
_1 = master_10(D)->dataBuffer;
# DEBUG baseAddr => baseAddr_9(D)
# DEBUG INLINE_ENTRY LPI2C_Get_MasterRxData
# DEBUG BEGIN_STMT
tmp_14 ={v} baseAddr_9(D)->MRDR;
# DEBUG tmp => tmp_14
# DEBUG BEGIN_STMT
# DEBUG tmp => tmp_14 & 255
# DEBUG BEGIN_STMT
_15 = (unsigned char) tmp_14;
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
*_1 = _15;
# DEBUG BEGIN_STMT
_2 = master_10(D)->dataBuffer;
_3 = _2 + 1;
master_10(D)->dataBuffer = _3;
# DEBUG BEGIN_STMT
_4 = master_10(D)->bufferSize;
_5 = _4 + 4294967295;
master_10(D)->bufferSize = _5;
<bb 4> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_9(D)
# DEBUG INLINE_ENTRY LPI2C_Get_MasterRxFIFOCount
# DEBUG BEGIN_STMT
tmp_16 ={v} baseAddr_9(D)->MFSR;
# DEBUG tmp => tmp_16
# DEBUG BEGIN_STMT
_17 = tmp_16 >> 16;
tmp_18 = _17 & 7;
# DEBUG tmp => tmp_18
# DEBUG BEGIN_STMT
_19 = (short unsigned int) tmp_18;
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
if (_19 != 0)
goto <bb 5>; [94.50%]
else
goto <bb 6>; [5.50%]
<bb 5> [local count: 1014686025]:
_6 = master_10(D)->bufferSize;
if (_6 != 0)
goto <bb 3>; [94.50%]
else
goto <bb 6>; [5.50%]
<bb 6> [local count: 114863532]:
return;
}
Lpi2c_Ip_MasterSend (uint32 instance)
{
uint32 regValue;
struct Lpi2c_Ip_MasterStateType * master;
struct LPI2C_Type * baseAddr;
uint8 * _1;
long unsigned int _2;
_Bool _3;
void (*<T2dc>) (Lpi2c_Ip_MasterEventType, uint8) _4;
unsigned char _5;
_Bool _18;
unsigned char _19;
unsigned char _20;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG masterCmdQueueEmpty => 0
# DEBUG BEGIN_STMT
baseAddr_9 = g_lpi2cBase[instance_8(D)];
# DEBUG baseAddr => baseAddr_9
# DEBUG BEGIN_STMT
master_10 = g_lpi2cMasterStatePtr[instance_8(D)];
# DEBUG master => master_10
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_9
# DEBUG INLINE_ENTRY LPI2C_Get_MasterTransmitDataRequestEvent
# DEBUG BEGIN_STMT
regValue_11 ={v} MEM[(const struct LPI2C_Type *)baseAddr_9].MSR;
# DEBUG regValue => regValue_11
# DEBUG BEGIN_STMT
# DEBUG regValue => regValue_11 & 1
# DEBUG BEGIN_STMT
_18 = (_Bool) regValue_11;
# DEBUG baseAddr => NULL
# DEBUG regValue => NULL
if (_18 != 0)
goto <bb 3>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 3> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG master => master_10
# DEBUG INLINE_ENTRY Lpi2c_Ip_MasterCmdQueueEmpty
# DEBUG BEGIN_STMT
_19 = MEM[(const struct Lpi2c_Ip_MasterStateType *)master_10].cmdQueue.writeIdx;
_20 = MEM[(const struct Lpi2c_Ip_MasterStateType *)master_10].cmdQueue.readIdx;
# DEBUG master => NULL
if (_19 != _20)
goto <bb 5>; [48.88%]
else
goto <bb 4>; [51.12%]
<bb 4> [local count: 274448410]:
# DEBUG masterCmdQueueEmpty => 1
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_1 = master_10->dataBuffer;
if (_1 != 0B)
goto <bb 6>; [70.00%]
else
goto <bb 10>; [30.00%]
<bb 5> [local count: 262422502]:
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterSendQueuedCmd (baseAddr_9, master_10);
# DEBUG masterCmdQueueEmpty => 0
# DEBUG BEGIN_STMT
goto <bb 10>; [100.00%]
<bb 6> [local count: 192113887]:
# DEBUG BEGIN_STMT
_2 = master_10->bufferSize;
if (_2 == 0)
goto <bb 7>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 7> [local count: 96056944]:
# DEBUG BEGIN_STMT
_3 = master_10->sendStop;
Lpi2c_Ip_MasterEndTransfer (baseAddr_9, master_10, _3, 0);
# DEBUG BEGIN_STMT
master_10->status ={v} 0;
# DEBUG BEGIN_STMT
_4 = master_10->masterCallback;
if (_4 != 0B)
goto <bb 8>; [70.00%]
else
goto <bb 10>; [30.00%]
<bb 8> [local count: 67239860]:
# DEBUG BEGIN_STMT
_5 = master_10->callbackParam;
_4 (11, _5);
goto <bb 10>; [100.00%]
<bb 9> [local count: 96056944]:
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterQueueData (baseAddr_9, master_10);
<bb 10> [local count: 1073741824]:
# DEBUG masterCmdQueueEmpty => NULL
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterCheckErrorEvents (baseAddr_9, master_10);
return;
}
Lpi2c_Ip_MasterCheckErrorEvents (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_MasterStateType * master)
{
uint32 regValue;
uint32 regValue;
uint32 regValue;
long unsigned int _11;
_Bool _12;
long unsigned int _14;
_Bool _15;
long unsigned int _17;
_Bool _18;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_5(D)
# DEBUG INLINE_ENTRY LPI2C_Get_MasterFIFOErrorEvent
# DEBUG BEGIN_STMT
regValue_10 ={v} MEM[(const struct LPI2C_Type *)baseAddr_5(D)].MSR;
# DEBUG regValue => regValue_10
# DEBUG BEGIN_STMT
_11 = regValue_10 >> 12;
# DEBUG regValue => _11 & 1
# DEBUG BEGIN_STMT
_12 = (_Bool) _11;
# DEBUG baseAddr => NULL
# DEBUG regValue => NULL
if (_12 != 0)
goto <bb 3>; [33.00%]
else
goto <bb 4>; [67.00%]
<bb 3> [local count: 354334802]:
# DEBUG BEGIN_STMT
LPI2C_Get_MasterFIFOErrorEventHandler (baseAddr_5(D), master_6(D));
<bb 4> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_5(D)
# DEBUG INLINE_ENTRY LPI2C_Get_MasterArbitrationLostEvent
# DEBUG BEGIN_STMT
regValue_13 ={v} MEM[(const struct LPI2C_Type *)baseAddr_5(D)].MSR;
# DEBUG regValue => regValue_13
# DEBUG BEGIN_STMT
_14 = regValue_13 >> 11;
# DEBUG regValue => _14 & 1
# DEBUG BEGIN_STMT
_15 = (_Bool) _14;
# DEBUG baseAddr => NULL
# DEBUG regValue => NULL
if (_15 != 0)
goto <bb 5>; [33.00%]
else
goto <bb 6>; [67.00%]
<bb 5> [local count: 354334802]:
# DEBUG BEGIN_STMT
LPI2C_Get_MasterArbitrationLostEventHandler (baseAddr_5(D), master_6(D));
<bb 6> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_5(D)
# DEBUG INLINE_ENTRY LPI2C_Get_MasterNACKDetectEvent
# DEBUG BEGIN_STMT
regValue_16 ={v} MEM[(const struct LPI2C_Type *)baseAddr_5(D)].MSR;
# DEBUG regValue => regValue_16
# DEBUG BEGIN_STMT
_17 = regValue_16 >> 10;
# DEBUG regValue => _17 & 1
# DEBUG BEGIN_STMT
_18 = (_Bool) _17;
# DEBUG baseAddr => NULL
# DEBUG regValue => NULL
if (_18 != 0)
goto <bb 7>; [33.00%]
else
goto <bb 8>; [67.00%]
<bb 7> [local count: 354334802]:
# DEBUG BEGIN_STMT
LPI2C_Get_MasterNACKDetectEventHandler (baseAddr_5(D), master_6(D));
<bb 8> [local count: 1073741824]:
return;
}
LPI2C_Get_MasterArbitrationLostEventHandler (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_MasterStateType * master)
{
void (*<T2dc>) (Lpi2c_Ip_MasterEventType, uint8) _1;
unsigned char _2;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_5(D)
# DEBUG INLINE_ENTRY LPI2C_Clear_MasterArbitrationLostEvent
# DEBUG BEGIN_STMT
baseAddr_5(D)->MSR ={v} 2048;
# DEBUG baseAddr => NULL
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterEndTransfer (baseAddr_5(D), master_6(D), 0, 1);
# DEBUG BEGIN_STMT
master_6(D)->status ={v} 6;
# DEBUG BEGIN_STMT
_1 = master_6(D)->masterCallback;
if (_1 != 0B)
goto <bb 3>; [70.00%]
else
goto <bb 4>; [30.00%]
<bb 3> [local count: 751619278]:
# DEBUG BEGIN_STMT
_2 = master_6(D)->callbackParam;
_1 (11, _2);
<bb 4> [local count: 1073741824]:
return;
}
LPI2C_Get_MasterNACKDetectEventHandler (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_MasterStateType * master)
{
void (*<T2dc>) (Lpi2c_Ip_MasterEventType, uint8) _1;
unsigned char _2;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
master_5(D)->highSpeedInProgress = 0;
# DEBUG BEGIN_STMT
master_5(D)->status ={v} 3;
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterEndTransfer (baseAddr_8(D), master_5(D), 0, 1);
# DEBUG BEGIN_STMT
_1 = master_5(D)->masterCallback;
if (_1 != 0B)
goto <bb 3>; [70.00%]
else
goto <bb 4>; [30.00%]
<bb 3> [local count: 751619278]:
# DEBUG BEGIN_STMT
_2 = master_5(D)->callbackParam;
_1 (11, _2);
<bb 4> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_8(D)
# DEBUG INLINE_ENTRY LPI2C_Clear_MasterNACKDetectEvent
# DEBUG BEGIN_STMT
baseAddr_8(D)->MSR ={v} 1024;
# DEBUG baseAddr => NULL
return;
}
LPI2C_Get_MasterFIFOErrorEventHandler (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_MasterStateType * master)
{
<unnamed type> _1;
void (*<T2dc>) (Lpi2c_Ip_MasterEventType, uint8) _2;
unsigned char _3;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_7(D)
# DEBUG INLINE_ENTRY LPI2C_Clear_MasterFIFOErrorEvent
# DEBUG BEGIN_STMT
baseAddr_7(D)->MSR ={v} 4096;
# DEBUG baseAddr => NULL
# DEBUG BEGIN_STMT
_1 = master_8(D)->operatingMode;
if (_1 == 3)
goto <bb 3>; [34.00%]
else
goto <bb 4>; [66.00%]
<bb 3> [local count: 365072220]:
# DEBUG BEGIN_STMT
master_8(D)->highSpeedInProgress = 0;
<bb 4> [local count: 1073741824]:
# DEBUG BEGIN_STMT
master_8(D)->status ={v} 1;
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterEndTransfer (baseAddr_7(D), master_8(D), 0, 1);
# DEBUG BEGIN_STMT
_2 = master_8(D)->masterCallback;
if (_2 != 0B)
goto <bb 5>; [70.00%]
else
goto <bb 6>; [30.00%]
<bb 5> [local count: 751619278]:
# DEBUG BEGIN_STMT
_3 = master_8(D)->callbackParam;
_2 (11, _3);
<bb 6> [local count: 1073741824]:
return;
}
Lpi2c_Ip_SlaveHandleReceiveDataEvent (const struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_SlaveStateType * slave)
{
uint32 tmp;
uint32 tmp;
long unsigned int _1;
void (*<T2d7>) (Lpi2c_Ip_SlaveEventType, uint8) _2;
unsigned char _3;
long unsigned int _4;
uint8 * _5;
uint8 * _6;
uint8 * _7;
long unsigned int _8;
long unsigned int _9;
unsigned char _22;
<bb 2> [local count: 1073741823]:
# DEBUG BEGIN_STMT
_1 = slave_13(D)->bufferSize;
if (_1 == 0)
goto <bb 3>; [50.00%]
else
goto <bb 5>; [50.00%]
<bb 3> [local count: 536870911]:
# DEBUG BEGIN_STMT
_2 = slave_13(D)->slaveCallback;
if (_2 != 0B)
goto <bb 4>; [70.00%]
else
goto <bb 5>; [30.00%]
<bb 4> [local count: 375809638]:
# DEBUG BEGIN_STMT
_3 = slave_13(D)->callbackParam;
_2 (3, _3);
<bb 5> [local count: 1073741824]:
# DEBUG BEGIN_STMT
_4 = slave_13(D)->bufferSize;
if (_4 == 0)
goto <bb 6>; [50.00%]
else
goto <bb 7>; [50.00%]
<bb 6> [local count: 536870913]:
# DEBUG BEGIN_STMT
slave_13(D)->status = 5;
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_15(D)
# DEBUG INLINE_ENTRY LPI2C_Get_SlaveData
# DEBUG BEGIN_STMT
tmp_20 ={v} baseAddr_15(D)->SRDR;
# DEBUG tmp => tmp_20
# DEBUG BEGIN_STMT
# DEBUG tmp => tmp_20 & 255
# DEBUG BEGIN_STMT
goto <bb 8>; [100.00%]
<bb 7> [local count: 536870913]:
# DEBUG BEGIN_STMT
_5 = slave_13(D)->dataBuffer;
# DEBUG baseAddr => baseAddr_15(D)
# DEBUG INLINE_ENTRY LPI2C_Get_SlaveData
# DEBUG BEGIN_STMT
tmp_21 ={v} baseAddr_15(D)->SRDR;
# DEBUG tmp => tmp_21
# DEBUG BEGIN_STMT
# DEBUG tmp => tmp_21 & 255
# DEBUG BEGIN_STMT
_22 = (unsigned char) tmp_21;
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
*_5 = _22;
# DEBUG BEGIN_STMT
_6 = slave_13(D)->dataBuffer;
_7 = _6 + 1;
slave_13(D)->dataBuffer = _7;
# DEBUG BEGIN_STMT
_8 = slave_13(D)->bufferSize;
_9 = _8 + 4294967295;
slave_13(D)->bufferSize = _9;
<bb 8> [local count: 1073741824]:
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
return;
}
Lpi2c_Ip_SlaveHandleTransmitDataEvent (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_SlaveStateType * slave)
{
_Bool _1;
long unsigned int _2;
void (*<T2d7>) (Lpi2c_Ip_SlaveEventType, uint8) _3;
unsigned char _4;
long unsigned int _5;
uint8 * _6;
unsigned char _7;
uint8 * _8;
long unsigned int _9;
long unsigned int _21;
<bb 2> [local count: 1073741823]:
# DEBUG BEGIN_STMT
_1 = slave_14(D)->txUnderrunWarning;
if (_1 != 0)
goto <bb 3>; [50.00%]
else
goto <bb 4>; [50.00%]
<bb 3> [local count: 536870911]:
# DEBUG BEGIN_STMT
slave_14(D)->status = 4;
<bb 4> [local count: 1073741823]:
# DEBUG BEGIN_STMT
_2 = slave_14(D)->bufferSize;
if (_2 == 0)
goto <bb 5>; [50.00%]
else
goto <bb 7>; [50.00%]
<bb 5> [local count: 536870911]:
# DEBUG BEGIN_STMT
_3 = slave_14(D)->slaveCallback;
if (_3 != 0B)
goto <bb 6>; [70.00%]
else
goto <bb 7>; [30.00%]
<bb 6> [local count: 375809638]:
# DEBUG BEGIN_STMT
_4 = slave_14(D)->callbackParam;
_3 (4, _4);
<bb 7> [local count: 1073741824]:
# DEBUG BEGIN_STMT
_5 = slave_14(D)->bufferSize;
if (_5 == 0)
goto <bb 8>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 8> [local count: 536870913]:
# DEBUG BEGIN_STMT
slave_14(D)->txUnderrunWarning = 1;
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_17(D)
# DEBUG data => 255
# DEBUG INLINE_ENTRY LPI2C_Transmit_SlaveData
# DEBUG BEGIN_STMT
baseAddr_17(D)->STDR ={v} 255;
goto <bb 10>; [100.00%]
<bb 9> [local count: 536870913]:
# DEBUG BEGIN_STMT
_6 = slave_14(D)->dataBuffer;
_7 = *_6;
# DEBUG baseAddr => baseAddr_17(D)
# DEBUG data => _7
# DEBUG INLINE_ENTRY LPI2C_Transmit_SlaveData
# DEBUG BEGIN_STMT
_21 = (long unsigned int) _7;
baseAddr_17(D)->STDR ={v} _21;
# DEBUG baseAddr => NULL
# DEBUG data => NULL
# DEBUG BEGIN_STMT
_8 = _6 + 1;
slave_14(D)->dataBuffer = _8;
# DEBUG BEGIN_STMT
_9 = _5 + 4294967295;
slave_14(D)->bufferSize = _9;
<bb 10> [local count: 1073741824]:
# DEBUG baseAddr => NULL
# DEBUG data => NULL
return;
}
Lpi2c_Ip_SlaveHandleAddressValidEvent (uint32 instance, const struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_SlaveStateType * slave)
{
uint32 tmp;
uint32 tmp;
unsigned int _1;
void (*<T2d7>) (Lpi2c_Ip_SlaveEventType, uint8) _2;
unsigned char _3;
<unnamed type> _4;
struct LPI2C_Type * _5;
void (*<T2d7>) (Lpi2c_Ip_SlaveEventType, uint8) _6;
unsigned char _7;
<bb 2> [local count: 1073741823]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_12(D)
# DEBUG INLINE_ENTRY LPI2C_Get_SlaveReceivedAddr
# DEBUG BEGIN_STMT
tmp_21 ={v} baseAddr_12(D)->SASR;
# DEBUG tmp => tmp_21
# DEBUG BEGIN_STMT
# DEBUG D#1 => tmp_21 & 2047
# DEBUG tmp => D#1
# DEBUG BEGIN_STMT
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
# DEBUG receivedAddr => (short unsigned int) D#1
# DEBUG BEGIN_STMT
_1 = tmp_21 & 1;
if (_1 != 0)
goto <bb 3>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 3> [local count: 536870911]:
# DEBUG BEGIN_STMT
slave_13(D)->direction = 0;
# DEBUG BEGIN_STMT
_2 = slave_13(D)->slaveCallback;
if (_2 != 0B)
goto <bb 4>; [70.00%]
else
goto <bb 5>; [30.00%]
<bb 4> [local count: 375809638]:
# DEBUG BEGIN_STMT
_3 = slave_13(D)->callbackParam;
_2 (5, _3);
<bb 5> [local count: 536870911]:
# DEBUG BEGIN_STMT
_4 = slave_13(D)->transferType;
if (_4 == 1)
goto <bb 6>; [34.00%]
else
goto <bb 7>; [66.00%]
<bb 6> [local count: 182536110]:
# DEBUG BEGIN_STMT
_5 = g_lpi2cBase[instance_18(D)];
# DEBUG baseAddr => _5
# DEBUG interrupts => 1
# DEBUG enable => 1
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveInt
# DEBUG BEGIN_STMT
tmp_22 ={v} _5->SIER;
# DEBUG tmp => tmp_22
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
tmp_23 = tmp_22 | 1;
# DEBUG tmp => tmp_23
# DEBUG BEGIN_STMT
_5->SIER ={v} tmp_23;
<bb 7> [local count: 536870911]:
# DEBUG baseAddr => NULL
# DEBUG interrupts => NULL
# DEBUG enable => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
slave_13(D)->txUnderrunWarning = 0;
goto <bb 10>; [100.00%]
<bb 8> [local count: 536870911]:
# DEBUG BEGIN_STMT
slave_13(D)->direction = 1;
# DEBUG BEGIN_STMT
_6 = slave_13(D)->slaveCallback;
if (_6 != 0B)
goto <bb 9>; [70.00%]
else
goto <bb 10>; [30.00%]
<bb 9> [local count: 375809638]:
# DEBUG BEGIN_STMT
_7 = slave_13(D)->callbackParam;
_6 (6, _7);
<bb 10> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
slave_13(D)->status = 2;
return;
}
Lpi2c_Ip_MasterHandleReceiveDataReadyEvent (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_MasterStateType * master)
{
uint32 tmp;
uint32 tmp;
uint32 tmp;
uint8 * _1;
uint8 * _2;
uint8 * _3;
long unsigned int _4;
long unsigned int _5;
long unsigned int _6;
long unsigned int _7;
_Bool _8;
void (*<T2dc>) (Lpi2c_Ip_MasterEventType, uint8) _9;
unsigned char _10;
short unsigned int _11;
short unsigned int _12;
unsigned char _26;
long unsigned int _28;
short unsigned int _30;
long unsigned int _32;
<bb 2> [local count: 114863532]:
# DEBUG BEGIN_STMT
goto <bb 4>; [100.00%]
<bb 3> [local count: 958878293]:
# DEBUG BEGIN_STMT
_1 = master_17(D)->dataBuffer;
# DEBUG baseAddr => baseAddr_16(D)
# DEBUG INLINE_ENTRY LPI2C_Get_MasterRxData
# DEBUG BEGIN_STMT
tmp_25 ={v} MEM[(const struct LPI2C_Type *)baseAddr_16(D)].MRDR;
# DEBUG tmp => tmp_25
# DEBUG BEGIN_STMT
# DEBUG tmp => tmp_25 & 255
# DEBUG BEGIN_STMT
_26 = (unsigned char) tmp_25;
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
*_1 = _26;
# DEBUG BEGIN_STMT
_2 = master_17(D)->dataBuffer;
_3 = _2 + 1;
master_17(D)->dataBuffer = _3;
# DEBUG BEGIN_STMT
_4 = master_17(D)->bufferSize;
_5 = _4 + 4294967295;
master_17(D)->bufferSize = _5;
<bb 4> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_16(D)
# DEBUG INLINE_ENTRY LPI2C_Get_MasterRxFIFOCount
# DEBUG BEGIN_STMT
tmp_27 ={v} MEM[(const struct LPI2C_Type *)baseAddr_16(D)].MFSR;
# DEBUG tmp => tmp_27
# DEBUG BEGIN_STMT
_28 = tmp_27 >> 16;
tmp_29 = _28 & 7;
# DEBUG tmp => tmp_29
# DEBUG BEGIN_STMT
_30 = (short unsigned int) tmp_29;
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
if (_30 != 0)
goto <bb 5>; [94.50%]
else
goto <bb 6>; [5.50%]
<bb 5> [local count: 1014686025]:
_6 = master_17(D)->bufferSize;
if (_6 != 0)
goto <bb 3>; [94.50%]
else
goto <bb 6>; [5.50%]
<bb 6> [local count: 114863532]:
# DEBUG BEGIN_STMT
_7 = master_17(D)->bufferSize;
if (_7 == 0)
goto <bb 7>; [33.00%]
else
goto <bb 9>; [67.00%]
<bb 7> [local count: 37904965]:
# DEBUG BEGIN_STMT
_8 = master_17(D)->sendStop;
Lpi2c_Ip_MasterEndTransfer (baseAddr_16(D), master_17(D), _8, 0);
# DEBUG BEGIN_STMT
master_17(D)->status ={v} 0;
# DEBUG BEGIN_STMT
_9 = master_17(D)->masterCallback;
if (_9 != 0B)
goto <bb 8>; [70.00%]
else
goto <bb 11>; [30.00%]
<bb 8> [local count: 26533476]:
# DEBUG BEGIN_STMT
_10 = master_17(D)->callbackParam;
_9 (11, _10);
goto <bb 11>; [100.00%]
<bb 9> [local count: 76958566]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_16(D)
# DEBUG INLINE_ENTRY LPI2C_Get_MasterRxFIFOWatermark
# DEBUG BEGIN_STMT
tmp_31 ={v} MEM[(const struct LPI2C_Type *)baseAddr_16(D)].MFCR;
# DEBUG tmp => tmp_31
# DEBUG BEGIN_STMT
_32 = tmp_31 >> 16;
tmp_33 = _32 & 3;
# DEBUG tmp => tmp_33
# DEBUG BEGIN_STMT
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
if (_7 <= tmp_33)
goto <bb 10>; [33.00%]
else
goto <bb 11>; [67.00%]
<bb 10> [local count: 25396327]:
# DEBUG BEGIN_STMT
_11 = (short unsigned int) _7;
_12 = _11 + 65535;
LPI2C_Set_MasterRxFIFOWatermark (baseAddr_16(D), _12);
<bb 11> [local count: 114863532]:
# DEBUG BEGIN_STMT
return;
}
Lpi2c_Ip_MasterHandleTransmitDataRequest (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_MasterStateType * master)
{
uint32 tmp;
uint8 * _1;
<unnamed type> _2;
long unsigned int _3;
_Bool _4;
void (*<T2dc>) (Lpi2c_Ip_MasterEventType, uint8) _5;
unsigned char _6;
unsigned char _10;
unsigned char _17;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG master => master_9(D)
# DEBUG INLINE_ENTRY Lpi2c_Ip_MasterCmdQueueEmpty
# DEBUG BEGIN_STMT
_10 = MEM[(const struct Lpi2c_Ip_MasterStateType *)master_9(D)].cmdQueue.writeIdx;
_17 = MEM[(const struct Lpi2c_Ip_MasterStateType *)master_9(D)].cmdQueue.readIdx;
# DEBUG master => NULL
if (_10 != _17)
goto <bb 3>; [48.88%]
else
goto <bb 4>; [51.12%]
<bb 3> [local count: 524845004]:
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterSendQueuedCmd (baseAddr_11(D), master_9(D));
goto <bb 11>; [100.00%]
<bb 4> [local count: 548896821]:
# DEBUG BEGIN_STMT
_1 = master_9(D)->dataBuffer;
if (_1 != 0B)
goto <bb 5>; [70.00%]
else
goto <bb 10>; [30.00%]
<bb 5> [local count: 384227774]:
_2 = master_9(D)->direction;
if (_2 == 0)
goto <bb 6>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 6> [local count: 192113887]:
# DEBUG BEGIN_STMT
_3 = master_9(D)->bufferSize;
if (_3 == 0)
goto <bb 7>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 7> [local count: 96056944]:
# DEBUG BEGIN_STMT
_4 = master_9(D)->sendStop;
Lpi2c_Ip_MasterEndTransfer (baseAddr_11(D), master_9(D), _4, 0);
# DEBUG BEGIN_STMT
master_9(D)->status ={v} 0;
# DEBUG BEGIN_STMT
_5 = master_9(D)->masterCallback;
if (_5 != 0B)
goto <bb 8>; [70.00%]
else
goto <bb 11>; [30.00%]
<bb 8> [local count: 67239860]:
# DEBUG BEGIN_STMT
_6 = master_9(D)->callbackParam;
_5 (11, _6);
goto <bb 11>; [100.00%]
<bb 9> [local count: 96056944]:
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterQueueData (baseAddr_11(D), master_9(D));
goto <bb 11>; [100.00%]
<bb 10> [local count: 356782933]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_11(D)
# DEBUG interrupts => 1
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPI2C_Set_MasterInt
# DEBUG BEGIN_STMT
tmp_18 ={v} baseAddr_11(D)->MIER;
# DEBUG tmp => tmp_18
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
tmp_19 = tmp_18 & 4294967294;
# DEBUG tmp => tmp_19
# DEBUG BEGIN_STMT
baseAddr_11(D)->MIER ={v} tmp_19;
<bb 11> [local count: 1073741824]:
# DEBUG baseAddr => NULL
# DEBUG interrupts => NULL
# DEBUG enable => NULL
# DEBUG tmp => NULL
return;
}
Lpi2c_Ip_SlaveSetOperatingMode (uint32 instance, Lpi2c_Ip_ModeType operatingMode)
{
boolean bHighSpeedMode;
struct Lpi2c_Ip_SlaveStateType * slave;
struct LPI2C_Type * baseAddr;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG bHighSpeedMode => 0
# DEBUG BEGIN_STMT
baseAddr_4 = g_lpi2cBase[instance_3(D)];
# DEBUG baseAddr => baseAddr_4
# DEBUG BEGIN_STMT
slave_5 = g_lpi2cSlaveStatePtr[instance_3(D)];
# DEBUG slave => slave_5
# DEBUG BEGIN_STMT
Lpi2c_Ip_SlaveConfigureNormalMode (baseAddr_4);
# DEBUG BEGIN_STMT
if (operatingMode_7(D) == 3)
goto <bb 3>; [34.00%]
else
goto <bb 4>; [66.00%]
<bb 3> [local count: 365072220]:
# DEBUG BEGIN_STMT
# DEBUG bHighSpeedMode => 1
<bb 4> [local count: 1073741824]:
# bHighSpeedMode_1 = PHI <0(2), 1(3)>
# DEBUG bHighSpeedMode => bHighSpeedMode_1
# DEBUG BEGIN_STMT
LPI2C_Set_SlaveHighSpeedModeDetect (baseAddr_4, bHighSpeedMode_1);
# DEBUG BEGIN_STMT
slave_5->operatingMode = operatingMode_7(D);
return;
}
Lpi2c_Ip_SlaveConfigureNormalMode (struct LPI2C_Type * baseAddr)
{
uint32 regValue;
uint32 regValue;
uint32 regValue;
uint32 regValue;
uint32 regValue;
uint32 regValue;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_2(D)
# DEBUG nack_config => 0
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveIgnoreNACK
# DEBUG BEGIN_STMT
regValue_16 ={v} baseAddr_2(D)->SCFGR1;
# DEBUG regValue => regValue_16
# DEBUG BEGIN_STMT
regValue_17 = regValue_16 & 4294963199;
# DEBUG regValue => regValue_17
# DEBUG BEGIN_STMT
# DEBUG regValue => regValue_17
# DEBUG BEGIN_STMT
baseAddr_2(D)->SCFGR1 ={v} regValue_17;
# DEBUG baseAddr => NULL
# DEBUG nack_config => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_2(D)
# DEBUG nack => 0
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveTransmitNACK
# DEBUG BEGIN_STMT
regValue_14 ={v} baseAddr_2(D)->STAR;
# DEBUG regValue => regValue_14
# DEBUG BEGIN_STMT
regValue_15 = regValue_14 & 4294967294;
# DEBUG regValue => regValue_15
# DEBUG BEGIN_STMT
# DEBUG regValue => regValue_15
# DEBUG BEGIN_STMT
baseAddr_2(D)->STAR ={v} regValue_15;
# DEBUG baseAddr => NULL
# DEBUG nack => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_2(D)
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveACKStall
# DEBUG BEGIN_STMT
regValue_12 ={v} baseAddr_2(D)->SCFGR1;
# DEBUG regValue => regValue_12
# DEBUG BEGIN_STMT
regValue_13 = regValue_12 & 4294967287;
# DEBUG regValue => regValue_13
# DEBUG BEGIN_STMT
# DEBUG regValue => regValue_13
# DEBUG BEGIN_STMT
baseAddr_2(D)->SCFGR1 ={v} regValue_13;
# DEBUG baseAddr => NULL
# DEBUG enable => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_2(D)
# DEBUG enable => 1
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveTXDStall
# DEBUG BEGIN_STMT
regValue_9 ={v} baseAddr_2(D)->SCFGR1;
# DEBUG regValue => regValue_9
# DEBUG BEGIN_STMT
regValue_10 = regValue_9 & 4294967291;
# DEBUG regValue => regValue_10
# DEBUG BEGIN_STMT
regValue_11 = regValue_10 | 4;
# DEBUG regValue => regValue_11
# DEBUG BEGIN_STMT
baseAddr_2(D)->SCFGR1 ={v} regValue_11;
# DEBUG baseAddr => NULL
# DEBUG enable => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_2(D)
# DEBUG enable => 1
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveRXStall
# DEBUG BEGIN_STMT
regValue_6 ={v} baseAddr_2(D)->SCFGR1;
# DEBUG regValue => regValue_6
# DEBUG BEGIN_STMT
regValue_7 = regValue_6 & 4294967293;
# DEBUG regValue => regValue_7
# DEBUG BEGIN_STMT
regValue_8 = regValue_7 | 2;
# DEBUG regValue => regValue_8
# DEBUG BEGIN_STMT
baseAddr_2(D)->SCFGR1 ={v} regValue_8;
# DEBUG baseAddr => NULL
# DEBUG enable => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_2(D)
# DEBUG enable => 1
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveAddrStall
# DEBUG BEGIN_STMT
regValue_3 ={v} baseAddr_2(D)->SCFGR1;
# DEBUG regValue => regValue_3
# DEBUG BEGIN_STMT
regValue_4 = regValue_3 & 4294967294;
# DEBUG regValue => regValue_4
# DEBUG BEGIN_STMT
regValue_5 = regValue_4 | 1;
# DEBUG regValue => regValue_5
# DEBUG BEGIN_STMT
baseAddr_2(D)->SCFGR1 ={v} regValue_5;
# DEBUG baseAddr => NULL
# DEBUG enable => NULL
# DEBUG regValue => NULL
return;
}
Lpi2c_Ip_MasterSetOperatingMode (uint32 instance, Lpi2c_Ip_ModeType operatingMode)
{
uint32 tmp;
uint32 regValue;
struct Lpi2c_Ip_MasterStateType * master;
struct LPI2C_Type * baseAddr;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
baseAddr_3 = g_lpi2cBase[instance_2(D)];
# DEBUG baseAddr => baseAddr_3
# DEBUG BEGIN_STMT
master_4 = g_lpi2cMasterStatePtr[instance_2(D)];
# DEBUG master => master_4
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_3
# DEBUG configuration => 0
# DEBUG INLINE_ENTRY LPI2C_Set_MasterPinConfig
# DEBUG BEGIN_STMT
tmp_9 ={v} baseAddr_3->MCFGR1;
# DEBUG tmp => tmp_9
# DEBUG BEGIN_STMT
tmp_10 = tmp_9 & 4177526783;
# DEBUG tmp => tmp_10
# DEBUG BEGIN_STMT
# DEBUG tmp => tmp_10
# DEBUG BEGIN_STMT
baseAddr_3->MCFGR1 ={v} tmp_10;
# DEBUG baseAddr => NULL
# DEBUG configuration => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_3
# DEBUG configuration => 0
# DEBUG INLINE_ENTRY LPI2C_Set_MasterNACKConfig
# DEBUG BEGIN_STMT
regValue_7 ={v} baseAddr_3->MCFGR1;
# DEBUG regValue => regValue_7
# DEBUG BEGIN_STMT
regValue_8 = regValue_7 & 4294966783;
# DEBUG regValue => regValue_8
# DEBUG BEGIN_STMT
# DEBUG regValue => regValue_8
# DEBUG BEGIN_STMT
baseAddr_3->MCFGR1 ={v} regValue_8;
# DEBUG baseAddr => NULL
# DEBUG configuration => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
master_4->operatingMode = operatingMode_5(D);
return;
}
Lpi2c_Ip_MasterEndTransfer (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_MasterStateType * master, boolean sendStop, boolean resetFIFO)
{
uint32 tmp;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_4(D)
# DEBUG interrupts => 15363
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPI2C_Set_MasterInt
# DEBUG BEGIN_STMT
tmp_14 ={v} baseAddr_4(D)->MIER;
# DEBUG tmp => tmp_14
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
tmp_15 = tmp_14 & 4294951932;
# DEBUG tmp => tmp_15
# DEBUG BEGIN_STMT
baseAddr_4(D)->MIER ={v} tmp_15;
# DEBUG baseAddr => NULL
# DEBUG interrupts => NULL
# DEBUG enable => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
if (resetFIFO_5(D) != 0)
goto <bb 3>; [33.00%]
else
goto <bb 4>; [67.00%]
<bb 3> [local count: 354334802]:
# DEBUG BEGIN_STMT
LPI2C_Reset_MasterTxFIFOCmd (baseAddr_4(D));
# DEBUG BEGIN_STMT
LPI2C_Reset_MasterRxFIFOCmd (baseAddr_4(D));
<bb 4> [local count: 1073741824]:
# DEBUG BEGIN_STMT
if (sendStop_8(D) != 0)
goto <bb 5>; [50.00%]
else
goto <bb 6>; [50.00%]
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_4(D)
# DEBUG cmd => 2
# DEBUG data => 0
# DEBUG INLINE_ENTRY LPI2C_Cmd_MasterTransmit
# DEBUG BEGIN_STMT
baseAddr_4(D)->MTDR ={v} 512;
# DEBUG baseAddr => NULL
# DEBUG cmd => NULL
# DEBUG data => NULL
# DEBUG BEGIN_STMT
master_9(D)->highSpeedInProgress = 0;
<bb 6> [local count: 1073741824]:
# DEBUG BEGIN_STMT
master_9(D)->dataBuffer = 0B;
# DEBUG BEGIN_STMT
master_9(D)->bufferSize = 0;
# DEBUG BEGIN_STMT
master_9(D)->i2cIdle ={v} 1;
return;
}
Lpi2c_Ip_MasterQueueData (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_MasterStateType * master)
{
uint32 tmp;
uint32 tmp;
uint32 tmp;
uint16 txFIFOCount;
uint8 * _1;
unsigned char _2;
uint8 * _3;
long unsigned int _4;
long unsigned int _5;
unsigned char _12;
unsigned char _15;
short unsigned int _19;
short unsigned int _22;
short unsigned int _25;
long unsigned int _26;
<bb 2> [local count: 337833918]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_10(D)
# DEBUG INLINE_ENTRY LPI2C_Get_MasterTxFIFOCount
# DEBUG BEGIN_STMT
tmp_20 ={v} MEM[(const struct LPI2C_Type *)baseAddr_10(D)].MFSR;
# DEBUG tmp => tmp_20
# DEBUG BEGIN_STMT
tmp_21 = tmp_20 & 7;
# DEBUG tmp => tmp_21
# DEBUG BEGIN_STMT
_22 = (short unsigned int) tmp_21;
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
# DEBUG txFIFOCount => _22
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_10(D)
# DEBUG INLINE_ENTRY LPI2C_Get_MasterTxFIFOSize
# DEBUG BEGIN_STMT
tmp_16 ={v} MEM[(const struct LPI2C_Type *)baseAddr_10(D)].PARAM;
# DEBUG tmp => tmp_16
# DEBUG BEGIN_STMT
tmp_17 = tmp_16 & 15;
# DEBUG tmp => tmp_17
# DEBUG BEGIN_STMT
tmp_18 = 1 << tmp_17;
# DEBUG tmp => tmp_18
# DEBUG BEGIN_STMT
_19 = (short unsigned int) tmp_18;
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
# DEBUG txFifoSize => _19
# DEBUG BEGIN_STMT
# DEBUG master => master_11(D)
# DEBUG INLINE_ENTRY Lpi2c_Ip_MasterCmdQueueEmpty
# DEBUG BEGIN_STMT
_12 = MEM[(const struct Lpi2c_Ip_MasterStateType *)master_11(D)].cmdQueue.writeIdx;
_15 = MEM[(const struct Lpi2c_Ip_MasterStateType *)master_11(D)].cmdQueue.readIdx;
# DEBUG master => NULL
if (_12 == _15)
goto <bb 7>; [34.00%]
else
goto <bb 6>; [66.00%]
<bb 7> [local count: 114863532]:
goto <bb 4>; [100.00%]
<bb 3> [local count: 958878294]:
# DEBUG BEGIN_STMT
_1 = master_11(D)->dataBuffer;
_2 = *_1;
# DEBUG baseAddr => baseAddr_10(D)
# DEBUG cmd => 0
# DEBUG data => _2
# DEBUG INLINE_ENTRY LPI2C_Cmd_MasterTransmit
# DEBUG BEGIN_STMT
_26 = (long unsigned int) _2;
baseAddr_10(D)->MTDR ={v} _26;
# DEBUG baseAddr => NULL
# DEBUG cmd => NULL
# DEBUG data => NULL
# DEBUG BEGIN_STMT
_3 = _1 + 1;
master_11(D)->dataBuffer = _3;
# DEBUG BEGIN_STMT
_4 = _5 + 4294967295;
master_11(D)->bufferSize = _4;
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_10(D)
# DEBUG INLINE_ENTRY LPI2C_Get_MasterTxFIFOCount
# DEBUG BEGIN_STMT
tmp_23 ={v} MEM[(const struct LPI2C_Type *)baseAddr_10(D)].MFSR;
# DEBUG tmp => tmp_23
# DEBUG BEGIN_STMT
tmp_24 = tmp_23 & 7;
# DEBUG tmp => tmp_24
# DEBUG BEGIN_STMT
_25 = (short unsigned int) tmp_24;
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
# DEBUG txFIFOCount => _25
<bb 4> [local count: 1073741824]:
# txFIFOCount_6 = PHI <_25(3), _22(7)>
# DEBUG txFIFOCount => txFIFOCount_6
# DEBUG BEGIN_STMT
_5 = master_11(D)->bufferSize;
if (_5 != 0)
goto <bb 5>; [94.50%]
else
goto <bb 6>; [5.50%]
<bb 5> [local count: 1014686025]:
if (txFIFOCount_6 < _19)
goto <bb 3>; [94.50%]
else
goto <bb 6>; [5.50%]
<bb 6> [local count: 337833918]:
return;
}
Lpi2c_Ip_MasterSendAddress (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_MasterStateType * master, boolean receive)
{
Lpi2c_Ip_MasterCommandType startCommand;
uint8 addrByte;
<unnamed type> _1;
_Bool _2;
unsigned char _3;
_Bool _4;
_Bool _5;
short unsigned int _6;
short unsigned int _7;
unsigned char _8;
unsigned char _9;
short unsigned int _10;
short unsigned int _11;
short unsigned int _12;
unsigned char _13;
unsigned char _14;
short unsigned int _15;
unsigned char _16;
unsigned char _17;
unsigned char _18;
<bb 2> [local count: 1073741823]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_1 = master_23(D)->operatingMode;
if (_1 == 3)
goto <bb 3>; [34.00%]
else
goto <bb 5>; [66.00%]
<bb 3> [local count: 365072220]:
_2 = master_23(D)->highSpeedInProgress;
if (_2 != 0)
goto <bb 5>; [67.00%]
else
goto <bb 4>; [33.00%]
<bb 4> [local count: 120473832]:
# DEBUG BEGIN_STMT
_3 = master_23(D)->masterCode;
Lpi2c_Ip_MasterQueueCmd (baseAddr_24(D), master_23(D), 5, _3);
# DEBUG BEGIN_STMT
master_23(D)->highSpeedInProgress = 1;
<bb 5> [local count: 1073741824]:
# DEBUG BEGIN_STMT
_4 = master_23(D)->highSpeedInProgress;
if (_4 != 0)
goto <bb 7>; [50.00%]
else
goto <bb 6>; [50.00%]
<bb 6> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG startCommand => 4
<bb 7> [local count: 1073741824]:
# startCommand_19 = PHI <6(5), 4(6)>
# DEBUG startCommand => startCommand_19
# DEBUG BEGIN_STMT
_5 = master_23(D)->is10bitAddr;
if (_5 != 0)
goto <bb 8>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 8> [local count: 536870913]:
# DEBUG BEGIN_STMT
_6 = master_23(D)->slaveAddress;
_7 = _6 >> 7;
_8 = (unsigned char) _7;
_9 = _8 & 6;
addrByte_30 = _9 + 240;
# DEBUG addrByte => addrByte_30
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterQueueCmd (baseAddr_24(D), master_23(D), startCommand_19, addrByte_30);
# DEBUG BEGIN_STMT
_10 = master_23(D)->slaveAddress;
addrByte_32 = (uint8) _10;
# DEBUG addrByte => addrByte_32
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterQueueCmd (baseAddr_24(D), master_23(D), 0, addrByte_32);
# DEBUG BEGIN_STMT
if (receive_27(D) != 0)
goto <bb 9>; [33.00%]
else
goto <bb 11>; [67.00%]
<bb 9> [local count: 177167401]:
# DEBUG BEGIN_STMT
_11 = master_23(D)->slaveAddress;
_12 = _11 >> 7;
_13 = (unsigned char) _12;
_14 = _13 & 6;
addrByte_34 = _14 + 241;
# DEBUG addrByte => addrByte_34
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterQueueCmd (baseAddr_24(D), master_23(D), startCommand_19, addrByte_34);
goto <bb 11>; [100.00%]
<bb 10> [local count: 536870913]:
# DEBUG BEGIN_STMT
_15 = master_23(D)->slaveAddress;
_16 = (unsigned char) _15;
_17 = _16 << 1;
_18 = (unsigned char) receive_27(D);
addrByte_28 = _17 + _18;
# DEBUG addrByte => addrByte_28
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterQueueCmd (baseAddr_24(D), master_23(D), startCommand_19, addrByte_28);
<bb 11> [local count: 1073741824]:
return;
}
Lpi2c_Ip_MasterSendQueuedCmd (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_MasterStateType * master)
{
uint32 tmp;
uint32 tmp;
uint32 tmp;
uint16 txFIFOCount;
int _1;
<unnamed type> _2;
unsigned char _3;
unsigned char _4;
unsigned char _10;
short unsigned int _16;
short unsigned int _19;
short unsigned int _22;
long unsigned int _23;
long unsigned int _24;
long unsigned int _25;
long unsigned int _26;
unsigned char _27;
unsigned char _28;
unsigned char _29;
<bb 2> [local count: 114863532]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_9(D)
# DEBUG INLINE_ENTRY LPI2C_Get_MasterTxFIFOCount
# DEBUG BEGIN_STMT
tmp_17 ={v} MEM[(const struct LPI2C_Type *)baseAddr_9(D)].MFSR;
# DEBUG tmp => tmp_17
# DEBUG BEGIN_STMT
tmp_18 = tmp_17 & 7;
# DEBUG tmp => tmp_18
# DEBUG BEGIN_STMT
_19 = (short unsigned int) tmp_18;
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
# DEBUG txFIFOCount => _19
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_9(D)
# DEBUG INLINE_ENTRY LPI2C_Get_MasterTxFIFOSize
# DEBUG BEGIN_STMT
tmp_14 ={v} MEM[(const struct LPI2C_Type *)baseAddr_9(D)].PARAM;
# DEBUG tmp => tmp_14
# DEBUG BEGIN_STMT
tmp_12 = tmp_14 & 15;
# DEBUG tmp => tmp_12
# DEBUG BEGIN_STMT
tmp_15 = 1 << tmp_12;
# DEBUG tmp => tmp_15
# DEBUG BEGIN_STMT
_16 = (short unsigned int) tmp_15;
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
# DEBUG txFifoSize => _16
# DEBUG BEGIN_STMT
goto <bb 4>; [100.00%]
<bb 3> [local count: 958878293]:
# DEBUG BEGIN_STMT
_1 = (int) _28;
_2 = master_11(D)->cmdQueue.cmd[_1];
_3 = master_11(D)->cmdQueue.data[_1];
# DEBUG baseAddr => baseAddr_9(D)
# DEBUG cmd => _2
# DEBUG data => _3
# DEBUG INLINE_ENTRY LPI2C_Cmd_MasterTransmit
# DEBUG BEGIN_STMT
_23 = (long unsigned int) _2;
_24 = _23 << 8;
_25 = (long unsigned int) _3;
_26 = _24 + _25;
baseAddr_9(D)->MTDR ={v} _26;
# DEBUG baseAddr => NULL
# DEBUG cmd => NULL
# DEBUG data => NULL
# DEBUG BEGIN_STMT
_4 = _28 + 1;
master_11(D)->cmdQueue.readIdx = _4;
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_9(D)
# DEBUG INLINE_ENTRY LPI2C_Get_MasterTxFIFOCount
# DEBUG BEGIN_STMT
tmp_20 ={v} MEM[(const struct LPI2C_Type *)baseAddr_9(D)].MFSR;
# DEBUG tmp => tmp_20
# DEBUG BEGIN_STMT
tmp_21 = tmp_20 & 7;
# DEBUG tmp => tmp_21
# DEBUG BEGIN_STMT
_22 = (short unsigned int) tmp_21;
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
# DEBUG txFIFOCount => _22
<bb 4> [local count: 1073741824]:
# txFIFOCount_5 = PHI <_19(2), _22(3)>
# DEBUG txFIFOCount => txFIFOCount_5
# DEBUG BEGIN_STMT
# DEBUG master => master_11(D)
# DEBUG INLINE_ENTRY Lpi2c_Ip_MasterCmdQueueEmpty
# DEBUG BEGIN_STMT
_27 = MEM[(const struct Lpi2c_Ip_MasterStateType *)master_11(D)].cmdQueue.writeIdx;
_28 = MEM[(const struct Lpi2c_Ip_MasterStateType *)master_11(D)].cmdQueue.readIdx;
# DEBUG master => NULL
if (_27 != _28)
goto <bb 5>; [94.50%]
else
goto <bb 6>; [5.50%]
<bb 5> [local count: 1014686025]:
if (txFIFOCount_5 < _16)
goto <bb 3>; [94.50%]
else
goto <bb 6>; [5.50%]
<bb 6> [local count: 114863532]:
# _29 = PHI <_27(5), _27(4)>
# _10 = PHI <_28(5), _28(4)>
# DEBUG BEGIN_STMT
# DEBUG master => master_11(D)
# DEBUG INLINE_ENTRY NULL
# DEBUG BEGIN_STMT
# DEBUG master => NULL
if (_10 == _29)
goto <bb 7>; [34.00%]
else
goto <bb 8>; [66.00%]
<bb 7> [local count: 39053601]:
# DEBUG BEGIN_STMT
# DEBUG master => master_11(D)
# DEBUG INLINE_ENTRY Lpi2c_Ip_MasterResetQueue
# DEBUG BEGIN_STMT
master_11(D)->cmdQueue.readIdx = 0;
# DEBUG BEGIN_STMT
master_11(D)->cmdQueue.writeIdx = 0;
<bb 8> [local count: 114863532]:
# DEBUG master => NULL
return;
}
Lpi2c_Ip_MasterQueueCmd (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_MasterStateType * master, Lpi2c_Ip_MasterCommandType cmd, uint8 data)
{
uint32 tmp;
uint32 tmp;
unsigned char _1;
int _2;
unsigned char _3;
short unsigned int _16;
short unsigned int _19;
long unsigned int _20;
long unsigned int _21;
long unsigned int _22;
long unsigned int _23;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_6(D)
# DEBUG INLINE_ENTRY LPI2C_Get_MasterTxFIFOCount
# DEBUG BEGIN_STMT
tmp_17 ={v} MEM[(const struct LPI2C_Type *)baseAddr_6(D)].MFSR;
# DEBUG tmp => tmp_17
# DEBUG BEGIN_STMT
tmp_18 = tmp_17 & 7;
# DEBUG tmp => tmp_18
# DEBUG BEGIN_STMT
_19 = (short unsigned int) tmp_18;
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
# DEBUG txFIFOCount => _19
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_6(D)
# DEBUG INLINE_ENTRY LPI2C_Get_MasterTxFIFOSize
# DEBUG BEGIN_STMT
tmp_13 ={v} MEM[(const struct LPI2C_Type *)baseAddr_6(D)].PARAM;
# DEBUG tmp => tmp_13
# DEBUG BEGIN_STMT
tmp_14 = tmp_13 & 15;
# DEBUG tmp => tmp_14
# DEBUG BEGIN_STMT
tmp_15 = 1 << tmp_14;
# DEBUG tmp => tmp_15
# DEBUG BEGIN_STMT
_16 = (short unsigned int) tmp_15;
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
# DEBUG txFIFOSize => _16
# DEBUG BEGIN_STMT
if (_16 > _19)
goto <bb 3>; [50.00%]
else
goto <bb 4>; [50.00%]
<bb 3> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_6(D)
# DEBUG cmd => cmd_8(D)
# DEBUG data => data_10(D)
# DEBUG INLINE_ENTRY LPI2C_Cmd_MasterTransmit
# DEBUG BEGIN_STMT
_20 = (long unsigned int) cmd_8(D);
_21 = _20 << 8;
_22 = (long unsigned int) data_10(D);
_23 = _21 + _22;
baseAddr_6(D)->MTDR ={v} _23;
goto <bb 5>; [100.00%]
<bb 4> [local count: 536870913]:
# DEBUG BEGIN_STMT
_1 = master_7(D)->cmdQueue.writeIdx;
_2 = (int) _1;
master_7(D)->cmdQueue.cmd[_2] = cmd_8(D);
# DEBUG BEGIN_STMT
master_7(D)->cmdQueue.data[_2] = data_10(D);
# DEBUG BEGIN_STMT
_3 = _1 + 1;
master_7(D)->cmdQueue.writeIdx = _3;
<bb 5> [local count: 1073741824]:
# DEBUG baseAddr => NULL
# DEBUG cmd => NULL
# DEBUG data => NULL
return;
}
LPI2C_Set_SlaveAddr0 (struct LPI2C_Type * baseAddr, uint16 addr)
{
uint32 tmp;
long unsigned int _1;
long unsigned int _2;
long unsigned int _3;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
tmp_6 ={v} baseAddr_5(D)->SAMR;
# DEBUG tmp => tmp_6
# DEBUG BEGIN_STMT
tmp_7 = tmp_6 & 4294965249;
# DEBUG tmp => tmp_7
# DEBUG BEGIN_STMT
_1 = (long unsigned int) addr_8(D);
_2 = _1 << 1;
_3 = _2 & 2046;
tmp_9 = _3 | tmp_7;
# DEBUG tmp => tmp_9
# DEBUG BEGIN_STMT
baseAddr_5(D)->SAMR ={v} tmp_9;
return;
}
LPI2C_Set_SlaveHighSpeedModeDetect (struct LPI2C_Type * baseAddr, boolean enable)
{
uint32 regValue;
long unsigned int iftmp.6_1;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
regValue_4 ={v} baseAddr_3(D)->SCFGR1;
# DEBUG regValue => regValue_4
# DEBUG BEGIN_STMT
regValue_5 = regValue_4 & 4294959103;
# DEBUG regValue => regValue_5
# DEBUG BEGIN_STMT
if (enable_6(D) != 0)
goto <bb 4>; [50.00%]
else
goto <bb 3>; [50.00%]
<bb 3> [local count: 536870913]:
<bb 4> [local count: 1073741824]:
# iftmp.6_1 = PHI <8192(2), 0(3)>
regValue_7 = iftmp.6_1 | regValue_5;
# DEBUG regValue => regValue_7
# DEBUG BEGIN_STMT
baseAddr_3(D)->SCFGR1 ={v} regValue_7;
return;
}
LPI2C_Set_MasterRxFIFOWatermark (struct LPI2C_Type * baseAddr, uint16 value)
{
uint32 tmp;
long unsigned int _1;
long unsigned int _2;
long unsigned int _3;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
tmp_6 ={v} baseAddr_5(D)->MFCR;
# DEBUG tmp => tmp_6
# DEBUG BEGIN_STMT
tmp_7 = tmp_6 & 4294770687;
# DEBUG tmp => tmp_7
# DEBUG BEGIN_STMT
_1 = (long unsigned int) value_8(D);
_2 = _1 << 16;
_3 = _2 & 196608;
tmp_9 = _3 | tmp_7;
# DEBUG tmp => tmp_9
# DEBUG BEGIN_STMT
baseAddr_5(D)->MFCR ={v} tmp_9;
return;
}
LPI2C_Set_MasterClockLowPeriodHS (struct LPI2C_Type * baseAddr, uint8 value)
{
uint32 tmp;
long unsigned int _1;
unsigned char _9;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
tmp_4 ={v} baseAddr_3(D)->MCCR1;
# DEBUG tmp => tmp_4
# DEBUG BEGIN_STMT
tmp_5 = tmp_4 & 4294967232;
# DEBUG tmp => tmp_5
# DEBUG BEGIN_STMT
_9 = value_6(D) & 63;
_1 = (long unsigned int) _9;
tmp_7 = _1 | tmp_5;
# DEBUG tmp => tmp_7
# DEBUG BEGIN_STMT
baseAddr_3(D)->MCCR1 ={v} tmp_7;
return;
}
LPI2C_Set_MasterClockHighPeriodHS (struct LPI2C_Type * baseAddr, uint8 value)
{
uint32 tmp;
long unsigned int _1;
long unsigned int _2;
long unsigned int _3;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
tmp_6 ={v} baseAddr_5(D)->MCCR1;
# DEBUG tmp => tmp_6
# DEBUG BEGIN_STMT
tmp_7 = tmp_6 & 4294951167;
# DEBUG tmp => tmp_7
# DEBUG BEGIN_STMT
_1 = (long unsigned int) value_8(D);
_2 = _1 << 8;
_3 = _2 & 16128;
tmp_9 = _3 | tmp_7;
# DEBUG tmp => tmp_9
# DEBUG BEGIN_STMT
baseAddr_5(D)->MCCR1 ={v} tmp_9;
return;
}
LPI2C_Set_MasterSetupHoldDelayHS (struct LPI2C_Type * baseAddr, uint8 value)
{
uint32 tmp;
long unsigned int _1;
long unsigned int _2;
long unsigned int _3;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
tmp_6 ={v} baseAddr_5(D)->MCCR1;
# DEBUG tmp => tmp_6
# DEBUG BEGIN_STMT
tmp_7 = tmp_6 & 4290838527;
# DEBUG tmp => tmp_7
# DEBUG BEGIN_STMT
_1 = (long unsigned int) value_8(D);
_2 = _1 << 16;
_3 = _2 & 4128768;
tmp_9 = _3 | tmp_7;
# DEBUG tmp => tmp_9
# DEBUG BEGIN_STMT
baseAddr_5(D)->MCCR1 ={v} tmp_9;
return;
}
LPI2C_Set_MasterDataValidDelayHS (struct LPI2C_Type * baseAddr, uint8 value)
{
uint32 tmp;
long unsigned int _1;
long unsigned int _2;
long unsigned int _3;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
tmp_6 ={v} baseAddr_5(D)->MCCR1;
# DEBUG tmp => tmp_6
# DEBUG BEGIN_STMT
tmp_7 = tmp_6 & 3238002687;
# DEBUG tmp => tmp_7
# DEBUG BEGIN_STMT
_1 = (long unsigned int) value_8(D);
_2 = _1 << 24;
_3 = _2 & 1056964608;
tmp_9 = _3 | tmp_7;
# DEBUG tmp => tmp_9
# DEBUG BEGIN_STMT
baseAddr_5(D)->MCCR1 ={v} tmp_9;
return;
}
LPI2C_Set_MasterClockLowPeriod (struct LPI2C_Type * baseAddr, uint8 value)
{
uint32 tmp;
long unsigned int _1;
unsigned char _9;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
tmp_4 ={v} baseAddr_3(D)->MCCR0;
# DEBUG tmp => tmp_4
# DEBUG BEGIN_STMT
tmp_5 = tmp_4 & 4294967232;
# DEBUG tmp => tmp_5
# DEBUG BEGIN_STMT
_9 = value_6(D) & 63;
_1 = (long unsigned int) _9;
tmp_7 = _1 | tmp_5;
# DEBUG tmp => tmp_7
# DEBUG BEGIN_STMT
baseAddr_3(D)->MCCR0 ={v} tmp_7;
return;
}
LPI2C_Set_MasterSetupHoldDelay (struct LPI2C_Type * baseAddr, uint8 value)
{
uint32 tmp;
long unsigned int _1;
long unsigned int _2;
long unsigned int _3;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
tmp_6 ={v} baseAddr_5(D)->MCCR0;
# DEBUG tmp => tmp_6
# DEBUG BEGIN_STMT
tmp_7 = tmp_6 & 4290838527;
# DEBUG tmp => tmp_7
# DEBUG BEGIN_STMT
_1 = (long unsigned int) value_8(D);
_2 = _1 << 16;
_3 = _2 & 4128768;
tmp_9 = _3 | tmp_7;
# DEBUG tmp => tmp_9
# DEBUG BEGIN_STMT
baseAddr_5(D)->MCCR0 ={v} tmp_9;
return;
}
LPI2C_Set_MasterDataValidDelay (struct LPI2C_Type * baseAddr, uint8 value)
{
uint32 tmp;
long unsigned int _1;
long unsigned int _2;
long unsigned int _3;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
tmp_6 ={v} baseAddr_5(D)->MCCR0;
# DEBUG tmp => tmp_6
# DEBUG BEGIN_STMT
tmp_7 = tmp_6 & 3238002687;
# DEBUG tmp => tmp_7
# DEBUG BEGIN_STMT
_1 = (long unsigned int) value_8(D);
_2 = _1 << 24;
_3 = _2 & 1056964608;
tmp_9 = _3 | tmp_7;
# DEBUG tmp => tmp_9
# DEBUG BEGIN_STMT
baseAddr_5(D)->MCCR0 ={v} tmp_9;
return;
}
LPI2C_Set_MasterClockHighPeriod (struct LPI2C_Type * baseAddr, uint8 value)
{
uint32 tmp;
long unsigned int _1;
long unsigned int _2;
long unsigned int _3;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
tmp_6 ={v} baseAddr_5(D)->MCCR0;
# DEBUG tmp => tmp_6
# DEBUG BEGIN_STMT
tmp_7 = tmp_6 & 4294951167;
# DEBUG tmp => tmp_7
# DEBUG BEGIN_STMT
_1 = (long unsigned int) value_8(D);
_2 = _1 << 8;
_3 = _2 & 16128;
tmp_9 = _3 | tmp_7;
# DEBUG tmp => tmp_9
# DEBUG BEGIN_STMT
baseAddr_5(D)->MCCR0 ={v} tmp_9;
return;
}
LPI2C_Set_MasterPrescaler (struct LPI2C_Type * baseAddr, Lpi2c_Ip_MasterPrescalerType prescaler)
{
uint32 tmp;
long unsigned int _1;
<unnamed type> _9;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
tmp_4 ={v} baseAddr_3(D)->MCFGR1;
# DEBUG tmp => tmp_4
# DEBUG BEGIN_STMT
tmp_5 = tmp_4 & 4294967288;
# DEBUG tmp => tmp_5
# DEBUG BEGIN_STMT
_9 = prescaler_6(D) & 7;
_1 = (long unsigned int) _9;
tmp_7 = _1 | tmp_5;
# DEBUG tmp => tmp_7
# DEBUG BEGIN_STMT
baseAddr_3(D)->MCFGR1 ={v} tmp_7;
return;
}
LPI2C_Set_MasterBusIdleTimeout (struct LPI2C_Type * baseAddr, uint32 u32Timeout)
{
uint32 tmp;
long unsigned int _1;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
tmp_4 ={v} baseAddr_3(D)->MCFGR2;
# DEBUG tmp => tmp_4
# DEBUG BEGIN_STMT
tmp_5 = tmp_4 & 4294963200;
# DEBUG tmp => tmp_5
# DEBUG BEGIN_STMT
_1 = u32Timeout_6(D) & 4095;
tmp_7 = _1 | tmp_5;
# DEBUG tmp => tmp_7
# DEBUG BEGIN_STMT
baseAddr_3(D)->MCFGR2 ={v} tmp_7;
return;
}
LPI2C_Set_MasterPinLowTimeout (struct LPI2C_Type * baseAddr, uint32 u32Timeout)
{
uint32 tmp;
long unsigned int _1;
long unsigned int _2;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
tmp_5 ={v} baseAddr_4(D)->MCFGR3;
# DEBUG tmp => tmp_5
# DEBUG BEGIN_STMT
tmp_6 = tmp_5 & 4293918975;
# DEBUG tmp => tmp_6
# DEBUG BEGIN_STMT
_1 = u32Timeout_7(D) << 8;
_2 = _1 & 1048320;
tmp_8 = _2 | tmp_6;
# DEBUG tmp => tmp_8
# DEBUG BEGIN_STMT
baseAddr_4(D)->MCFGR3 ={v} tmp_8;
return;
}
LPI2C_Set_SlaveGlitchFilterSCL (struct LPI2C_Type * baseAddr, uint32 cycles)
{
uint32 tmp;
long unsigned int _1;
long unsigned int _2;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
tmp_5 ={v} baseAddr_4(D)->SCFGR2;
# DEBUG tmp => tmp_5
# DEBUG BEGIN_STMT
tmp_6 = tmp_5 & 4293984255;
# DEBUG tmp => tmp_6
# DEBUG BEGIN_STMT
_1 = cycles_7(D) << 16;
_2 = _1 & 983040;
tmp_8 = _2 | tmp_6;
# DEBUG tmp => tmp_8
# DEBUG BEGIN_STMT
baseAddr_4(D)->SCFGR2 ={v} tmp_8;
return;
}
LPI2C_Set_SlaveGlitchFilterSDA (struct LPI2C_Type * baseAddr, uint32 cycles)
{
uint32 tmp;
long unsigned int _1;
long unsigned int _2;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
tmp_5 ={v} baseAddr_4(D)->SCFGR2;
# DEBUG tmp => tmp_5
# DEBUG BEGIN_STMT
tmp_6 = tmp_5 & 4043309055;
# DEBUG tmp => tmp_6
# DEBUG BEGIN_STMT
_1 = cycles_7(D) << 24;
_2 = _1 & 251658240;
tmp_8 = _2 | tmp_6;
# DEBUG tmp => tmp_8
# DEBUG BEGIN_STMT
baseAddr_4(D)->SCFGR2 ={v} tmp_8;
return;
}
LPI2C_Set_MasterGlitchFilterSCL (struct LPI2C_Type * baseAddr, uint32 cycles)
{
uint32 tmp;
long unsigned int _1;
long unsigned int _2;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
tmp_5 ={v} baseAddr_4(D)->MCFGR2;
# DEBUG tmp => tmp_5
# DEBUG BEGIN_STMT
tmp_6 = tmp_5 & 4293984255;
# DEBUG tmp => tmp_6
# DEBUG BEGIN_STMT
_1 = cycles_7(D) << 16;
_2 = _1 & 983040;
tmp_8 = _2 | tmp_6;
# DEBUG tmp => tmp_8
# DEBUG BEGIN_STMT
baseAddr_4(D)->MCFGR2 ={v} tmp_8;
return;
}
LPI2C_Set_MasterGlitchFilterSDA (struct LPI2C_Type * baseAddr, uint32 cycles)
{
uint32 tmp;
long unsigned int _1;
long unsigned int _2;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
tmp_5 ={v} baseAddr_4(D)->MCFGR2;
# DEBUG tmp => tmp_5
# DEBUG BEGIN_STMT
tmp_6 = tmp_5 & 4043309055;
# DEBUG tmp => tmp_6
# DEBUG BEGIN_STMT
_1 = cycles_7(D) << 24;
_2 = _1 & 251658240;
tmp_8 = _2 | tmp_6;
# DEBUG tmp => tmp_8
# DEBUG BEGIN_STMT
baseAddr_4(D)->MCFGR2 ={v} tmp_8;
return;
}
LPI2C_Reset_MasterTxFIFOCmd (struct LPI2C_Type * baseAddr)
{
uint32 regValue;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
regValue_3 ={v} baseAddr_2(D)->MCR;
# DEBUG regValue => regValue_3
# DEBUG BEGIN_STMT
regValue_4 = regValue_3 & 4294967039;
# DEBUG regValue => regValue_4
# DEBUG BEGIN_STMT
regValue_5 = regValue_4 | 256;
# DEBUG regValue => regValue_5
# DEBUG BEGIN_STMT
baseAddr_2(D)->MCR ={v} regValue_5;
return;
}
LPI2C_Reset_MasterRxFIFOCmd (struct LPI2C_Type * baseAddr)
{
uint32 regValue;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
regValue_3 ={v} baseAddr_2(D)->MCR;
# DEBUG regValue => regValue_3
# DEBUG BEGIN_STMT
regValue_4 = regValue_3 & 4294966783;
# DEBUG regValue => regValue_4
# DEBUG BEGIN_STMT
regValue_5 = regValue_4 | 512;
# DEBUG regValue => regValue_5
# DEBUG BEGIN_STMT
baseAddr_2(D)->MCR ={v} regValue_5;
return;
}
LPI2C_Get_MasterRxFIFOSize (const struct LPI2C_Type * baseAddr)
{
uint32 tmp;
long unsigned int _1;
uint16 _7;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
tmp_4 ={v} baseAddr_3(D)->PARAM;
# DEBUG tmp => tmp_4
# DEBUG BEGIN_STMT
_1 = tmp_4 >> 8;
tmp_5 = _1 & 15;
# DEBUG tmp => tmp_5
# DEBUG BEGIN_STMT
tmp_6 = 1 << tmp_5;
# DEBUG tmp => tmp_6
# DEBUG BEGIN_STMT
_7 = (uint16) tmp_6;
return _7;
}