
Marking local functions: Pit_Ip_ProcessCommonInterrupt Pit_Ip_GetLowerLifetimerValue Pit_Ip_GetUpperLifetimerValue Pit_Ip_GetInterruptBit Pit_Ip_ClearInterruptFlag Pit_Ip_EnableInterrupt Pit_Ip_GetCounterValue Pit_Ip_SetCounterValue Pit_Ip_IsChannelRunning Pit_Ip_Reset Pit_Ip_SetChainMode Pit_Ip_SetDebugMode Pit_Ip_EnableTimer Pit_Ip_EnableModule DevAssert


Marking externally visible functions: PIT_0_ISR Pit_Ip_GetLifetimeTimer Pit_Ip_SetLifetimeTimer Pit_Ip_DisableChannelInterrupt Pit_Ip_EnableChannelInterrupt Pit_Ip_GetCurrentTimer Pit_Ip_StopChannel Pit_Ip_StartChannel Pit_Ip_Deinit Pit_Ip_InitChannel Pit_Ip_Init Pit_Ip_GetInterruptFlags Pit_Ip_GetLoadValue


Marking externally visible variables: pitBase


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

SchM_Exit_Gpt_GPT_EXCLUSIVE_AREA_01/37 (SchM_Exit_Gpt_GPT_EXCLUSIVE_AREA_01) @0641c380
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Pit_Ip_SetChainMode/8 
  Calls: 
SchM_Enter_Gpt_GPT_EXCLUSIVE_AREA_01/36 (SchM_Enter_Gpt_GPT_EXCLUSIVE_AREA_01) @0641c2a0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Pit_Ip_SetChainMode/8 
  Calls: 
SchM_Exit_Gpt_GPT_EXCLUSIVE_AREA_03/35 (SchM_Exit_Gpt_GPT_EXCLUSIVE_AREA_03) @06c5c700
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Pit_Ip_ClearInterruptFlag/14 
  Calls: 
SchM_Enter_Gpt_GPT_EXCLUSIVE_AREA_03/34 (SchM_Enter_Gpt_GPT_EXCLUSIVE_AREA_03) @06c5c620
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Pit_Ip_ClearInterruptFlag/14 
  Calls: 
SchM_Exit_Gpt_GPT_EXCLUSIVE_AREA_02/33 (SchM_Exit_Gpt_GPT_EXCLUSIVE_AREA_02) @06c5c460
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Pit_Ip_EnableInterrupt/13 
  Calls: 
SchM_Enter_Gpt_GPT_EXCLUSIVE_AREA_02/32 (SchM_Enter_Gpt_GPT_EXCLUSIVE_AREA_02) @06c5c380
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Pit_Ip_EnableInterrupt/13 
  Calls: 
SchM_Exit_Gpt_GPT_EXCLUSIVE_AREA_00/31 (SchM_Exit_Gpt_GPT_EXCLUSIVE_AREA_00) @06c5c1c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Pit_Ip_EnableTimer/6 
  Calls: 
SchM_Enter_Gpt_GPT_EXCLUSIVE_AREA_00/30 (SchM_Enter_Gpt_GPT_EXCLUSIVE_AREA_00) @06c5c0e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Pit_Ip_EnableTimer/6 
  Calls: 
PIT_0_ISR/29 (PIT_0_ISR) @06c4f9a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: Pit_Ip_ProcessCommonInterrupt/18 Pit_Ip_ClearInterruptFlag/14 Pit_Ip_GetInterruptBit/15 Pit_Ip_GetInterruptFlags/4 
Pit_Ip_GetLifetimeTimer/28 (Pit_Ip_GetLifetimeTimer) @06c4f700
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: Pit_Ip_GetLowerLifetimerValue/17 Pit_Ip_GetUpperLifetimerValue/16 DevAssert/0 
Pit_Ip_SetLifetimeTimer/27 (Pit_Ip_SetLifetimeTimer) @06c4f460
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: Pit_Ip_EnableTimer/6 Pit_Ip_SetCounterValue/11 Pit_Ip_EnableTimer/6 Pit_Ip_SetChainMode/8 Pit_Ip_EnableInterrupt/13 Pit_Ip_SetCounterValue/11 DevAssert/0 
Pit_Ip_DisableChannelInterrupt/26 (Pit_Ip_DisableChannelInterrupt) @06c4f1c0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: Pit_Ip_ClearInterruptFlag/14 Pit_Ip_EnableInterrupt/13 DevAssert/0 DevAssert/0 
Pit_Ip_EnableChannelInterrupt/25 (Pit_Ip_EnableChannelInterrupt) @06c46d20
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: Pit_Ip_EnableInterrupt/13 Pit_Ip_ClearInterruptFlag/14 DevAssert/0 DevAssert/0 
Pit_Ip_GetCurrentTimer/24 (Pit_Ip_GetCurrentTimer) @06c467e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: Pit_Ip_GetCounterValue/12 DevAssert/0 DevAssert/0 
Pit_Ip_StopChannel/23 (Pit_Ip_StopChannel) @06c462a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: Pit_Ip_ProcessCommonInterrupt/18 
  Calls: Pit_Ip_ClearInterruptFlag/14 Pit_Ip_EnableTimer/6 DevAssert/0 DevAssert/0 
