
Marking local functions:


Marking externally visible functions: Uart_GetVersionInfo Uart_GetStatus Uart_AsyncSend Uart_AsyncReceive Uart_SyncReceive Uart_SyncSend Uart_SetBuffer Uart_Abort Uart_GetBaudrate Uart_SetBaudrate Uart_Deinit Uart_Init


Marking externally visible variables:


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

Uart_Ipw_AbortReceivingData/65 (Uart_Ipw_AbortReceivingData) @06e2f9a0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Uart_Abort/41 
  Calls: 
Uart_Ipw_AbortSendingData/64 (Uart_Ipw_AbortSendingData) @06e2f8c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Uart_Abort/41 
  Calls: 
Uart_Ipw_GetBaudrate/63 (Uart_Ipw_GetBaudrate) @06e2f700
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Uart_GetBaudrate/40 
  Calls: 
Uart_Ipw_SetBaudrate/62 (Uart_Ipw_SetBaudrate) @06e2f540
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Uart_SetBaudrate/39 
  Calls: 
Uart_Ipw_Deinit/61 (Uart_Ipw_Deinit) @06e2f380
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Uart_Deinit/38 
  Calls: 
Uart_Ipw_Init/60 (Uart_Ipw_Init) @06e2f1c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Uart_Init/37 
  Calls: 
Uart_pxPBcfgVariantPredefined/59 (Uart_pxPBcfgVariantPredefined) @06e32000
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: Uart_Init/37 (read)
  Availability: not_available
  Varpool flags: read-only
Uart_Ipw_SetRxBuffer/58 (Uart_Ipw_SetRxBuffer) @06da1ee0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Uart_StartSetBuffer/36 
  Calls: 
Uart_Ipw_SetTxBuffer/57 (Uart_Ipw_SetTxBuffer) @06da1e00
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Uart_StartSetBuffer/36 
  Calls: 
Uart_Ipw_AsyncSend/56 (Uart_Ipw_AsyncSend) @06da1c40
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Uart_StartAsyncSend/35 
  Calls: 
Uart_Ipw_AsyncReceive/55 (Uart_Ipw_AsyncReceive) @06da1a80
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Uart_StartAsyncReceive/34 
  Calls: 
Uart_Ipw_SyncSend/54 (Uart_Ipw_SyncSend) @06da18c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Uart_StartSyncSend/33 
  Calls: 
Uart_Ipw_GetTransmitStatus/53 (Uart_Ipw_GetTransmitStatus) @06da17e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Uart_GetStatus/47 Uart_SetBaudrate/39 Uart_StartAsyncSend/35 Uart_StartSyncSend/33 
  Calls: 
Det_ReportRuntimeError/52 (Det_ReportRuntimeError) @06da1620
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Uart_StartSyncSend/33 Uart_StartSyncReceive/32 
  Calls: 
Uart_Ipw_SyncReceive/51 (Uart_Ipw_SyncReceive) @06da1540
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Uart_StartSyncReceive/32 
  Calls: 
Det_ReportError/50 (Det_ReportError) @06da1460
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Uart_GetVersionInfo/48 Uart_GetStatus/47 Uart_GetStatus/47 Uart_GetStatus/47 Uart_AsyncSend/46 Uart_AsyncSend/46 Uart_AsyncSend/46 Uart_AsyncSend/46 Uart_AsyncReceive/45 Uart_AsyncReceive/45 Uart_AsyncReceive/45 Uart_AsyncReceive/45 Uart_SyncReceive/44 Uart_SyncReceive/44 Uart_SyncReceive/44 Uart_SyncReceive/44 Uart_SyncSend/43 Uart_SyncSend/43 Uart_SyncSend/43 Uart_SyncSend/43 Uart_SetBuffer/42 Uart_SetBuffer/42 Uart_SetBuffer/42 Uart_SetBuffer/42 Uart_Abort/41 Uart_Abort/41 Uart_GetBaudrate/40 Uart_GetBaudrate/40 Uart_GetBaudrate/40 Uart_SetBaudrate/39 Uart_SetBaudrate/39 Uart_SetBaudrate/39 Uart_Deinit/38 Uart_Init/37 Uart_Init/37 Uart_StartAsyncSend/35 Uart_StartAsyncReceive/34 Uart_StartSyncSend/33 Uart_StartSyncReceive/32 
  Calls: 
Uart_Ipw_GetReceiveStatus/49 (Uart_Ipw_GetReceiveStatus) @06da1380
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Uart_GetStatus/47 Uart_SetBaudrate/39 Uart_StartAsyncReceive/34 Uart_StartSyncReceive/32 
  Calls: 
