
Marking local functions:


Marking externally visible functions: Lpuart_Lin_Ip_TimeoutExpired Lpuart_Lin_Ip_StartTimeout Lpuart_Lin_Ip_HwClearStatusFlag Lpuart_Lin_Ip_HwGetStatusFlag Lpuart_Lin_Ip_HwGetIntMode Lpuart_Lin_Ip_HwSetIntMode Lpuart_Lin_Ip_HwSetParityMode Lpuart_Lin_Ip_HwSetBitCountPerChar Lpuart_Lin_Ip_HwInit


Marking externally visible variables:


Reclaiming functions:
Reclaiming variables:
Clearing address taken flags:
Symbol table:

OsIf_GetElapsed/28 (OsIf_GetElapsed) @06c93380
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpuart_Lin_Ip_TimeoutExpired/23 
  Calls: 
OsIf_MicrosToTicks/27 (OsIf_MicrosToTicks) @06c931c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpuart_Lin_Ip_StartTimeout/22 
  Calls: 
OsIf_GetCounter/26 (OsIf_GetCounter) @06c930e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpuart_Lin_Ip_StartTimeout/22 
  Calls: 
SchM_Exit_Lin_LIN_EXCLUSIVE_AREA_03/25 (SchM_Exit_Lin_LIN_EXCLUSIVE_AREA_03) @06c83ee0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpuart_Lin_Ip_HwSetIntMode/18 
  Calls: 
SchM_Enter_Lin_LIN_EXCLUSIVE_AREA_03/24 (SchM_Enter_Lin_LIN_EXCLUSIVE_AREA_03) @06c83e00
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpuart_Lin_Ip_HwSetIntMode/18 
  Calls: 
Lpuart_Lin_Ip_TimeoutExpired/23 (Lpuart_Lin_Ip_TimeoutExpired) @06c83700
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: OsIf_GetElapsed/28 
Lpuart_Lin_Ip_StartTimeout/22 (Lpuart_Lin_Ip_StartTimeout) @06c83460
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: OsIf_MicrosToTicks/27 OsIf_GetCounter/26 
Lpuart_Lin_Ip_HwClearStatusFlag/21 (Lpuart_Lin_Ip_HwClearStatusFlag) @06c831c0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: 
Lpuart_Lin_Ip_HwGetStatusFlag/20 (Lpuart_Lin_Ip_HwGetStatusFlag) @06c7ad20
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: 
Lpuart_Lin_Ip_HwGetIntMode/19 (Lpuart_Lin_Ip_HwGetIntMode) @06c7a7e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: 
Lpuart_Lin_Ip_HwSetIntMode/18 (Lpuart_Lin_Ip_HwSetIntMode) @06c7aee0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: SchM_Exit_Lin_LIN_EXCLUSIVE_AREA_03/25 SchM_Enter_Lin_LIN_EXCLUSIVE_AREA_03/24 
Lpuart_Lin_Ip_HwSetParityMode/17 (Lpuart_Lin_Ip_HwSetParityMode) @06c7ac40
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: 
Lpuart_Lin_Ip_HwSetBitCountPerChar/16 (Lpuart_Lin_Ip_HwSetBitCountPerChar) @06c7a9a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: 
Lpuart_Lin_Ip_HwInit/15 (Lpuart_Lin_Ip_HwInit) @06c7a700
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: 
Lpuart_Lin_Ip_TimeoutExpired (uint32 startTime, uint32 timeoutTicks, OsIf_CounterType osifCounter)
{
  uint32 elapsedTime;
  uint32 tempTime;
  boolean D.4686;

  <bb 2> :
  # DEBUG BEGIN_STMT
  tempTime = startTime;
  # DEBUG BEGIN_STMT
  elapsedTime = OsIf_GetElapsed (&tempTime, osifCounter);
  # DEBUG BEGIN_STMT
  D.4686 = elapsedTime >= timeoutTicks;
  tempTime = {CLOBBER};
  return D.4686;

}


Lpuart_Lin_Ip_StartTimeout (uint32 * startTimeOut, uint32 * timeoutTicksOut, uint32 timeoutUs, OsIf_CounterType osifCounter)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  _1 = OsIf_GetCounter (osifCounter);
  *startTimeOut = _1;
  # DEBUG BEGIN_STMT
  _2 = OsIf_MicrosToTicks (timeoutUs, osifCounter);
  *timeoutTicksOut = _2;
  return;

}