Pit_Ip_StartChannel/22 (Pit_Ip_StartChannel) @06c46ee0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: Pit_Ip_EnableTimer/6 Pit_Ip_SetCounterValue/11 Pit_Ip_IsChannelRunning/10 DevAssert/0 DevAssert/0 
Pit_Ip_Deinit/21 (Pit_Ip_Deinit) @06c46c40
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: Pit_Ip_Reset/9 DevAssert/0 
Pit_Ip_InitChannel/20 (Pit_Ip_InitChannel) @06c469a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Pit_Ip_u32ChState/2 (write)Pit_Ip_u32ChState/2 (write)Pit_Ip_u32ChState/2 (write)Pit_Ip_u32ChState/2 (write)
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: Pit_Ip_ClearInterruptFlag/14 Pit_Ip_EnableInterrupt/13 Pit_Ip_EnableTimer/6 DevAssert/0 DevAssert/0 DevAssert/0 
Pit_Ip_Init/19 (Pit_Ip_Init) @06c46700
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: Pit_Ip_SetDebugMode/7 Pit_Ip_EnableModule/5 DevAssert/0 DevAssert/0 
Pit_Ip_ProcessCommonInterrupt/18 (Pit_Ip_ProcessCommonInterrupt) @06c46460
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Pit_Ip_u32ChState/2 (read)Pit_Ip_u32ChState/2 (read)Pit_Ip_u32ChState/2 (read)Pit_Ip_u32ChState/2 (read)Pit_Ip_u32ChState/2 (read)
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: PIT_0_ISR/29 
  Calls: Pit_Ip_StopChannel/23 
   Indirect call
Pit_Ip_GetLowerLifetimerValue/17 (Pit_Ip_GetLowerLifetimerValue) @06c461c0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: pitBase/1 (read)
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Pit_Ip_GetLifetimeTimer/28 
  Calls: 
Pit_Ip_GetUpperLifetimerValue/16 (Pit_Ip_GetUpperLifetimerValue) @06aefe00
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: pitBase/1 (read)
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Pit_Ip_GetLifetimeTimer/28 
  Calls: 
Pit_Ip_GetInterruptBit/15 (Pit_Ip_GetInterruptBit) @06aef8c0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: pitBase/1 (read)
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: PIT_0_ISR/29 
  Calls: 
Pit_Ip_ClearInterruptFlag/14 (Pit_Ip_ClearInterruptFlag) @06aef380
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: pitBase/1 (read)pitBase/1 (read)
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: PIT_0_ISR/29 Pit_Ip_DisableChannelInterrupt/26 Pit_Ip_EnableChannelInterrupt/25 Pit_Ip_StopChannel/23 Pit_Ip_InitChannel/20 
  Calls: SchM_Exit_Gpt_GPT_EXCLUSIVE_AREA_03/35 SchM_Enter_Gpt_GPT_EXCLUSIVE_AREA_03/34 
Pit_Ip_EnableInterrupt/13 (Pit_Ip_EnableInterrupt) @06aefd20
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: pitBase/1 (read)pitBase/1 (read)pitBase/1 (read)pitBase/1 (read)
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Pit_Ip_SetLifetimeTimer/27 Pit_Ip_DisableChannelInterrupt/26 Pit_Ip_EnableChannelInterrupt/25 Pit_Ip_InitChannel/20 
  Calls: SchM_Exit_Gpt_GPT_EXCLUSIVE_AREA_02/33 SchM_Enter_Gpt_GPT_EXCLUSIVE_AREA_02/32 
Pit_Ip_GetCounterValue/12 (Pit_Ip_GetCounterValue) @06aefa80
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: pitBase/1 (read)
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Pit_Ip_GetCurrentTimer/24 
  Calls: 
Pit_Ip_SetCounterValue/11 (Pit_Ip_SetCounterValue) @06aef7e0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: pitBase/1 (read)
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Pit_Ip_SetLifetimeTimer/27 Pit_Ip_SetLifetimeTimer/27 Pit_Ip_StartChannel/22 
  Calls: 
Pit_Ip_IsChannelRunning/10 (Pit_Ip_IsChannelRunning) @06aef540
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: pitBase/1 (read)
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Pit_Ip_StartChannel/22 
  Calls: 
Pit_Ip_Reset/9 (Pit_Ip_Reset) @06aef2a0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: pitBase/1 (read)pitBase/1 (read)pitBase/1 (read)pitBase/1 (read)
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Pit_Ip_Deinit/21 
  Calls: 
Pit_Ip_SetChainMode/8 (Pit_Ip_SetChainMode) @06ae60e0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: pitBase/1 (read)pitBase/1 (read)pitBase/1 (read)pitBase/1 (read)
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Pit_Ip_SetLifetimeTimer/27 
  Calls: SchM_Exit_Gpt_GPT_EXCLUSIVE_AREA_01/37 SchM_Enter_Gpt_GPT_EXCLUSIVE_AREA_01/36 