Uart_GetVersionInfo/48 (Uart_GetVersionInfo) @06d95d20
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: 
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: Det_ReportError/50 
Uart_GetStatus/47 (Uart_GetStatus) @06d957e0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Uart_au8DriverStatus/29 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: Uart_Ipw_GetReceiveStatus/49 Uart_Ipw_GetTransmitStatus/53 Det_ReportError/50 Det_ReportError/50 Det_ReportError/50 
Uart_AsyncSend/46 (Uart_AsyncSend) @06d952a0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Uart_au8DriverStatus/29 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: Uart_StartAsyncSend/35 Det_ReportError/50 Det_ReportError/50 Det_ReportError/50 Det_ReportError/50 
Uart_AsyncReceive/45 (Uart_AsyncReceive) @06d95ee0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Uart_au8DriverStatus/29 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: Uart_StartAsyncReceive/34 Det_ReportError/50 Det_ReportError/50 Det_ReportError/50 Det_ReportError/50 
Uart_SyncReceive/44 (Uart_SyncReceive) @06d95c40
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Uart_au8DriverStatus/29 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: Uart_StartSyncReceive/32 Det_ReportError/50 Det_ReportError/50 Det_ReportError/50 Det_ReportError/50 
Uart_SyncSend/43 (Uart_SyncSend) @06d959a0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Uart_au8DriverStatus/29 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: Uart_StartSyncSend/33 Det_ReportError/50 Det_ReportError/50 Det_ReportError/50 Det_ReportError/50 
Uart_SetBuffer/42 (Uart_SetBuffer) @06d95700
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Uart_au8DriverStatus/29 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: Uart_StartSetBuffer/36 Det_ReportError/50 Det_ReportError/50 Det_ReportError/50 Det_ReportError/50 
Uart_Abort/41 (Uart_Abort) @06d95460
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Uart_au8DriverStatus/29 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: Uart_Ipw_AbortReceivingData/65 Uart_Ipw_AbortSendingData/64 Det_ReportError/50 Det_ReportError/50 
Uart_GetBaudrate/40 (Uart_GetBaudrate) @06d951c0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Uart_au8DriverStatus/29 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: Uart_Ipw_GetBaudrate/63 Det_ReportError/50 Det_ReportError/50 Det_ReportError/50 
Uart_SetBaudrate/39 (Uart_SetBaudrate) @06d8dee0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Uart_au8DriverStatus/29 (read)Uart_au32ClockFrequency/30 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: Uart_Ipw_SetBaudrate/62 Det_ReportError/50 Uart_Ipw_GetTransmitStatus/53 Uart_Ipw_GetReceiveStatus/49 Det_ReportError/50 Det_ReportError/50 
Uart_Deinit/38 (Uart_Deinit) @06d8d9a0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Uart_au8DriverStatus/29 (read)Uart_apConfig/31 (read)Uart_au8DriverStatus/29 (write)Uart_apConfig/31 (write)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: Uart_Ipw_Deinit/61 Det_ReportError/50 
Uart_Init/37 (Uart_Init) @06d8d460
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Uart_au8DriverStatus/29 (read)Uart_pxPBcfgVariantPredefined/59 (read)Uart_apConfig/31 (write)Uart_apConfig/31 (read)Uart_apConfig/31 (read)Uart_apConfig/31 (read)Uart_apConfig/31 (read)Uart_au32ClockFrequency/30 (write)Uart_au8DriverStatus/29 (write)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: Uart_Ipw_Init/60 Det_ReportError/50 Det_ReportError/50 
Uart_StartSetBuffer/36 (Uart_StartSetBuffer) @06d8de00
  Type: function definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: available
  Function flags: body
  Called by: Uart_SetBuffer/42 
  Calls: Uart_Ipw_SetRxBuffer/58 Uart_Ipw_SetTxBuffer/57 
Uart_StartAsyncSend/35 (Uart_StartAsyncSend) @06d8db60
  Type: function definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: available
  Function flags: body
  Called by: Uart_AsyncSend/46 
  Calls: Uart_Ipw_AsyncSend/56 Det_ReportError/50 Uart_Ipw_GetTransmitStatus/53 
Uart_StartAsyncReceive/34 (Uart_StartAsyncReceive) @06d8d8c0
  Type: function definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: available
  Function flags: body
  Called by: Uart_AsyncReceive/45 
  Calls: Uart_Ipw_AsyncReceive/55 Det_ReportError/50 Uart_Ipw_GetReceiveStatus/49 