Lpuart_Lin_Ip_HwClearStatusFlag (struct LPUART_Type * base, Lpuart_Lin_Ip_StatusFlagType statusFlag)
{
  Lpuart_Lin_Ip_StatusType returnCode;
  Lpuart_Lin_Ip_StatusType D.4684;

  <bb 2> :
  # DEBUG BEGIN_STMT
  returnCode = 0;
  # DEBUG BEGIN_STMT
  switch (statusFlag) <default: <L14> [INV], case 0: <L13> [INV], case 131088: <L10> [INV], case 131089: <L9> [INV], case 131090: <L8> [INV], case 131091: <L7> [INV], case 131092: <L6> [INV], case 131093 ... 131096: <L0> [INV], case 131102: <L12> [INV], case 131103: <L11> [INV], case 262158 ... 262159: <L0> [INV]>

  <bb 3> :
<L0>:
  # DEBUG BEGIN_STMT
  returnCode = 1;
  # DEBUG BEGIN_STMT
  goto <bb 13>; [INV]

  <bb 4> :
<L6>:
  # DEBUG BEGIN_STMT
  _1 = base->STAT;
  _2 = _1 & 1071661055;
  _3 = _2 | 1048576;
  base->STAT = _3;
  # DEBUG BEGIN_STMT
  goto <bb 13>; [INV]

  <bb 5> :
<L7>:
  # DEBUG BEGIN_STMT
  _4 = base->STAT;
  _5 = _4 & 1071661055;
  _6 = _5 | 524288;
  base->STAT = _6;
  # DEBUG BEGIN_STMT
  goto <bb 13>; [INV]

  <bb 6> :
<L8>:
  # DEBUG BEGIN_STMT
  _7 = base->STAT;
  _8 = _7 & 1071661055;
  _9 = _8 | 262144;
  base->STAT = _9;
  # DEBUG BEGIN_STMT
  goto <bb 13>; [INV]

  <bb 7> :
<L9>:
  # DEBUG BEGIN_STMT
  _10 = base->STAT;
  _11 = _10 & 1071661055;
  _12 = _11 | 131072;
  base->STAT = _12;
  # DEBUG BEGIN_STMT
  goto <bb 13>; [INV]

  <bb 8> :
<L10>:
  # DEBUG BEGIN_STMT
  _13 = base->STAT;
  _14 = _13 & 1071661055;
  _15 = _14 | 65536;
  base->STAT = _15;
  # DEBUG BEGIN_STMT
  goto <bb 13>; [INV]

  <bb 9> :
<L11>:
  # DEBUG BEGIN_STMT
  _16 = base->STAT;
  _17 = _16 & 1071661055;
  _18 = _17 | 2147483648;
  base->STAT = _18;
  # DEBUG BEGIN_STMT
  goto <bb 13>; [INV]

  <bb 10> :
<L12>:
  # DEBUG BEGIN_STMT
  _19 = base->STAT;
  _20 = _19 & 1071661055;
  _21 = _20 | 1073741824;
  base->STAT = _21;
  # DEBUG BEGIN_STMT
  goto <bb 13>; [INV]

  <bb 11> :
<L13>:
  # DEBUG BEGIN_STMT
  _22 = base->STAT;
  _23 = _22 & 1071661055;
  _24 = _23 | 3223257088;
  base->STAT = _24;
  # DEBUG BEGIN_STMT
  goto <bb 13>; [INV]

  <bb 12> :
<L14>:
  # DEBUG BEGIN_STMT
  returnCode = 1;
  # DEBUG BEGIN_STMT

  <bb 13> :
  # DEBUG BEGIN_STMT
  D.4684 = returnCode;
  return D.4684;

}


Lpuart_Lin_Ip_HwGetStatusFlag (const struct LPUART_Type * base, Lpuart_Lin_Ip_StatusFlagType statusFlag)
{
  boolean retVal;
  uint32 reg;
  boolean D.4681;

  <bb 2> :
  # DEBUG BEGIN_STMT
  reg = statusFlag >> 16;
  # DEBUG BEGIN_STMT
  retVal = 0;
  # DEBUG BEGIN_STMT
  switch (reg) <default: <L5> [INV], case 2: <L0> [INV], case 4: <L1> [INV]>

  <bb 3> :
<L0>:
  # DEBUG BEGIN_STMT
  _1 = base->STAT;
  _2 = (short unsigned int) statusFlag;
  _3 = (int) _2;
  _4 = _1 >> _3;
  _5 = _4 & 1;
  retVal = _5 != 0;
  # DEBUG BEGIN_STMT
  goto <bb 5>; [INV]

  <bb 4> :
<L1>:
  # DEBUG BEGIN_STMT
  _6 = base->DATA;
  _7 = (short unsigned int) statusFlag;
  _8 = (int) _7;
  _9 = _6 >> _8;
  _10 = _9 & 1;
  retVal = _10 != 0;
  # DEBUG BEGIN_STMT

  <bb 5> :
<L5>:
  # DEBUG BEGIN_STMT
  D.4681 = retVal;
  return D.4681;

}


Lpuart_Lin_Ip_HwGetIntMode (const struct LPUART_Type * base, Lpuart_Lin_Ip_InterruptType intSrc)
{
  boolean retVal;
  uint32 reg;
  boolean D.4678;

  <bb 2> :
  # DEBUG BEGIN_STMT
  reg = intSrc >> 16;
  # DEBUG BEGIN_STMT
  retVal = 0;
  # DEBUG BEGIN_STMT
  switch (reg) <default: <L5> [INV], case 1: <L0> [INV], case 3: <L1> [INV]>

  <bb 3> :
<L0>:
  # DEBUG BEGIN_STMT
  _1 = base->BAUD;
  _2 = (short unsigned int) intSrc;
  _3 = (int) _2;
  _4 = _1 >> _3;
  _5 = _4 & 1;
  retVal = _5 != 0;
  # DEBUG BEGIN_STMT
  goto <bb 5>; [INV]

  <bb 4> :
<L1>:
  # DEBUG BEGIN_STMT
  _6 = base->CTRL;
  _7 = (short unsigned int) intSrc;
  _8 = (int) _7;
  _9 = _6 >> _8;
  _10 = _9 & 1;
  retVal = _10 != 0;
  # DEBUG BEGIN_STMT

  <bb 5> :
<L5>:
  # DEBUG BEGIN_STMT
  D.4678 = retVal;
  return D.4678;

}