Pit_Ip_SetDebugMode/7 (Pit_Ip_SetDebugMode) @06ae6d20
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: pitBase/1 (read)pitBase/1 (read)pitBase/1 (read)pitBase/1 (read)
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Pit_Ip_Init/19 
  Calls: 
Pit_Ip_EnableTimer/6 (Pit_Ip_EnableTimer) @06ae6a80
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: pitBase/1 (read)pitBase/1 (read)pitBase/1 (read)pitBase/1 (read)
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Pit_Ip_SetLifetimeTimer/27 Pit_Ip_SetLifetimeTimer/27 Pit_Ip_StopChannel/23 Pit_Ip_StartChannel/22 Pit_Ip_InitChannel/20 
  Calls: SchM_Exit_Gpt_GPT_EXCLUSIVE_AREA_00/31 SchM_Enter_Gpt_GPT_EXCLUSIVE_AREA_00/30 
Pit_Ip_EnableModule/5 (Pit_Ip_EnableModule) @06ae67e0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: pitBase/1 (read)pitBase/1 (read)
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Pit_Ip_Init/19 
  Calls: 
Pit_Ip_GetInterruptFlags/4 (Pit_Ip_GetInterruptFlags) @06ae6540
  Type: function definition analyzed
  Visibility: externally_visible public
  References: pitBase/1 (read)
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: PIT_0_ISR/29 
  Calls: 
Pit_Ip_GetLoadValue/3 (Pit_Ip_GetLoadValue) @06ae62a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: pitBase/1 (read)
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: 
Pit_Ip_u32ChState/2 (Pit_Ip_u32ChState) @06b20360
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: Pit_Ip_InitChannel/20 (write)Pit_Ip_InitChannel/20 (write)Pit_Ip_InitChannel/20 (write)Pit_Ip_InitChannel/20 (write)Pit_Ip_ProcessCommonInterrupt/18 (read)Pit_Ip_ProcessCommonInterrupt/18 (read)Pit_Ip_ProcessCommonInterrupt/18 (read)Pit_Ip_ProcessCommonInterrupt/18 (read)Pit_Ip_ProcessCommonInterrupt/18 (read)
  Availability: available
  Varpool flags: initialized
pitBase/1 (pitBase) @06b1bf30
  Type: variable definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: Pit_Ip_GetLoadValue/3 (read)Pit_Ip_GetInterruptFlags/4 (read)Pit_Ip_EnableModule/5 (read)Pit_Ip_EnableModule/5 (read)Pit_Ip_SetDebugMode/7 (read)Pit_Ip_SetDebugMode/7 (read)Pit_Ip_SetDebugMode/7 (read)Pit_Ip_SetDebugMode/7 (read)Pit_Ip_EnableTimer/6 (read)Pit_Ip_EnableTimer/6 (read)Pit_Ip_EnableTimer/6 (read)Pit_Ip_EnableTimer/6 (read)Pit_Ip_EnableInterrupt/13 (read)Pit_Ip_EnableInterrupt/13 (read)Pit_Ip_EnableInterrupt/13 (read)Pit_Ip_EnableInterrupt/13 (read)Pit_Ip_ClearInterruptFlag/14 (read)Pit_Ip_ClearInterruptFlag/14 (read)Pit_Ip_Reset/9 (read)Pit_Ip_Reset/9 (read)Pit_Ip_Reset/9 (read)Pit_Ip_Reset/9 (read)Pit_Ip_IsChannelRunning/10 (read)Pit_Ip_SetCounterValue/11 (read)Pit_Ip_GetCounterValue/12 (read)Pit_Ip_SetChainMode/8 (read)Pit_Ip_SetChainMode/8 (read)Pit_Ip_SetChainMode/8 (read)Pit_Ip_SetChainMode/8 (read)Pit_Ip_GetUpperLifetimerValue/16 (read)Pit_Ip_GetLowerLifetimerValue/17 (read)Pit_Ip_GetInterruptBit/15 (read)
  Availability: available
  Varpool flags: initialized read-only const-value-known
DevAssert/0 (DevAssert) @06ad9ee0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Pit_Ip_GetLifetimeTimer/28 Pit_Ip_SetLifetimeTimer/27 Pit_Ip_DisableChannelInterrupt/26 Pit_Ip_DisableChannelInterrupt/26 Pit_Ip_EnableChannelInterrupt/25 Pit_Ip_EnableChannelInterrupt/25 Pit_Ip_GetCurrentTimer/24 Pit_Ip_GetCurrentTimer/24 Pit_Ip_StopChannel/23 Pit_Ip_StopChannel/23 Pit_Ip_StartChannel/22 Pit_Ip_StartChannel/22 Pit_Ip_Deinit/21 Pit_Ip_InitChannel/20 Pit_Ip_InitChannel/20 Pit_Ip_InitChannel/20 Pit_Ip_Init/19 Pit_Ip_Init/19 
  Calls: 