Uart_StartSyncSend/33 (Uart_StartSyncSend) @06d8d620
  Type: function definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: available
  Function flags: body
  Called by: Uart_SyncSend/43 
  Calls: Det_ReportRuntimeError/52 Uart_Ipw_SyncSend/54 Det_ReportError/50 Uart_Ipw_GetTransmitStatus/53 
Uart_StartSyncReceive/32 (Uart_StartSyncReceive) @06d8d380
  Type: function definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: available
  Function flags: body
  Called by: Uart_SyncReceive/44 
  Calls: Det_ReportRuntimeError/52 Uart_Ipw_SyncReceive/51 Det_ReportError/50 Uart_Ipw_GetReceiveStatus/49 
Uart_apConfig/31 (Uart_apConfig) @06cb8318
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: Uart_Init/37 (read)Uart_Init/37 (read)Uart_Init/37 (write)Uart_Init/37 (read)Uart_Init/37 (read)Uart_Deinit/38 (read)Uart_Deinit/38 (write)
  Availability: available
  Varpool flags:
Uart_au32ClockFrequency/30 (Uart_au32ClockFrequency) @06cb8240
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: Uart_Init/37 (write)Uart_SetBaudrate/39 (read)
  Availability: available
  Varpool flags:
Uart_au8DriverStatus/29 (Uart_au8DriverStatus) @06cb81b0
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: Uart_SyncReceive/44 (read)Uart_AsyncReceive/45 (read)Uart_Init/37 (read)Uart_AsyncSend/46 (read)Uart_Init/37 (write)Uart_Deinit/38 (write)Uart_SetBaudrate/39 (read)Uart_GetBaudrate/40 (read)Uart_Abort/41 (read)Uart_SetBuffer/42 (read)Uart_SyncSend/43 (read)Uart_Deinit/38 (read)Uart_GetStatus/47 (read)
  Availability: available
  Varpool flags:
Uart_GetVersionInfo (struct Std_VersionInfoType * VersionInfo)
{
  <bb 2> :
  if (VersionInfo_2(D) == 0B)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  Det_ReportError (255, 0, 10, 3);
  goto <bb 5>; [INV]

  <bb 4> :
  VersionInfo_2(D)->vendorID = 43;
  VersionInfo_2(D)->moduleID = 255;
  VersionInfo_2(D)->sw_major_version = 1;
  VersionInfo_2(D)->sw_minor_version = 0;
  VersionInfo_2(D)->sw_patch_version = 0;

  <bb 5> :
  return;

}


