
Marking local functions:


Marking externally visible functions: System_Check_Func


Marking externally visible variables:


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

Key_Off_Process_Func/33 (Key_Off_Process_Func) @06b90000
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: System_Check_Func/0 
  Calls: 
GV_VCU_GearSelStat/32 (GV_VCU_GearSelStat) @06b8f678
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: System_Check_Func/0 (write)
  Availability: not_available
  Varpool flags:
GV_VCU_EPAM_Park_Request_to_EPC/31 (GV_VCU_EPAM_Park_Request_to_EPC) @06b8f630
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: System_Check_Func/0 (write)
  Availability: not_available
  Varpool flags:
Read_LDC_Voltage/30 (Read_LDC_Voltage) @06b439a0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: System_Check_Func/0 
  Calls: 
Est_Vehicle_Speed/29 (Est_Vehicle_Speed) @06b437e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: System_Check_Func/0 
  Calls: 
Motor_Status/28 (Motor_Status) @06b431c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: System_Check_Func/0 
  Calls: 
Check_Charging_Status/27 (Check_Charging_Status) @06b43ee0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: System_Check_Func/0 
  Calls: 
Drive_Mode_Func/26 (Drive_Mode_Func) @06b43e00
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: System_Check_Func/0 
  Calls: 
Key_on_Process_Func/25 (Key_on_Process_Func) @06b43d20
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: System_Check_Func/0 
  Calls: 
IG_OnCheck_HV_Status/24 (IG_OnCheck_HV_Status) @06b43c40
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: System_Check_Func/0 
  Calls: 
SET_SW_VER/23 (SET_SW_VER) @06b43b60
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: System_Check_Func/0 
  Calls: 
GV_VCU_Ready/22 (GV_VCU_Ready) @06b8f3a8
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: System_Check_Func/0 (write)
  Availability: not_available
  Varpool flags:
Soc_Check_befor_IGN/21 (Soc_Check_befor_IGN) @06b43a80
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: System_Check_Func/0 
  Calls: 
GV_Key_Off_Level/20 (GV_Key_Off_Level) @06b8f318
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: System_Check_Func/0 (write)
  Availability: not_available
  Varpool flags:
GV_CE_ON_CMD/19 (GV_CE_ON_CMD) @06b8f2d0
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: System_Check_Func/0 (write)System_Check_Func/0 (write)
  Availability: not_available
  Varpool flags:
GV_IG_Process_Status/18 (GV_IG_Process_Status) @06b8f288
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: System_Check_Func/0 (read)System_Check_Func/0 (read)System_Check_Func/0 (write)System_Check_Func/0 (read)System_Check_Func/0 (read)System_Check_Func/0 (read)System_Check_Func/0 (read)System_Check_Func/0 (write)System_Check_Func/0 (read)
  Availability: not_available
  Varpool flags:
GV_VCU_Ignition/17 (GV_VCU_Ignition) @06b8f240
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: System_Check_Func/0 (read)System_Check_Func/0 (read)System_Check_Func/0 (read)System_Check_Func/0 (read)System_Check_Func/0 (read)System_Check_Func/0 (read)System_Check_Func/0 (read)
  Availability: not_available
  Varpool flags:
GV_LDC_Apply_Check/16 (GV_LDC_Apply_Check) @06b8f1f8
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: System_Check_Func/0 (write)System_Check_Func/0 (write)
  Availability: not_available
  Varpool flags:
GV_LDC_STA/15 (GV_LDC_STA) @06b8f1b0
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: System_Check_Func/0 (read)
  Availability: not_available
  Varpool flags:
GV_HV_Apply_Check/14 (GV_HV_Apply_Check) @06b8f168
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: System_Check_Func/0 (write)System_Check_Func/0 (write)
  Availability: not_available
  Varpool flags:
GV_BMS_HVOn_STA/13 (GV_BMS_HVOn_STA) @06b8f120
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: System_Check_Func/0 (read)
  Availability: not_available
  Varpool flags:
GV_OBC_Fault_Check/12 (GV_OBC_Fault_Check) @06b8f0d8
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: System_Check_Func/0 (write)System_Check_Func/0 (write)
  Availability: not_available
  Varpool flags:
GV_OBC_Interlock/11 (GV_OBC_Interlock) @06b8f090
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: System_Check_Func/0 (read)
  Availability: not_available
  Varpool flags:
GV_LDC_Fault_Check/10 (GV_LDC_Fault_Check) @06b8f048
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: System_Check_Func/0 (write)System_Check_Func/0 (write)
  Availability: not_available
  Varpool flags:
GV_LDC_TEMP_FAULT/9 (GV_LDC_TEMP_FAULT) @06b8f000
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: System_Check_Func/0 (read)
  Availability: not_available
  Varpool flags:
GV_LDC_FltSta/8 (GV_LDC_FltSta) @06b4af78
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: System_Check_Func/0 (read)
  Availability: not_available
  Varpool flags:
GV_MCU_Fault_Check/7 (GV_MCU_Fault_Check) @06b4af30
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: System_Check_Func/0 (write)System_Check_Func/0 (write)
  Availability: not_available
  Varpool flags:
GV_MCU_Interlock/6 (GV_MCU_Interlock) @06b4aee8
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: System_Check_Func/0 (read)
  Availability: not_available
  Varpool flags:
GV_MCU_FltSta/5 (GV_MCU_FltSta) @06b4aea0
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: System_Check_Func/0 (read)
  Availability: not_available
  Varpool flags:
GV_BMS_Fault_Check/4 (GV_BMS_Fault_Check) @06b4ae58
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: System_Check_Func/0 (write)System_Check_Func/0 (write)
  Availability: not_available
  Varpool flags:
GV_BMS_Interlock/3 (GV_BMS_Interlock) @06b4ae10
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: System_Check_Func/0 (read)
  Availability: not_available
  Varpool flags:
GV_BMS_TEMP_FAULT/2 (GV_BMS_TEMP_FAULT) @06b4adc8
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: System_Check_Func/0 (read)
  Availability: not_available
  Varpool flags:
GV_BMS_FltSta/1 (GV_BMS_FltSta) @06b4ad80
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: System_Check_Func/0 (read)
  Availability: not_available
  Varpool flags:
System_Check_Func/0 (System_Check_Func) @06b43380
  Type: function definition analyzed
  Visibility: externally_visible public
  References: GV_BMS_FltSta/1 (read)GV_BMS_TEMP_FAULT/2 (read)GV_BMS_Interlock/3 (read)GV_BMS_Fault_Check/4 (write)GV_BMS_Fault_Check/4 (write)GV_MCU_FltSta/5 (read)GV_MCU_Interlock/6 (read)GV_MCU_Fault_Check/7 (write)GV_MCU_Fault_Check/7 (write)GV_LDC_FltSta/8 (read)GV_LDC_TEMP_FAULT/9 (read)GV_LDC_Fault_Check/10 (write)GV_LDC_Fault_Check/10 (write)GV_OBC_Interlock/11 (read)GV_OBC_Fault_Check/12 (write)GV_OBC_Fault_Check/12 (write)GV_BMS_HVOn_STA/13 (read)GV_HV_Apply_Check/14 (write)GV_HV_Apply_Check/14 (write)GV_LDC_STA/15 (read)GV_LDC_Apply_Check/16 (write)GV_LDC_Apply_Check/16 (write)GV_VCU_Ignition/17 (read)GV_IG_Process_Status/18 (read)GV_CE_ON_CMD/19 (write)GV_Key_Off_Level/20 (write)GV_VCU_Ignition/17 (read)GV_IG_Process_Status/18 (read)GV_IG_Process_Status/18 (write)GV_VCU_Ignition/17 (read)GV_IG_Process_Status/18 (read)GV_VCU_Ready/22 (write)GV_CE_ON_CMD/19 (write)GV_VCU_Ignition/17 (read)GV_IG_Process_Status/18 (read)GV_VCU_Ignition/17 (read)GV_IG_Process_Status/18 (read)GV_VCU_Ignition/17 (read)GV_IG_Process_Status/18 (read)GV_IG_Process_Status/18 (write)GV_VCU_Ignition/17 (read)GV_IG_Process_Status/18 (read)GV_VCU_EPAM_Park_Request_to_EPC/31 (write)GV_VCU_GearSelStat/32 (write)
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: Key_Off_Process_Func/33 Read_LDC_Voltage/30 Est_Vehicle_Speed/29 Motor_Status/28 Check_Charging_Status/27 Drive_Mode_Func/26 Key_on_Process_Func/25 IG_OnCheck_HV_Status/24 SET_SW_VER/23 Soc_Check_befor_IGN/21 
System_Check_Func ()
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  GV_BMS_FltSta.0_1 = GV_BMS_FltSta;
  if (GV_BMS_FltSta.0_1 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 3> :
  GV_BMS_TEMP_FAULT.1_2 = GV_BMS_TEMP_FAULT;
  if (GV_BMS_TEMP_FAULT.1_2 == 0)
    goto <bb 4>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 4> :
  GV_BMS_Interlock.2_3 = GV_BMS_Interlock;
  if (GV_BMS_Interlock.2_3 == 1)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

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

  <bb 6> :
  # DEBUG BEGIN_STMT
  GV_BMS_Fault_Check = 1;

  <bb 7> :
  # DEBUG BEGIN_STMT
  GV_MCU_FltSta.3_4 = GV_MCU_FltSta;
  if (GV_MCU_FltSta.3_4 == 0)
    goto <bb 8>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 8> :
  GV_MCU_Interlock.4_5 = GV_MCU_Interlock;
  if (GV_MCU_Interlock.4_5 == 0)
    goto <bb 9>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 9> :
  # DEBUG BEGIN_STMT
  GV_MCU_Fault_Check = 0;
  goto <bb 11>; [INV]

  <bb 10> :
  # DEBUG BEGIN_STMT
  GV_MCU_Fault_Check = 1;

  <bb 11> :
  # DEBUG BEGIN_STMT
  GV_LDC_FltSta.5_6 = GV_LDC_FltSta;
  if (GV_LDC_FltSta.5_6 == 0)
    goto <bb 12>; [INV]
  else
    goto <bb 14>; [INV]

  <bb 12> :
  GV_LDC_TEMP_FAULT.6_7 = GV_LDC_TEMP_FAULT;
  if (GV_LDC_TEMP_FAULT.6_7 == 0)
    goto <bb 13>; [INV]
  else
    goto <bb 14>; [INV]

  <bb 13> :
  # DEBUG BEGIN_STMT
  GV_LDC_Fault_Check = 0;
  goto <bb 15>; [INV]

  <bb 14> :
  # DEBUG BEGIN_STMT
  GV_LDC_Fault_Check = 1;

  <bb 15> :
  # DEBUG BEGIN_STMT
  GV_OBC_Interlock.7_8 = GV_OBC_Interlock;
  if (GV_OBC_Interlock.7_8 == 1)
    goto <bb 16>; [INV]
  else
    goto <bb 17>; [INV]

  <bb 16> :
  # DEBUG BEGIN_STMT
  GV_OBC_Fault_Check = 0;
  goto <bb 18>; [INV]

  <bb 17> :
  # DEBUG BEGIN_STMT
  GV_OBC_Fault_Check = 1;

  <bb 18> :
  # DEBUG BEGIN_STMT
  GV_BMS_HVOn_STA.8_9 = GV_BMS_HVOn_STA;
  if (GV_BMS_HVOn_STA.8_9 == 0)
    goto <bb 19>; [INV]
  else
    goto <bb 20>; [INV]

  <bb 19> :
  # DEBUG BEGIN_STMT
  GV_HV_Apply_Check = 0;
  goto <bb 21>; [INV]

  <bb 20> :
  # DEBUG BEGIN_STMT
  GV_HV_Apply_Check = 1;

  <bb 21> :
  # DEBUG BEGIN_STMT
  GV_LDC_STA.9_10 = GV_LDC_STA;
  if (GV_LDC_STA.9_10 == 0)
    goto <bb 22>; [INV]
  else
    goto <bb 23>; [INV]

  <bb 22> :
  # DEBUG BEGIN_STMT
  GV_LDC_Apply_Check = 0;
  goto <bb 24>; [INV]

  <bb 23> :
  # DEBUG BEGIN_STMT
  GV_LDC_Apply_Check = 1;

  <bb 24> :
  # DEBUG BEGIN_STMT
  GV_VCU_Ignition.10_11 = GV_VCU_Ignition;
  if (GV_VCU_Ignition.10_11 == 0)
    goto <bb 25>; [INV]
  else
    goto <bb 27>; [INV]

  <bb 25> :
  GV_IG_Process_Status.11_12 = GV_IG_Process_Status;
  if (GV_IG_Process_Status.11_12 == 1)
    goto <bb 26>; [INV]
  else
    goto <bb 27>; [INV]

  <bb 26> :
  # DEBUG BEGIN_STMT
  GV_CE_ON_CMD = 0;
  # DEBUG BEGIN_STMT
  GV_Key_Off_Level = 0;
  # DEBUG BEGIN_STMT
  Soc_Check_befor_IGN ();
  goto <bb 45>; [INV]

  <bb 27> :
  # DEBUG BEGIN_STMT
  GV_VCU_Ignition.12_13 = GV_VCU_Ignition;
  if (GV_VCU_Ignition.12_13 == 0)
    goto <bb 28>; [INV]
  else
    goto <bb 30>; [INV]

  <bb 28> :
  GV_IG_Process_Status.13_14 = GV_IG_Process_Status;
  if (GV_IG_Process_Status.13_14 == 2)
    goto <bb 29>; [INV]
  else
    goto <bb 30>; [INV]

  <bb 29> :
  # DEBUG BEGIN_STMT
  GV_IG_Process_Status = 0;
  goto <bb 45>; [INV]

  <bb 30> :
  # DEBUG BEGIN_STMT
  GV_VCU_Ignition.14_15 = GV_VCU_Ignition;
  if (GV_VCU_Ignition.14_15 == 1)
    goto <bb 31>; [INV]
  else
    goto <bb 33>; [INV]

  <bb 31> :
  GV_IG_Process_Status.15_16 = GV_IG_Process_Status;
  if (GV_IG_Process_Status.15_16 == 1)
    goto <bb 32>; [INV]
  else
    goto <bb 33>; [INV]

  <bb 32> :
  # DEBUG BEGIN_STMT
  GV_VCU_Ready = 1;
  # DEBUG BEGIN_STMT
  GV_CE_ON_CMD = 1;
  # DEBUG BEGIN_STMT
  SET_SW_VER ();
  # DEBUG BEGIN_STMT
  IG_OnCheck_HV_Status ();
  goto <bb 45>; [INV]

  <bb 33> :
  # DEBUG BEGIN_STMT
  GV_VCU_Ignition.16_17 = GV_VCU_Ignition;
  if (GV_VCU_Ignition.16_17 == 1)
    goto <bb 34>; [INV]
  else
    goto <bb 36>; [INV]

  <bb 34> :
  GV_IG_Process_Status.17_18 = GV_IG_Process_Status;
  if (GV_IG_Process_Status.17_18 == 2)
    goto <bb 35>; [INV]
  else
    goto <bb 36>; [INV]

  <bb 35> :
  # DEBUG BEGIN_STMT
  Key_on_Process_Func ();
  goto <bb 45>; [INV]

  <bb 36> :
  # DEBUG BEGIN_STMT
  GV_VCU_Ignition.18_19 = GV_VCU_Ignition;
  if (GV_VCU_Ignition.18_19 == 1)
    goto <bb 37>; [INV]
  else
    goto <bb 39>; [INV]

  <bb 37> :
  GV_IG_Process_Status.19_20 = GV_IG_Process_Status;
  if (GV_IG_Process_Status.19_20 == 3)
    goto <bb 38>; [INV]
  else
    goto <bb 39>; [INV]

  <bb 38> :
  # DEBUG BEGIN_STMT
  Drive_Mode_Func ();
  # DEBUG BEGIN_STMT
  Check_Charging_Status ();
  # DEBUG BEGIN_STMT
  Motor_Status ();
  # DEBUG BEGIN_STMT
  Est_Vehicle_Speed ();
  goto <bb 45>; [INV]

  <bb 39> :
  # DEBUG BEGIN_STMT
  GV_VCU_Ignition.20_21 = GV_VCU_Ignition;
  if (GV_VCU_Ignition.20_21 == 0)
    goto <bb 40>; [INV]
  else
    goto <bb 42>; [INV]

  <bb 40> :
  GV_IG_Process_Status.21_22 = GV_IG_Process_Status;
  if (GV_IG_Process_Status.21_22 == 3)
    goto <bb 41>; [INV]
  else
    goto <bb 42>; [INV]

  <bb 41> :
  # DEBUG BEGIN_STMT
  Read_LDC_Voltage ();
  # DEBUG BEGIN_STMT
  GV_IG_Process_Status = 0;
  goto <bb 45>; [INV]

  <bb 42> :
  # DEBUG BEGIN_STMT
  GV_VCU_Ignition.22_23 = GV_VCU_Ignition;
  if (GV_VCU_Ignition.22_23 == 0)
    goto <bb 43>; [INV]
  else
    goto <bb 45>; [INV]

  <bb 43> :
  GV_IG_Process_Status.23_24 = GV_IG_Process_Status;
  if (GV_IG_Process_Status.23_24 == 0)
    goto <bb 44>; [INV]
  else
    goto <bb 45>; [INV]

  <bb 44> :
  # DEBUG BEGIN_STMT
  GV_VCU_EPAM_Park_Request_to_EPC = 1;
  # DEBUG BEGIN_STMT
  GV_VCU_GearSelStat = 0;
  # DEBUG BEGIN_STMT
  Key_Off_Process_Func ();

  <bb 45> :
  return;

}