PIT_0_ISR ()
{
  uint32 currentChannelMask;
  uint32 enableBits;
  uint32 flagBits;
  uint8 channel;
  uint8 instance;
  long unsigned int D.6163;
  long unsigned int D.6162;

  <bb 2> :
  # DEBUG BEGIN_STMT
  instance = 0;
  # DEBUG BEGIN_STMT
  channel = 0;
  # DEBUG BEGIN_STMT
  flagBits = 0;
  # DEBUG BEGIN_STMT
  enableBits = 0;
  # DEBUG BEGIN_STMT
  currentChannelMask = 0;
  # DEBUG BEGIN_STMT
  channel = 0;
  goto <bb 7>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  _1 = (long unsigned int) channel;
  currentChannelMask = 1 << _1;
  # DEBUG BEGIN_STMT
  _2 = Pit_Ip_GetInterruptFlags (instance, channel);
  _3 = (int) channel;
  D.6162 = _2 << _3;
  flagBits = D.6162 | flagBits;
  # DEBUG BEGIN_STMT
  _4 = Pit_Ip_GetInterruptBit (instance, channel);
  _5 = (int) channel;
  D.6163 = _4 << _5;
  enableBits = D.6163 | enableBits;
  # DEBUG BEGIN_STMT
  _6 = flagBits & currentChannelMask;
  if (currentChannelMask == _6)
    goto <bb 4>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 4> :
  _7 = enableBits & currentChannelMask;
  if (currentChannelMask == _7)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  # DEBUG BEGIN_STMT
  Pit_Ip_ClearInterruptFlag (instance, channel);

  <bb 6> :
  # DEBUG BEGIN_STMT
  channel.2_8 = channel;
  channel = channel.2_8 + 1;

  <bb 7> :
  # DEBUG BEGIN_STMT
  if (channel <= 6)
    goto <bb 3>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 8> :
  # DEBUG BEGIN_STMT
  channel = 0;
  goto <bb 13>; [INV]

  <bb 9> :
  # DEBUG BEGIN_STMT
  _9 = (long unsigned int) channel;
  currentChannelMask = 1 << _9;
  # DEBUG BEGIN_STMT
  _10 = flagBits & currentChannelMask;
  if (currentChannelMask == _10)
    goto <bb 10>; [INV]
  else
    goto <bb 12>; [INV]

  <bb 10> :
  _11 = enableBits & currentChannelMask;
  if (currentChannelMask == _11)
    goto <bb 11>; [INV]
  else
    goto <bb 12>; [INV]

  <bb 11> :
  # DEBUG BEGIN_STMT
  Pit_Ip_ProcessCommonInterrupt (instance, channel);

  <bb 12> :
  # DEBUG BEGIN_STMT
  channel.3_12 = channel;
  channel = channel.3_12 + 1;

  <bb 13> :
  # DEBUG BEGIN_STMT
  if (channel <= 6)
    goto <bb 9>; [INV]
  else
    goto <bb 14>; [INV]

  <bb 14> :
  return;

}


Pit_Ip_GetLifetimeTimer (uint8 instance)
{
  uint32 valueL;
  uint32 valueH;
  uint64 lifeTimeValue;
  uint64 D.6156;

  <bb 2> :
  # DEBUG BEGIN_STMT
  _1 = instance <= 1;
  _2 = (unsigned char) _1;
  DevAssert (_2);
  # DEBUG BEGIN_STMT
  lifeTimeValue = 0;
  # DEBUG BEGIN_STMT
  valueH = 0;
  # DEBUG BEGIN_STMT
  valueL = 0;
  # DEBUG BEGIN_STMT
  valueH = Pit_Ip_GetUpperLifetimerValue (instance);
  # DEBUG BEGIN_STMT
  valueL = Pit_Ip_GetLowerLifetimerValue (instance);
  # DEBUG BEGIN_STMT
  _3 = (long long unsigned int) valueH;
  _4 = _3 << 32;
  _5 = (long long unsigned int) valueL;
  lifeTimeValue = _4 + _5;
  # DEBUG BEGIN_STMT
  D.6156 = lifeTimeValue;
  return D.6156;

}


Pit_Ip_SetLifetimeTimer (uint8 instance)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  _1 = instance <= 1;
  _2 = (unsigned char) _1;
  DevAssert (_2);
  # DEBUG BEGIN_STMT
  Pit_Ip_SetCounterValue (instance, 1, 4294967295);
  # DEBUG BEGIN_STMT
  Pit_Ip_EnableInterrupt (instance, 1, 0);
  # DEBUG BEGIN_STMT
  Pit_Ip_SetChainMode (instance, 1, 1);
  # DEBUG BEGIN_STMT
  Pit_Ip_EnableTimer (instance, 1, 1);
  # DEBUG BEGIN_STMT
  Pit_Ip_SetCounterValue (instance, 0, 4294967295);
  # DEBUG BEGIN_STMT
  Pit_Ip_EnableTimer (instance, 0, 1);
  return;

}