Uart_GetStatus (uint8 Channel, uint32 * BytesTransfered, Uart_DataDirectionType TransferType)
{
  uint8 CoreId;
  Uart_StatusType TempReturn;
  Uart_StatusType D.6438;
  int _1;
  <unnamed type> _2;
  Uart_StatusType _18;

  <bb 2> :
  TempReturn_5 = 4;
  CoreId_6 = 0;
  _1 = (int) CoreId_6;
  _2 = Uart_au8DriverStatus[_1];
  if (_2 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  Det_ReportError (255, 0, 9, 1);
  goto <bb 11>; [INV]

  <bb 4> :
  if (Channel_8(D) > 4)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  Det_ReportError (255, 0, 9, 2);
  goto <bb 11>; [INV]

  <bb 6> :
  if (BytesTransfered_9(D) == 0B)
    goto <bb 7>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 7> :
  Det_ReportError (255, 0, 9, 3);
  goto <bb 11>; [INV]

  <bb 8> :
  if (TransferType_10(D) == 0)
    goto <bb 9>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 9> :
  TempReturn_14 = Uart_Ipw_GetTransmitStatus (Channel_8(D), BytesTransfered_9(D));
  goto <bb 11>; [INV]

  <bb 10> :
  TempReturn_12 = Uart_Ipw_GetReceiveStatus (Channel_8(D), BytesTransfered_9(D));

  <bb 11> :
  # TempReturn_3 = PHI <TempReturn_5(3), TempReturn_5(5), TempReturn_5(7), TempReturn_14(9), TempReturn_12(10)>
  _18 = TempReturn_3;

  <bb 12> :
<L12>:
  return _18;

}


Uart_AsyncSend (uint8 Channel, const uint8 * Buffer, uint32 BufferSize)
{
  uint8 CoreId;
  Std_ReturnType TempReturn;
  Std_ReturnType D.6424;
  int _1;
  <unnamed type> _2;
  Std_ReturnType _17;

  <bb 2> :
  TempReturn_5 = 1;
  CoreId_6 = 0;
  _1 = (int) CoreId_6;
  _2 = Uart_au8DriverStatus[_1];
  if (_2 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  Det_ReportError (255, 0, 5, 1);
  goto <bb 11>; [INV]

  <bb 4> :
  if (Channel_8(D) > 4)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  Det_ReportError (255, 0, 5, 2);
  goto <bb 11>; [INV]

  <bb 6> :
  if (Buffer_9(D) == 0B)
    goto <bb 7>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 7> :
  Det_ReportError (255, 0, 5, 3);
  goto <bb 11>; [INV]

  <bb 8> :
  if (BufferSize_10(D) == 0)
    goto <bb 9>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 9> :
  Det_ReportError (255, 0, 5, 7);
  goto <bb 11>; [INV]

  <bb 10> :
  TempReturn_12 = Uart_StartAsyncSend (CoreId_6, Channel_8(D), Buffer_9(D), BufferSize_10(D));

  <bb 11> :
  # TempReturn_3 = PHI <TempReturn_5(3), TempReturn_5(5), TempReturn_5(7), TempReturn_5(9), TempReturn_12(10)>
  _17 = TempReturn_3;

  <bb 12> :
<L12>:
  return _17;

}


Uart_AsyncReceive (uint8 Channel, uint8 * Buffer, uint32 BufferSize)
{
  uint8 CoreId;
  Std_ReturnType TempReturn;
  Std_ReturnType D.6410;
  int _1;
  <unnamed type> _2;
  Std_ReturnType _17;

  <bb 2> :
  TempReturn_5 = 1;
  CoreId_6 = 0;
  _1 = (int) CoreId_6;
  _2 = Uart_au8DriverStatus[_1];
  if (_2 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  Det_ReportError (255, 0, 7, 1);
  goto <bb 11>; [INV]

  <bb 4> :
  if (Channel_8(D) > 4)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  Det_ReportError (255, 0, 7, 2);
  goto <bb 11>; [INV]

  <bb 6> :
  if (Buffer_9(D) == 0B)
    goto <bb 7>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 7> :
  Det_ReportError (255, 0, 7, 3);
  goto <bb 11>; [INV]

  <bb 8> :
  if (BufferSize_10(D) == 0)
    goto <bb 9>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 9> :
  Det_ReportError (255, 0, 7, 7);
  goto <bb 11>; [INV]

  <bb 10> :
  TempReturn_12 = Uart_StartAsyncReceive (CoreId_6, Channel_8(D), Buffer_9(D), BufferSize_10(D));

  <bb 11> :
  # TempReturn_3 = PHI <TempReturn_5(3), TempReturn_5(5), TempReturn_5(7), TempReturn_5(9), TempReturn_12(10)>
  _17 = TempReturn_3;

  <bb 12> :
<L12>:
  return _17;

}


Uart_SyncReceive (uint8 Channel, uint8 * Buffer, uint32 BufferSize, uint32 Timeout)
{
  uint8 CoreId;
  Std_ReturnType TempReturn;
  Std_ReturnType D.6396;
  int _1;
  <unnamed type> _2;
  Std_ReturnType _18;

  <bb 2> :
  TempReturn_5 = 1;
  CoreId_6 = 0;
  _1 = (int) CoreId_6;
  _2 = Uart_au8DriverStatus[_1];
  if (_2 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  Det_ReportError (255, 0, 6, 1);
  goto <bb 11>; [INV]

  <bb 4> :
  if (Channel_8(D) > 4)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  Det_ReportError (255, 0, 6, 2);
  goto <bb 11>; [INV]

  <bb 6> :
  if (Buffer_9(D) == 0B)
    goto <bb 7>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 7> :
  Det_ReportError (255, 0, 6, 3);
  goto <bb 11>; [INV]

  <bb 8> :
  if (BufferSize_10(D) == 0)
    goto <bb 9>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 9> :
  Det_ReportError (255, 0, 6, 7);
  goto <bb 11>; [INV]

  <bb 10> :
  TempReturn_13 = Uart_StartSyncReceive (CoreId_6, Channel_8(D), Buffer_9(D), BufferSize_10(D), Timeout_11(D));

  <bb 11> :
  # TempReturn_3 = PHI <TempReturn_5(3), TempReturn_5(5), TempReturn_5(7), TempReturn_5(9), TempReturn_13(10)>
  _18 = TempReturn_3;

  <bb 12> :
<L12>:
  return _18;

}


Uart_SyncSend (uint8 Channel, const uint8 * Buffer, uint32 BufferSize, uint32 Timeout)
{
  uint8 CoreId;
  Std_ReturnType TempReturn;
  Std_ReturnType D.6382;
  int _1;
  <unnamed type> _2;
  Std_ReturnType _18;

  <bb 2> :
  TempReturn_5 = 1;
  CoreId_6 = 0;
  _1 = (int) CoreId_6;
  _2 = Uart_au8DriverStatus[_1];
  if (_2 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  Det_ReportError (255, 0, 4, 1);
  goto <bb 11>; [INV]

  <bb 4> :
  if (Channel_8(D) > 4)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  Det_ReportError (255, 0, 4, 2);
  goto <bb 11>; [INV]

  <bb 6> :
  if (Buffer_9(D) == 0B)
    goto <bb 7>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 7> :
  Det_ReportError (255, 0, 4, 3);
  goto <bb 11>; [INV]

  <bb 8> :
  if (BufferSize_10(D) == 0)
    goto <bb 9>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 9> :
  Det_ReportError (255, 0, 4, 7);
  goto <bb 11>; [INV]

  <bb 10> :
  TempReturn_13 = Uart_StartSyncSend (CoreId_6, Channel_8(D), Buffer_9(D), BufferSize_10(D), Timeout_11(D));

  <bb 11> :
  # TempReturn_3 = PHI <TempReturn_5(3), TempReturn_5(5), TempReturn_5(7), TempReturn_5(9), TempReturn_13(10)>
  _18 = TempReturn_3;

  <bb 12> :
<L12>:
  return _18;

}


Uart_SetBuffer (uint8 Channel, uint8 * Buffer, uint32 BufferSize, Uart_DataDirectionType Direction)
{
  uint8 CoreId;
  Std_ReturnType TempReturn;
  Std_ReturnType D.6368;
  int _1;
  <unnamed type> _2;
  Std_ReturnType _18;

  <bb 2> :
  TempReturn_5 = 1;
  CoreId_6 = 0;
  _1 = (int) CoreId_6;
  _2 = Uart_au8DriverStatus[_1];
  if (_2 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  Det_ReportError (255, 0, 11, 1);
  goto <bb 11>; [INV]

  <bb 4> :
  if (Channel_8(D) > 4)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  Det_ReportError (255, 0, 11, 2);
  goto <bb 11>; [INV]

  <bb 6> :
  if (Buffer_9(D) == 0B)
    goto <bb 7>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 7> :
  Det_ReportError (255, 0, 11, 3);
  goto <bb 11>; [INV]

  <bb 8> :
  if (BufferSize_10(D) == 0)
    goto <bb 9>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 9> :
  Det_ReportError (255, 0, 11, 7);
  goto <bb 11>; [INV]

  <bb 10> :
  TempReturn_13 = Uart_StartSetBuffer (CoreId_6, Channel_8(D), Buffer_9(D), BufferSize_10(D), Direction_11(D));

  <bb 11> :
  # TempReturn_3 = PHI <TempReturn_5(3), TempReturn_5(5), TempReturn_5(7), TempReturn_5(9), TempReturn_13(10)>
  _18 = TempReturn_3;

  <bb 12> :
<L12>:
  return _18;

}


Uart_Abort (uint8 Channel, Uart_DataDirectionType TransmissionType)
{
  uint8 CoreId;
  Std_ReturnType TempReturn;
  Std_ReturnType D.6354;
  int _1;
  <unnamed type> _2;
  Std_ReturnType _16;

  <bb 2> :
  TempReturn_5 = 1;
  CoreId_6 = 0;
  _1 = (int) CoreId_6;
  _2 = Uart_au8DriverStatus[_1];
  if (_2 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  Det_ReportError (255, 0, 8, 1);
  goto <bb 9>; [INV]

  <bb 4> :
  if (Channel_8(D) > 4)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  Det_ReportError (255, 0, 8, 2);
  goto <bb 9>; [INV]

  <bb 6> :
  if (TransmissionType_9(D) == 0)
    goto <bb 7>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 7> :
  TempReturn_13 = Uart_Ipw_AbortSendingData (Channel_8(D));
  goto <bb 9>; [INV]

  <bb 8> :
  TempReturn_11 = Uart_Ipw_AbortReceivingData (Channel_8(D));

  <bb 9> :
  # TempReturn_3 = PHI <TempReturn_5(3), TempReturn_5(5), TempReturn_13(7), TempReturn_11(8)>
  _16 = TempReturn_3;

  <bb 10> :
<L9>:
  return _16;

}


Uart_GetBaudrate (uint8 Channel, uint32 * Baudrate)
{
  uint8 CoreId;
  Std_ReturnType TempReturn;
  Std_ReturnType D.6343;
  int _1;
  <unnamed type> _2;
  Std_ReturnType _15;

  <bb 2> :
  TempReturn_5 = 1;
  CoreId_6 = 0;
  _1 = (int) CoreId_6;
  _2 = Uart_au8DriverStatus[_1];
  if (_2 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  Det_ReportError (255, 0, 3, 1);
  goto <bb 9>; [INV]

  <bb 4> :
  if (Channel_8(D) > 4)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  Det_ReportError (255, 0, 3, 2);
  goto <bb 9>; [INV]

  <bb 6> :
  if (Baudrate_9(D) == 0B)
    goto <bb 7>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 7> :
  Det_ReportError (255, 0, 3, 3);
  goto <bb 9>; [INV]

  <bb 8> :
  Uart_Ipw_GetBaudrate (Channel_8(D), Baudrate_9(D));
  TempReturn_11 = 0;

  <bb 9> :
  # TempReturn_3 = PHI <TempReturn_5(3), TempReturn_5(5), TempReturn_5(7), TempReturn_11(8)>
  _15 = TempReturn_3;

  <bb 10> :
<L9>:
  return _15;

}


Uart_SetBaudrate (uint8 Channel, Uart_BaudrateType Baudrate)
{
  Uart_StatusType TransmitStatus;
  Uart_StatusType ReceiveStatus;
  uint8 CoreId;
  Std_ReturnType TempReturn;
  Std_ReturnType D.6332;
  int _1;
  <unnamed type> _2;
  int _3;
  int _4;
  long unsigned int _5;
  Std_ReturnType _22;

  <bb 2> :
  TempReturn_8 = 1;
  CoreId_9 = 0;
  _1 = (int) CoreId_9;
  _2 = Uart_au8DriverStatus[_1];
  if (_2 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  Det_ReportError (255, 0, 2, 1);
  goto <bb 10>; [INV]

  <bb 4> :
  if (Channel_11(D) > 4)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  Det_ReportError (255, 0, 2, 2);
  goto <bb 10>; [INV]

  <bb 6> :
  ReceiveStatus_13 = Uart_Ipw_GetReceiveStatus (Channel_11(D), 0B);
  TransmitStatus_15 = Uart_Ipw_GetTransmitStatus (Channel_11(D), 0B);
  if (ReceiveStatus_13 == 1)
    goto <bb 8>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 7> :
  if (TransmitStatus_15 == 1)
    goto <bb 8>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 8> :
  Det_ReportError (255, 0, 2, 6);
  goto <bb 10>; [INV]

  <bb 9> :
  _3 = (int) CoreId_9;
  _4 = (int) Channel_11(D);
  _5 = Uart_au32ClockFrequency[_3][_4];
  TempReturn_18 = Uart_Ipw_SetBaudrate (Channel_11(D), Baudrate_16(D), _5);

  <bb 10> :
  # TempReturn_6 = PHI <TempReturn_8(3), TempReturn_8(5), TempReturn_8(8), TempReturn_18(9)>
  _22 = TempReturn_6;

  <bb 11> :
<L10>:
  return _22;

}


Uart_Deinit ()
{
  uint8 CoreId;
  uint8 u8ChLoop;
  int _1;
  <unnamed type> _2;
  int _3;
  const struct Uart_ConfigType * _4;
  int _5;
  const struct Uart_ChannelConfigType * _6;
  unsigned char _7;
  int _8;
  unsigned char u8ChLoop.1_9;
  int _10;

  <bb 2> :
  u8ChLoop_14 = 0;
  CoreId_15 = 0;
  CoreId_16 = 0;
  _1 = (int) CoreId_16;
  _2 = Uart_au8DriverStatus[_1];
  if (_2 != 1)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  Det_ReportError (255, 0, 1, 1);
  goto <bb 8>; [INV]

  <bb 4> :
  u8ChLoop_18 = 0;
  goto <bb 6>; [INV]

  <bb 5> :
  _3 = (int) CoreId_16;
  _4 = Uart_apConfig[_3];
  _5 = (int) u8ChLoop_11;
  _6 = _4->Configs[_5];
  _7 = _6->UartChannelId;
  Uart_Ipw_Deinit (_7);
  _8 = (int) CoreId_16;
  Uart_au8DriverStatus[_8] = 0;
  u8ChLoop.1_9 = u8ChLoop_11;
  u8ChLoop_22 = u8ChLoop.1_9 + 1;

  <bb 6> :
  # u8ChLoop_11 = PHI <u8ChLoop_18(4), u8ChLoop_22(5)>
  if (u8ChLoop_11 <= 4)
    goto <bb 5>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 7> :
  _10 = (int) CoreId_16;
  Uart_apConfig[_10] = 0B;

  <bb 8> :
  return;

}


Uart_Init (const struct Uart_ConfigType * Config)
{
  uint8 Channel;
  uint8 CoreId;
  uint8 u8ChLoop;
  int _1;
  <unnamed type> _2;
  int _3;
  int _4;
  const struct Uart_ConfigType * _5;
  int _6;
  const struct Uart_ConfigType * _7;
  int _8;
  const struct Uart_ChannelConfigType * _9;
  int _10;
  const struct Uart_ConfigType * _11;
  int _12;
  const struct Uart_ChannelConfigType * _13;
  int _14;
  const struct Uart_ConfigType * _15;
  int _16;
  const struct Uart_ChannelConfigType * _17;
  const struct Uart_Ipw_HwConfigType * _18;
  int _19;
  const struct Uart_ConfigType * _20;
  int _21;
  const struct Uart_ChannelConfigType * _22;
  int _23;
  int _24;
  long unsigned int _25;
  int _26;
  unsigned char u8ChLoop.0_27;

  <bb 2> :
  CoreId_32 = 0;
  _1 = (int) CoreId_32;
  _2 = Uart_au8DriverStatus[_1];
  if (_2 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  Det_ReportError (255, 0, 0, 4);
  goto <bb 11>; [INV]

  <bb 4> :
  if (Config_34(D) != 0B)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  Det_ReportError (255, 0, 0, 9);
  goto <bb 11>; [INV]

  <bb 6> :
  _3 = (int) CoreId_32;
  _4 = (int) CoreId_32;
  _5 = Uart_pxPBcfgVariantPredefined[_3];
  Uart_apConfig[_4] = _5;
  u8ChLoop_36 = 0;
  goto <bb 10>; [INV]

  <bb 7> :
  _6 = (int) CoreId_32;
  _7 = Uart_apConfig[_6];
  _8 = (int) u8ChLoop_28;
  _9 = _7->Configs[_8];
  if (_9 != 0B)
    goto <bb 8>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 8> :
  _10 = (int) CoreId_32;
  _11 = Uart_apConfig[_10];
  _12 = (int) u8ChLoop_28;
  _13 = _11->Configs[_12];
  Channel_37 = _13->UartChannelId;
  _14 = (int) CoreId_32;
  _15 = Uart_apConfig[_14];
  _16 = (int) u8ChLoop_28;
  _17 = _15->Configs[_16];
  _18 = _17->UartChannelConfig;
  Uart_Ipw_Init (Channel_37, _18);
  _19 = (int) CoreId_32;
  _20 = Uart_apConfig[_19];
  _21 = (int) u8ChLoop_28;
  _22 = _20->Configs[_21];
  _23 = (int) CoreId_32;
  _24 = (int) Channel_37;
  _25 = _22->ChannelClockFrequency;
  Uart_au32ClockFrequency[_23][_24] = _25;
  _26 = (int) CoreId_32;
  Uart_au8DriverStatus[_26] = 1;

  <bb 9> :
  u8ChLoop.0_27 = u8ChLoop_28;
  u8ChLoop_41 = u8ChLoop.0_27 + 1;

  <bb 10> :
  # u8ChLoop_28 = PHI <u8ChLoop_36(6), u8ChLoop_41(9)>
  if (u8ChLoop_28 <= 4)
    goto <bb 7>; [INV]
  else
    goto <bb 11>; [INV]

  <bb 11> :
  return;

}


Uart_StartSetBuffer (uint8 CoreId, uint8 Channel, uint8 * Buffer, uint32 BufferSize, Uart_DataDirectionType Direction)
{
  Std_ReturnType TempReturn;
  Std_ReturnType D.6309;
  Std_ReturnType _11;

  <bb 2> :
  TempReturn_2 = 1;
  if (Direction_3(D) == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  Uart_Ipw_SetTxBuffer (Channel_5(D), Buffer_6(D), BufferSize_7(D));
  goto <bb 5>; [INV]

  <bb 4> :
  Uart_Ipw_SetRxBuffer (Channel_5(D), Buffer_6(D), BufferSize_7(D));

  <bb 5> :
  TempReturn_10 = 0;
  _11 = TempReturn_10;

  <bb 6> :
<L3>:
  return _11;

}


Uart_StartAsyncSend (uint8 CoreId, uint8 Channel, const uint8 * Buffer, uint32 BufferSize)
{
  Std_ReturnType TempReturn;
  Std_ReturnType D.6304;
  <unnamed type> _1;
  Std_ReturnType _13;

  <bb 2> :
  TempReturn_4 = 1;
  _1 = Uart_Ipw_GetTransmitStatus (Channel_6(D), 0B);
  if (_1 == 1)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  Det_ReportError (255, 0, 5, 6);
  goto <bb 5>; [INV]

  <bb 4> :
  TempReturn_11 = Uart_Ipw_AsyncSend (Channel_6(D), Buffer_8(D), BufferSize_9(D));

  <bb 5> :
  # TempReturn_2 = PHI <TempReturn_4(3), TempReturn_11(4)>
  _13 = TempReturn_2;

  <bb 6> :
<L3>:
  return _13;

}


Uart_StartAsyncReceive (uint8 CoreId, uint8 Channel, uint8 * Buffer, uint32 BufferSize)
{
  Std_ReturnType TempReturn;
  Std_ReturnType D.6299;
  <unnamed type> _1;
  Std_ReturnType _13;

  <bb 2> :
  TempReturn_4 = 1;
  _1 = Uart_Ipw_GetReceiveStatus (Channel_6(D), 0B);
  if (_1 == 1)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  Det_ReportError (255, 0, 7, 6);
  goto <bb 5>; [INV]

  <bb 4> :
  TempReturn_11 = Uart_Ipw_AsyncReceive (Channel_6(D), Buffer_8(D), BufferSize_9(D));

  <bb 5> :
  # TempReturn_2 = PHI <TempReturn_4(3), TempReturn_11(4)>
  _13 = TempReturn_2;

  <bb 6> :
<L3>:
  return _13;

}


Uart_StartSyncSend (uint8 CoreId, uint8 Channel, const uint8 * Buffer, uint32 BufferSize, uint32 Timeout)
{
  Std_ReturnType TempReturn;
  Std_ReturnType D.6294;
  <unnamed type> _1;
  Std_ReturnType _16;

  <bb 2> :
  TempReturn_4 = 1;
  _1 = Uart_Ipw_GetTransmitStatus (Channel_6(D), 0B);
  if (_1 == 1)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  Det_ReportError (255, 0, 4, 6);
  goto <bb 6>; [INV]

  <bb 4> :
  TempReturn_12 = Uart_Ipw_SyncSend (Channel_6(D), Buffer_8(D), BufferSize_9(D), Timeout_10(D));
  if (TempReturn_12 == 6)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  Det_ReportRuntimeError (255, 0, 4, 8);
  TempReturn_14 = 1;

  <bb 6> :
  # TempReturn_2 = PHI <TempReturn_4(3), TempReturn_12(4), TempReturn_14(5)>
  _16 = TempReturn_2;

  <bb 7> :
<L5>:
  return _16;

}


Uart_StartSyncReceive (uint8 CoreId, uint8 Channel, uint8 * Buffer, uint32 BufferSize, uint32 Timeout)
{
  Std_ReturnType TempReturn;
  Std_ReturnType D.6287;
  <unnamed type> _1;
  Std_ReturnType _16;

  <bb 2> :
  TempReturn_4 = 1;
  _1 = Uart_Ipw_GetReceiveStatus (Channel_6(D), 0B);
  if (_1 == 1)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  Det_ReportError (255, 0, 6, 6);
  goto <bb 6>; [INV]

  <bb 4> :
  TempReturn_12 = Uart_Ipw_SyncReceive (Channel_6(D), Buffer_8(D), BufferSize_9(D), Timeout_10(D));
  if (TempReturn_12 == 6)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  Det_ReportRuntimeError (255, 0, 6, 8);
  TempReturn_14 = 1;

  <bb 6> :
  # TempReturn_2 = PHI <TempReturn_4(3), TempReturn_12(4), TempReturn_14(5)>
  _16 = TempReturn_2;

  <bb 7> :
<L5>:
  return _16;

}