Lpuart_Lin_Ip_HwSetIntMode (struct LPUART_Type * base, Lpuart_Lin_Ip_InterruptType intSrc, boolean enable)
{
  uint32 intRegOffset;
  uint32 reg;
  unsigned int iftmp.1;
  unsigned int iftmp.0;

  <bb 2> :
  # DEBUG BEGIN_STMT
  reg = intSrc >> 16;
  # DEBUG BEGIN_STMT
  _1 = (short unsigned int) intSrc;
  intRegOffset = (uint32) _1;
  # DEBUG BEGIN_STMT
  SchM_Enter_Lin_LIN_EXCLUSIVE_AREA_03 ();
  # DEBUG BEGIN_STMT
  switch (reg) <default: <L10> [INV], case 1: <L0> [INV], case 3: <L4> [INV]>

  <bb 3> :
<L0>:
  # DEBUG BEGIN_STMT
  _2 = base->BAUD;
  _3 = 1 << intRegOffset;
  _4 = ~_3;
  _5 = _2 & _4;
  if (enable != 0)
    goto <bb 4>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 4> :
  iftmp.0 = 1;
  goto <bb 6>; [INV]

  <bb 5> :
  iftmp.0 = 0;

  <bb 6> :
  _6 = iftmp.0 << intRegOffset;
  _7 = _5 | _6;
  base->BAUD = _7;
  # DEBUG BEGIN_STMT
  goto <bb 11>; [INV]

  <bb 7> :
<L4>:
  # DEBUG BEGIN_STMT
  _8 = base->CTRL;
  _9 = 1 << intRegOffset;
  _10 = ~_9;
  _11 = _8 & _10;
  if (enable != 0)
    goto <bb 8>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 8> :
  iftmp.1 = 1;
  goto <bb 10>; [INV]

  <bb 9> :
  iftmp.1 = 0;

  <bb 10> :
  _12 = iftmp.1 << intRegOffset;
  _13 = _11 | _12;
  base->CTRL = _13;
  # DEBUG BEGIN_STMT

  <bb 11> :
<L10>:
  # DEBUG BEGIN_STMT
  SchM_Exit_Lin_LIN_EXCLUSIVE_AREA_03 ();
  return;

}


Lpuart_Lin_Ip_HwSetParityMode (struct LPUART_Type * base, Lpuart_Lin_Ip_ParityModeType parityModeType)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  _1 = base->CTRL;
  _2 = _1 & 4294967293;
  _3 = parityModeType >> 1;
  _4 = (long unsigned int) _3;
  _5 = _4 << 1;
  _6 = _2 | _5;
  base->CTRL = _6;
  # DEBUG BEGIN_STMT
  _7 = base->CTRL;
  _8 = _7 & 4294967294;
  _9 = (long unsigned int) parityModeType;
  _10 = _9 & 1;
  _11 = _8 | _10;
  base->CTRL = _11;
  return;

}


Lpuart_Lin_Ip_HwSetBitCountPerChar (struct LPUART_Type * base, Lpuart_Lin_Ip_BitCountPerCharType bitCountPerChar, boolean parity)
{
  uint32 tmpBitCountPerChar;

  <bb 2> :
  # DEBUG BEGIN_STMT
  tmpBitCountPerChar = (uint32) bitCountPerChar;
  # DEBUG BEGIN_STMT
  if (parity != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  tmpBitCountPerChar = tmpBitCountPerChar + 1;

  <bb 4> :
  # DEBUG BEGIN_STMT
  if (tmpBitCountPerChar == 2)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  # DEBUG BEGIN_STMT
  _1 = base->BAUD;
  _2 = _1 | 536870912;
  base->BAUD = _2;
  goto <bb 7>; [INV]

  <bb 6> :
  # DEBUG BEGIN_STMT
  _3 = base->CTRL;
  _4 = _3 & 4294967279;
  _5 = tmpBitCountPerChar << 4;
  _6 = _4 | _5;
  base->CTRL = _6;
  # DEBUG BEGIN_STMT
  _7 = base->BAUD;
  _8 = _7 & 3758096383;
  base->BAUD = _8;

  <bb 7> :
  return;

}


Lpuart_Lin_Ip_HwInit (struct LPUART_Type * base)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  base->BAUD = 251658244;
  # DEBUG BEGIN_STMT
  base->STAT = 3223306240;
  # DEBUG BEGIN_STMT
  base->CTRL = 0;
  # DEBUG BEGIN_STMT
  base->MATCH = 0;
  return;

}