Pit_Ip_DisableChannelInterrupt (uint8 instance, uint8 channel)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  _1 = instance <= 1;
  _2 = (unsigned char) _1;
  DevAssert (_2);
  # DEBUG BEGIN_STMT
  _3 = channel <= 6;
  _4 = (unsigned char) _3;
  DevAssert (_4);
  # DEBUG BEGIN_STMT
  Pit_Ip_EnableInterrupt (instance, channel, 0);
  # DEBUG BEGIN_STMT
  Pit_Ip_ClearInterruptFlag (instance, channel);
  return;

}


Pit_Ip_EnableChannelInterrupt (uint8 instance, uint8 channel)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  _1 = instance <= 1;
  _2 = (unsigned char) _1;
  DevAssert (_2);
  # DEBUG BEGIN_STMT
  _3 = channel <= 6;
  _4 = (unsigned char) _3;
  DevAssert (_4);
  # DEBUG BEGIN_STMT
  Pit_Ip_ClearInterruptFlag (instance, channel);
  # DEBUG BEGIN_STMT
  Pit_Ip_EnableInterrupt (instance, channel, 1);
  return;

}


Pit_Ip_GetCurrentTimer (uint8 instance, uint8 channel)
{
  uint64 counterValue;
  uint64 D.6148;

  <bb 2> :
  # DEBUG BEGIN_STMT
  _1 = instance <= 1;
  _2 = (unsigned char) _1;
  DevAssert (_2);
  # DEBUG BEGIN_STMT
  _3 = channel <= 6;
  _4 = (unsigned char) _3;
  DevAssert (_4);
  # DEBUG BEGIN_STMT
  counterValue = 0;
  # DEBUG BEGIN_STMT
  _5 = Pit_Ip_GetCounterValue (instance, channel);
  counterValue = (uint64) _5;
  # DEBUG BEGIN_STMT
  D.6148 = counterValue;
  return D.6148;

}


Pit_Ip_StopChannel (uint8 instance, uint8 channel)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  _1 = instance <= 1;
  _2 = (unsigned char) _1;
  DevAssert (_2);
  # DEBUG BEGIN_STMT
  _3 = channel <= 6;
  _4 = (unsigned char) _3;
  DevAssert (_4);
  # DEBUG BEGIN_STMT
  Pit_Ip_EnableTimer (instance, channel, 0);
  # DEBUG BEGIN_STMT
  Pit_Ip_ClearInterruptFlag (instance, channel);
  return;

}


Pit_Ip_StartChannel (uint8 instance, uint8 channel, uint32 countValue)
{
  Pit_Ip_StatusType status;
  boolean isRunning;
  Pit_Ip_StatusType D.6144;

  <bb 2> :
  # DEBUG BEGIN_STMT
  _1 = instance <= 1;
  _2 = (unsigned char) _1;
  DevAssert (_2);
  # DEBUG BEGIN_STMT
  _3 = channel <= 6;
  _4 = (unsigned char) _3;
  DevAssert (_4);
  # DEBUG BEGIN_STMT
  isRunning = 0;
  # DEBUG BEGIN_STMT
  status = 1;
  # DEBUG BEGIN_STMT
  isRunning = Pit_Ip_IsChannelRunning (instance, channel);
  # DEBUG BEGIN_STMT
  if (isRunning == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  _5 = countValue + 4294967295;
  Pit_Ip_SetCounterValue (instance, channel, _5);
  # DEBUG BEGIN_STMT
  Pit_Ip_EnableTimer (instance, channel, 1);
  # DEBUG BEGIN_STMT
  status = 0;

  <bb 4> :
  # DEBUG BEGIN_STMT
  D.6144 = status;
  return D.6144;

}


Pit_Ip_Deinit (uint8 instance)
{
  boolean mdisBitExists;
  boolean rtiChannelExists;
  uint8 channelNum;

  <bb 2> :
  # DEBUG BEGIN_STMT
  _1 = instance <= 1;
  _2 = (unsigned char) _1;
  DevAssert (_2);
  # DEBUG BEGIN_STMT
  channelNum = 0;
  # DEBUG BEGIN_STMT
  rtiChannelExists = 0;
  # DEBUG BEGIN_STMT
  mdisBitExists = 0;
  # DEBUG BEGIN_STMT
  _3 = (int) instance;
  switch (_3) <default: <L4> [INV], case 0: <L0> [INV], case 1: <L1> [INV]>

  <bb 3> :
<L0>:
  # DEBUG BEGIN_STMT
  channelNum = 7;
  # DEBUG BEGIN_STMT
  mdisBitExists = 1;
  # DEBUG BEGIN_STMT
  goto <bb 5>; [INV]

  <bb 4> :
<L1>:
  # DEBUG BEGIN_STMT
  channelNum = 6;
  # DEBUG BEGIN_STMT
  mdisBitExists = 1;
  # DEBUG BEGIN_STMT

  <bb 5> :
<L4>:
  # DEBUG BEGIN_STMT
  Pit_Ip_Reset (instance, channelNum, rtiChannelExists, mdisBitExists);
  return;

}


Pit_Ip_InitChannel (uint8 instance, const struct Pit_Ip_ChannelConfigType * chnlConfig)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  _1 = instance <= 1;
  _2 = (unsigned char) _1;
  DevAssert (_2);
  # DEBUG BEGIN_STMT
  _3 = chnlConfig != 0B;
  _4 = (unsigned char) _3;
  DevAssert (_4);
  # DEBUG BEGIN_STMT
  _5 = chnlConfig->hwChannel;
  _6 = _5 <= 6;
  _7 = (unsigned char) _6;
  DevAssert (_7);
  # DEBUG BEGIN_STMT
  _8 = chnlConfig->hwChannel;
  Pit_Ip_EnableTimer (instance, _8, 0);
  # DEBUG BEGIN_STMT
  _9 = chnlConfig->hwChannel;
  Pit_Ip_EnableInterrupt (instance, _9, 0);
  # DEBUG BEGIN_STMT
  _10 = chnlConfig->hwChannel;
  Pit_Ip_ClearInterruptFlag (instance, _10);
  # DEBUG BEGIN_STMT
  _11 = (int) instance;
  _12 = chnlConfig->hwChannel;
  _13 = (int) _12;
  Pit_Ip_u32ChState[_11][_13].chInit = 1;
  # DEBUG BEGIN_STMT
  _14 = (int) instance;
  _15 = chnlConfig->hwChannel;
  _16 = (int) _15;
  _17 = chnlConfig->callback;
  Pit_Ip_u32ChState[_14][_16].callback = _17;
  # DEBUG BEGIN_STMT
  _18 = (int) instance;
  _19 = chnlConfig->hwChannel;
  _20 = (int) _19;
  _21 = chnlConfig->callbackParam;
  Pit_Ip_u32ChState[_18][_20].callbackParam = _21;
  # DEBUG BEGIN_STMT
  _22 = (int) instance;
  _23 = chnlConfig->hwChannel;
  _24 = (int) _23;
  _25 = chnlConfig->channelMode;
  Pit_Ip_u32ChState[_22][_24].channelMode = _25;
  return;

}


Pit_Ip_Init (uint8 instance, const struct Pit_Ip_InstanceConfigType * config)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  _1 = instance <= 1;
  _2 = (unsigned char) _1;
  DevAssert (_2);
  # DEBUG BEGIN_STMT
  _3 = config != 0B;
  _4 = (unsigned char) _3;
  DevAssert (_4);
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _5 = config->enableStandardTimers;
  if (_5 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  Pit_Ip_EnableModule (instance, 0);

  <bb 4> :
  # DEBUG BEGIN_STMT
  _6 = config->stopRunInDebug;
  Pit_Ip_SetDebugMode (instance, _6);
  return;

}


Pit_Ip_ProcessCommonInterrupt (uint8 instance, uint8 channel)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  _1 = (int) instance;
  _2 = (int) channel;
  _3 = Pit_Ip_u32ChState[_1][_2].channelMode;
  if (_3 == 1)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  Pit_Ip_StopChannel (instance, channel);

  <bb 4> :
  # DEBUG BEGIN_STMT
  _4 = (int) instance;
  _5 = (int) channel;
  _6 = Pit_Ip_u32ChState[_4][_5].chInit;
  if (_6 == 1)
    goto <bb 5>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 5> :
  _7 = (int) instance;
  _8 = (int) channel;
  _9 = Pit_Ip_u32ChState[_7][_8].callback;
  if (_9 != 0B)
    goto <bb 6>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 6> :
  # DEBUG BEGIN_STMT
  _10 = (int) instance;
  _11 = (int) channel;
  _12 = Pit_Ip_u32ChState[_10][_11].callback;
  _13 = (int) instance;
  _14 = (int) channel;
  _15 = Pit_Ip_u32ChState[_13][_14].callbackParam;
  _12 (_15);

  <bb 7> :
  return;

}


Pit_Ip_GetLowerLifetimerValue (uint8 instance)
{
  uint32 lowerValue;
  uint32 D.6160;

  <bb 2> :
  # DEBUG BEGIN_STMT
  lowerValue = 0;
  # DEBUG BEGIN_STMT
  _1 = (int) instance;
  _2 = pitBase[_1];
  lowerValue = _2->LTMR64L;
  # DEBUG BEGIN_STMT
  D.6160 = lowerValue;
  return D.6160;

}


Pit_Ip_GetUpperLifetimerValue (uint8 instance)
{
  uint32 upperValue;
  uint32 D.6158;

  <bb 2> :
  # DEBUG BEGIN_STMT
  upperValue = 0;
  # DEBUG BEGIN_STMT
  _1 = (int) instance;
  _2 = pitBase[_1];
  upperValue = _2->LTMR64H;
  # DEBUG BEGIN_STMT
  D.6158 = upperValue;
  return D.6158;

}


Pit_Ip_GetInterruptBit (uint8 instance, uint8 channel)
{
  uint32 returnFlag;
  uint32 D.6172;

  <bb 2> :
  # DEBUG BEGIN_STMT
  returnFlag = 0;
  # DEBUG BEGIN_STMT
  _1 = (int) instance;
  _2 = pitBase[_1];
  _3 = (int) channel;
  _4 = _2->TIMER[_3].TCTRL;
  _5 = _4 >> 1;
  returnFlag = _5 & 1;
  # DEBUG BEGIN_STMT
  D.6172 = returnFlag;
  return D.6172;

}


Pit_Ip_ClearInterruptFlag (uint8 instance, uint8 channel)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  SchM_Enter_Gpt_GPT_EXCLUSIVE_AREA_03 ();
  # DEBUG BEGIN_STMT
  _1 = (int) instance;
  _2 = pitBase[_1];
  _3 = (int) channel;
  _4 = _2->TIMER[_3].TFLG;
  _5 = (int) instance;
  _6 = pitBase[_5];
  _7 = (int) channel;
  _8 = _4 | 1;
  _6->TIMER[_7].TFLG = _8;
  # DEBUG BEGIN_STMT
  SchM_Exit_Gpt_GPT_EXCLUSIVE_AREA_03 ();
  return;

}


Pit_Ip_EnableInterrupt (uint8 instance, uint8 channel, boolean enable)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  SchM_Enter_Gpt_GPT_EXCLUSIVE_AREA_02 ();
  # DEBUG BEGIN_STMT
  if (enable == 1)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  _1 = (int) instance;
  _2 = pitBase[_1];
  _3 = (int) channel;
  _4 = _2->TIMER[_3].TCTRL;
  _5 = (int) instance;
  _6 = pitBase[_5];
  _7 = (int) channel;
  _8 = _4 | 2;
  _6->TIMER[_7].TCTRL = _8;
  goto <bb 5>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  _9 = (int) instance;
  _10 = pitBase[_9];
  _11 = (int) channel;
  _12 = _10->TIMER[_11].TCTRL;
  _13 = (int) instance;
  _14 = pitBase[_13];
  _15 = (int) channel;
  _16 = _12 & 4294967293;
  _14->TIMER[_15].TCTRL = _16;

  <bb 5> :
  # DEBUG BEGIN_STMT
  SchM_Exit_Gpt_GPT_EXCLUSIVE_AREA_02 ();
  return;

}


Pit_Ip_GetCounterValue (uint8 instance, uint8 channel)
{
  uint32 counterValue;
  uint32 D.6150;

  <bb 2> :
  # DEBUG BEGIN_STMT
  counterValue = 0;
  # DEBUG BEGIN_STMT
  _1 = (int) instance;
  _2 = pitBase[_1];
  _3 = (int) channel;
  counterValue = _2->TIMER[_3].CVAL;
  # DEBUG BEGIN_STMT
  D.6150 = counterValue;
  return D.6150;

}


Pit_Ip_SetCounterValue (uint8 instance, uint8 channel, uint32 value)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  _1 = (int) instance;
  _2 = pitBase[_1];
  _3 = (int) channel;
  _2->TIMER[_3].LDVAL = value;
  return;

}


Pit_Ip_IsChannelRunning (uint8 instance, uint8 channel)
{
  boolean isRunning;
  boolean D.6146;

  <bb 2> :
  # DEBUG BEGIN_STMT
  isRunning = 0;
  # DEBUG BEGIN_STMT
  _1 = (int) instance;
  _2 = pitBase[_1];
  _3 = (int) channel;
  _4 = _2->TIMER[_3].TCTRL;
  _5 = _4 & 1;
  _6 = _5 == 1;
  isRunning = (boolean) _6;
  # DEBUG BEGIN_STMT
  D.6146 = isRunning;
  return D.6146;

}


Pit_Ip_Reset (uint8 instance, uint8 channelNum, boolean available, boolean bitExists)
{
  uint8 i;
  uint8 channelIndex;
  uint32 mask;

  <bb 2> :
  # DEBUG BEGIN_STMT
  mask = 0;
  # DEBUG BEGIN_STMT
  channelIndex = channelNum;
  # DEBUG BEGIN_STMT
  if (available == 1)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  channelIndex = channelIndex + 255;
  goto <bb 7>; [INV]

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

  <bb 5> :
  # DEBUG BEGIN_STMT
  mask = 0;
  goto <bb 7>; [INV]

  <bb 6> :
  # DEBUG BEGIN_STMT
  mask = 2;

  <bb 7> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  i = 0;
  goto <bb 9>; [INV]

  <bb 8> :
  # DEBUG BEGIN_STMT
  _1 = (int) instance;
  _2 = pitBase[_1];
  _3 = (int) i;
  _2->TIMER[_3].TCTRL = 0;
  # DEBUG BEGIN_STMT
  _4 = (int) instance;
  _5 = pitBase[_4];
  _6 = (int) i;
  _5->TIMER[_6].LDVAL = 0;
  # DEBUG BEGIN_STMT
  _7 = (int) instance;
  _8 = pitBase[_7];
  _9 = (int) i;
  _8->TIMER[_9].TFLG = 1;
  # DEBUG BEGIN_STMT
  i.1_10 = i;
  i = i.1_10 + 1;

  <bb 9> :
  # DEBUG BEGIN_STMT
  if (i < channelIndex)
    goto <bb 8>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 10> :
  # DEBUG BEGIN_STMT
  _11 = (int) instance;
  _12 = pitBase[_11];
  _12->MCR = mask;
  return;

}


Pit_Ip_SetChainMode (uint8 instance, uint8 channel, boolean enable)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  SchM_Enter_Gpt_GPT_EXCLUSIVE_AREA_01 ();
  # DEBUG BEGIN_STMT
  if (enable == 1)
    goto <bb 3>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 3> :
  if (channel != 0)
    goto <bb 4>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  _1 = (int) instance;
  _2 = pitBase[_1];
  _3 = (int) channel;
  _4 = _2->TIMER[_3].TCTRL;
  _5 = (int) instance;
  _6 = pitBase[_5];
  _7 = (int) channel;
  _8 = _4 | 4;
  _6->TIMER[_7].TCTRL = _8;
  goto <bb 6>; [INV]

  <bb 5> :
  # DEBUG BEGIN_STMT
  _9 = (int) instance;
  _10 = pitBase[_9];
  _11 = (int) channel;
  _12 = _10->TIMER[_11].TCTRL;
  _13 = (int) instance;
  _14 = pitBase[_13];
  _15 = (int) channel;
  _16 = _12 & 4294967291;
  _14->TIMER[_15].TCTRL = _16;

  <bb 6> :
  # DEBUG BEGIN_STMT
  SchM_Exit_Gpt_GPT_EXCLUSIVE_AREA_01 ();
  return;

}


Pit_Ip_SetDebugMode (uint8 instance, boolean stopRun)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  if (stopRun == 1)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  _1 = (int) instance;
  _2 = pitBase[_1];
  _3 = _2->MCR;
  _4 = (int) instance;
  _5 = pitBase[_4];
  _6 = _3 | 1;
  _5->MCR = _6;
  goto <bb 5>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  _7 = (int) instance;
  _8 = pitBase[_7];
  _9 = _8->MCR;
  _10 = (int) instance;
  _11 = pitBase[_10];
  _12 = _9 & 4294967294;
  _11->MCR = _12;

  <bb 5> :
  return;

}


Pit_Ip_EnableTimer (uint8 instance, uint8 channel, boolean enable)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  SchM_Enter_Gpt_GPT_EXCLUSIVE_AREA_00 ();
  # DEBUG BEGIN_STMT
  if (enable == 1)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  _1 = (int) instance;
  _2 = pitBase[_1];
  _3 = (int) channel;
  _4 = _2->TIMER[_3].TCTRL;
  _5 = (int) instance;
  _6 = pitBase[_5];
  _7 = (int) channel;
  _8 = _4 | 1;
  _6->TIMER[_7].TCTRL = _8;
  goto <bb 5>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  _9 = (int) instance;
  _10 = pitBase[_9];
  _11 = (int) channel;
  _12 = _10->TIMER[_11].TCTRL;
  _13 = (int) instance;
  _14 = pitBase[_13];
  _15 = (int) channel;
  _16 = _12 & 4294967294;
  _14->TIMER[_15].TCTRL = _16;

  <bb 5> :
  # DEBUG BEGIN_STMT
  SchM_Exit_Gpt_GPT_EXCLUSIVE_AREA_00 ();
  return;

}


Pit_Ip_EnableModule (uint8 instance, uint8 timerType)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  if (timerType == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  _1 = (int) instance;
  _2 = pitBase[_1];
  _3 = _2->MCR;
  _4 = (int) instance;
  _5 = pitBase[_4];
  _6 = _3 & 4294967293;
  _5->MCR = _6;

  <bb 4> :
  return;

}


Pit_Ip_GetInterruptFlags (uint8 instance, uint8 channel)
{
  uint32 returnFlag;
  uint32 D.6117;

  <bb 2> :
  # DEBUG BEGIN_STMT
  returnFlag = 0;
  # DEBUG BEGIN_STMT
  _1 = (int) instance;
  _2 = pitBase[_1];
  _3 = (int) channel;
  _4 = _2->TIMER[_3].TFLG;
  returnFlag = _4 & 1;
  # DEBUG BEGIN_STMT
  D.6117 = returnFlag;
  return D.6117;

}


Pit_Ip_GetLoadValue (uint8 instance, uint8 channel)
{
  uint32 periodValue;
  uint32 D.6115;

  <bb 2> :
  # DEBUG BEGIN_STMT
  periodValue = 0;
  # DEBUG BEGIN_STMT
  _1 = (int) instance;
  _2 = pitBase[_1];
  _3 = (int) channel;
  periodValue = _2->TIMER[_3].LDVAL;
  # DEBUG BEGIN_STMT
  D.6115 = periodValue;
  return D.6115;

}


DevAssert (volatile boolean x)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  x.0_1 = x;
  if (x.0_1 != 0)
    goto <bb 4>; [INV]
  else
    goto <bb 3>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("BKPT #0");
  # DEBUG BEGIN_STMT
  goto <bb 3>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  return;

}


