ADM/GW/Debug_FLASH/RTD/src/Emios_Pwm_Ip_Irq.c.079i.static-var

576 lines
16 KiB
Plaintext

callgraph:
Emios_Pwm_Ip_GetMasterBusChannel/45 (Emios_Pwm_Ip_GetMasterBusChannel) @06a84540
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: Emios_Pwm_Ip_IrqDaocHandler/41 (1073741824 (estimated locally),1.00 per call)
Calls:
Emios_Pwm_Ip_IrqHandler/42 (Emios_Pwm_Ip_IrqHandler) @06ad2c40
Type: function definition analyzed
Visibility: externally_visible public
References: Emios_Pwm_Ip_aBasePtr/43 (read)Emios_Pwm_Ip_aNotificationPtr/44 (read)
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls: Emios_Pwm_Ip_IrqDaocHandler/41 (inlined) (1073741824 (estimated locally),1.00 per call)
Indirect call(751619278 (estimated locally),0.70 per call)
Emios_Pwm_Ip_IrqDaocHandler/41 (Emios_Pwm_Ip_IrqDaocHandler) @06ad22a0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References: Emios_Pwm_Ip_aBasePtr/43 (read)Emios_Pwm_Ip_aPeriod/46 (read)Emios_Pwm_Ip_aDaocDuty/47 (read)Emios_Pwm_Ip_aPeriod/46 (read)Emios_Pwm_Ip_aDaocDuty/47 (read)
Referring:
Function Emios_Pwm_Ip_IrqDaocHandler/41 is inline copy in Emios_Pwm_Ip_IrqHandler/42
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Emios_Pwm_Ip_IrqHandler/42 (inlined) (1073741824 (estimated locally),1.00 per call)
Calls: Emios_Pwm_Ip_GetPwmMode/27 (524845004 (estimated locally),0.49 per call) Emios_Pwm_Ip_GetPwmMode/27 (1073741824 (estimated locally),1.00 per call) Emios_Pwm_Ip_GetMasterBusChannel/45 (1073741824 (estimated locally),1.00 per call)
Emios_Pwm_Ip_GetPwmMode/27 (Emios_Pwm_Ip_GetPwmMode) @06ac2380
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Availability: local
Function flags: count:1073741824 (estimated locally) body local nonfreeing_fn optimize_size
Called by: Emios_Pwm_Ip_IrqDaocHandler/41 (524845004 (estimated locally),0.49 per call) Emios_Pwm_Ip_IrqDaocHandler/41 (1073741824 (estimated locally),1.00 per call)
Calls:
Clearing variable flags:
Function name:Emios_Pwm_Ip_IrqHandler/42:
locals read:
locals written:
Function name:Emios_Pwm_Ip_IrqDaocHandler/41:
locals read:
locals written:
Function name:Emios_Pwm_Ip_GetPwmMode/27:
locals read:
locals written:
ordered call graph: reduced
Emios_Pwm_Ip_IrqHandler/42 (Emios_Pwm_Ip_IrqHandler) @06ad2c40
Type: function definition analyzed
Visibility: externally_visible public
Aux: @025f5b80
References: Emios_Pwm_Ip_aBasePtr/43 (read)Emios_Pwm_Ip_aNotificationPtr/44 (read)
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls: Emios_Pwm_Ip_IrqDaocHandler/41 (inlined) (1073741824 (estimated locally),1.00 per call)
Indirect call(751619278 (estimated locally),0.70 per call)
Emios_Pwm_Ip_IrqDaocHandler/41 (Emios_Pwm_Ip_IrqDaocHandler) @06ad22a0
Type: function definition analyzed
Visibility: prevailing_def_ironly
Aux: @025f59c0
References: Emios_Pwm_Ip_aBasePtr/43 (read)Emios_Pwm_Ip_aPeriod/46 (read)Emios_Pwm_Ip_aDaocDuty/47 (read)Emios_Pwm_Ip_aPeriod/46 (read)Emios_Pwm_Ip_aDaocDuty/47 (read)
Referring:
Function Emios_Pwm_Ip_IrqDaocHandler/41 is inline copy in Emios_Pwm_Ip_IrqHandler/42
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Emios_Pwm_Ip_IrqHandler/42 (inlined) (1073741824 (estimated locally),1.00 per call)
Calls: Emios_Pwm_Ip_GetPwmMode/27 (524845004 (estimated locally),0.49 per call) Emios_Pwm_Ip_GetPwmMode/27 (1073741824 (estimated locally),1.00 per call) Emios_Pwm_Ip_GetMasterBusChannel/45 (1073741824 (estimated locally),1.00 per call)
Emios_Pwm_Ip_GetPwmMode/27 (Emios_Pwm_Ip_GetPwmMode) @06ac2380
Type: function definition analyzed
Visibility: prevailing_def_ironly
Aux: @025f5ae0
References:
Referring:
Availability: local
Function flags: count:1073741824 (estimated locally) body local nonfreeing_fn optimize_size
Called by: Emios_Pwm_Ip_IrqDaocHandler/41 (524845004 (estimated locally),0.49 per call) Emios_Pwm_Ip_IrqDaocHandler/41 (1073741824 (estimated locally),1.00 per call)
Calls:
Function name:Emios_Pwm_Ip_GetPwmMode/27:
locals read:
locals written:
globals read:
globals written:
Function name:Emios_Pwm_Ip_IrqDaocHandler/41:
locals read:
locals written:
globals read: ALL
globals written: ALL
Function name:Emios_Pwm_Ip_IrqHandler/42:
locals read:
locals written:
globals read: ALL
globals written: ALL
Emios_Pwm_Ip_IrqHandler (uint8 instance, uint8 channel)
{
int _1;
struct Emios_Pwm_Ip_HwAddrType * _2;
const struct Emios_Pwm_Ip_NotificationType * _3;
void (*<Te3>) (void *) _4;
void * _5;
int _12;
long unsigned int _13;
long unsigned int _14;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
_1 = (int) instance_7(D);
_2 = Emios_Pwm_Ip_aBasePtr[_1];
# DEBUG base => _2
# DEBUG channel => channel_9(D)
# DEBUG INLINE_ENTRY Emios_Pwm_Ip_ClearFlagEvent
# DEBUG BEGIN_STMT
_12 = (int) channel_9(D);
_13 ={v} _2->CH.UC[_12].S;
_14 = _13 | 1;
_2->CH.UC[_12].S ={v} _14;
# DEBUG base => NULL
# DEBUG channel => NULL
# DEBUG BEGIN_STMT
Emios_Pwm_Ip_IrqDaocHandler (instance_7(D), channel_9(D));
# DEBUG BEGIN_STMT
_3 = Emios_Pwm_Ip_aNotificationPtr[_1][_12];
if (_3 != 0B)
goto <bb 3>; [70.00%]
else
goto <bb 4>; [30.00%]
<bb 3> [local count: 751619278]:
# DEBUG BEGIN_STMT
_4 = _3->cbFunction;
_5 = _3->cbParameter;
_4 (_5);
<bb 4> [local count: 1073741824]:
return;
}
Emios_Pwm_Ip_IrqDaocHandler (uint8 instance, uint8 channel)
{
uint16 daocRegB;
uint16 daocRegA;
uint16 daocDuty;
int _1;
struct Emios_Pwm_Ip_HwAddrType * _2;
unsigned char _3;
<unnamed type> _4;
short unsigned int _5;
short unsigned int _6;
int _7;
int _8;
int _9;
int _10;
int _11;
int _12;
int _13;
int _14;
int _15;
<unnamed type> _16;
short unsigned int _17;
int _18;
int _19;
int _20;
int _21;
int _22;
short unsigned int _23;
int _24;
int _25;
int _26;
int _27;
int _28;
uint16 iftmp.0_29;
uint16 iftmp.1_30;
uint16 iftmp.2_31;
uint16 iftmp.3_32;
long unsigned int _34;
long unsigned int _35;
long unsigned int _36;
long unsigned int _41;
long unsigned int _42;
long unsigned int _50;
long unsigned int _51;
int _52;
long unsigned int _53;
long unsigned int _54;
int _55;
long unsigned int _56;
short unsigned int _57;
long unsigned int _58;
long unsigned int _59;
long unsigned int _60;
long unsigned int _61;
long unsigned int _62;
long unsigned int _63;
long unsigned int _64;
long unsigned int _65;
long unsigned int _66;
long unsigned int _67;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG daocDuty => 0
# DEBUG BEGIN_STMT
# DEBUG daocRegA => 0
# DEBUG BEGIN_STMT
# DEBUG daocRegB => 0
# DEBUG BEGIN_STMT
_1 = (int) instance_37(D);
_2 = Emios_Pwm_Ip_aBasePtr[_1];
_3 = Emios_Pwm_Ip_GetMasterBusChannel (instance_37(D), channel_39(D));
# DEBUG base => _2
# DEBUG channel => _3
# DEBUG INLINE_ENTRY Emios_Pwm_Ip_GetUCRegA
# DEBUG BEGIN_STMT
_55 = (int) _3;
_56 ={v} MEM[(const struct Emios_Pwm_Ip_HwAddrType *)_2].CH.UC[_55].A;
_57 = (short unsigned int) _56;
# DEBUG base => NULL
# DEBUG channel => NULL
# DEBUG counterMax => _57
# DEBUG BEGIN_STMT
# DEBUG base => _2
# DEBUG channel => channel_39(D)
# DEBUG INLINE_ENTRY Emios_Pwm_Ip_GetEdgePolarity
# DEBUG BEGIN_STMT
_52 = (int) channel_39(D);
_53 ={v} MEM[(const struct Emios_Pwm_Ip_HwAddrType *)_2].CH.UC[_52].C;
_54 = _53 & 128;
# DEBUG D#1 => _54 != 0
# DEBUG base => NULL
# DEBUG channel => NULL
# DEBUG polarity => (<unnamed type>) D#1
# DEBUG BEGIN_STMT
# DEBUG base => _2
# DEBUG channel => channel_39(D)
# DEBUG INLINE_ENTRY Emios_Pwm_Ip_GetOutputPinState
# DEBUG BEGIN_STMT
_50 ={v} MEM[(const struct Emios_Pwm_Ip_HwAddrType *)_2].CH.UC[_52].S;
_51 = _50 & 2;
# DEBUG base => NULL
# DEBUG channel => NULL
# DEBUG outputPin => _51 != 0
# DEBUG BEGIN_STMT
_4 = Emios_Pwm_Ip_GetPwmMode (_2, channel_39(D));
if (_4 == 6)
goto <bb 3>; [51.12%]
else
goto <bb 8>; [48.88%]
<bb 3> [local count: 548896821]:
# DEBUG BEGIN_STMT
_5 = Emios_Pwm_Ip_aPeriod[_1][_52];
_6 = Emios_Pwm_Ip_aDaocDuty[_1][_52];
daocDuty_47 = _5 - _6;
# DEBUG daocDuty => daocDuty_47
# DEBUG BEGIN_STMT
_7 = (int) daocDuty_47;
# DEBUG base => _2
# DEBUG channel => channel_39(D)
# DEBUG INLINE_ENTRY Emios_Pwm_Ip_GetUCRegB
# DEBUG BEGIN_STMT
_58 ={v} MEM[(const struct Emios_Pwm_Ip_HwAddrType *)_2].CH.UC[_52].B;
# DEBUG base => NULL
# DEBUG channel => NULL
_41 = _58 & 65535;
_8 = (int) _41;
_9 = _7 + _8;
_67 = _56 & 65535;
_10 = (int) _67;
_11 = _9 % _10;
daocRegA_48 = (uint16) _11;
# DEBUG daocRegA => daocRegA_48
# DEBUG BEGIN_STMT
if (daocRegA_48 == 0)
goto <bb 5>; [50.00%]
else
goto <bb 4>; [50.00%]
<bb 4> [local count: 274448410]:
<bb 5> [local count: 548896820]:
# iftmp.0_29 = PHI <_57(3), daocRegA_48(4)>
# DEBUG base => _2
# DEBUG channel => channel_39(D)
# DEBUG value => iftmp.0_29
# DEBUG INLINE_ENTRY Emios_Pwm_Ip_SetUCRegA
# DEBUG BEGIN_STMT
_60 = (long unsigned int) iftmp.0_29;
_2->CH.UC[_52].A ={v} _60;
# DEBUG base => NULL
# DEBUG channel => NULL
# DEBUG value => NULL
# DEBUG BEGIN_STMT
_12 = (int) _5;
# DEBUG base => _2
# DEBUG channel => channel_39(D)
# DEBUG INLINE_ENTRY Emios_Pwm_Ip_GetUCRegB
# DEBUG BEGIN_STMT
_59 ={v} MEM[(const struct Emios_Pwm_Ip_HwAddrType *)_2].CH.UC[_52].B;
# DEBUG base => NULL
# DEBUG channel => NULL
_42 = _59 & 65535;
_13 = (int) _42;
_14 = _12 + _13;
_15 = _14 % _10;
daocRegB_49 = (uint16) _15;
# DEBUG daocRegB => daocRegB_49
# DEBUG BEGIN_STMT
if (daocRegB_49 == 0)
goto <bb 7>; [50.00%]
else
goto <bb 6>; [50.00%]
<bb 6> [local count: 274448410]:
<bb 7> [local count: 548896820]:
# iftmp.1_30 = PHI <_57(5), daocRegB_49(6)>
# DEBUG base => _2
# DEBUG channel => channel_39(D)
# DEBUG value => iftmp.1_30
# DEBUG INLINE_ENTRY Emios_Pwm_Ip_SetUCRegB
# DEBUG BEGIN_STMT
_61 = (long unsigned int) iftmp.1_30;
_2->CH.UC[_52].B ={v} _61;
goto <bb 19>; [100.00%]
<bb 8> [local count: 524845004]:
# DEBUG BEGIN_STMT
_16 = Emios_Pwm_Ip_GetPwmMode (_2, channel_39(D));
if (_16 == 7)
goto <bb 9>; [34.00%]
else
goto <bb 19>; [66.00%]
<bb 9> [local count: 178447301]:
# DEBUG BEGIN_STMT
if (_54 != 0)
goto <bb 10>; [50.00%]
else
goto <bb 11>; [50.00%]
<bb 10> [local count: 89223651]:
if (_51 == 0)
goto <bb 13>; [50.00%]
else
goto <bb 11>; [50.00%]
<bb 11> [local count: 133835476]:
if (_54 == 0)
goto <bb 12>; [50.00%]
else
goto <bb 16>; [50.00%]
<bb 12> [local count: 66917738]:
if (_51 != 0)
goto <bb 13>; [50.00%]
else
goto <bb 16>; [50.00%]
<bb 13> [local count: 78070694]:
# DEBUG BEGIN_STMT
_17 = Emios_Pwm_Ip_aPeriod[_1][_52];
_18 = (int) _17;
# DEBUG base => _2
# DEBUG channel => channel_39(D)
# DEBUG INLINE_ENTRY Emios_Pwm_Ip_GetUCRegA
# DEBUG BEGIN_STMT
_62 ={v} MEM[(const struct Emios_Pwm_Ip_HwAddrType *)_2].CH.UC[_52].A;
# DEBUG base => NULL
# DEBUG channel => NULL
_36 = _62 & 65535;
_19 = (int) _36;
_20 = _18 + _19;
_66 = _56 & 65535;
_21 = (int) _66;
_22 = _20 % _21;
daocRegA_46 = (uint16) _22;
# DEBUG daocRegA => daocRegA_46
# DEBUG BEGIN_STMT
if (daocRegA_46 == 0)
goto <bb 15>; [50.00%]
else
goto <bb 14>; [50.00%]
<bb 14> [local count: 39035347]:
<bb 15> [local count: 78070694]:
# iftmp.2_31 = PHI <_57(13), daocRegA_46(14)>
# DEBUG base => _2
# DEBUG channel => channel_39(D)
# DEBUG value => iftmp.2_31
# DEBUG INLINE_ENTRY Emios_Pwm_Ip_SetUCRegA
# DEBUG BEGIN_STMT
_63 = (long unsigned int) iftmp.2_31;
_2->CH.UC[_52].A ={v} _63;
goto <bb 19>; [100.00%]
<bb 16> [local count: 100376607]:
# DEBUG BEGIN_STMT
_23 = Emios_Pwm_Ip_aDaocDuty[_1][_52];
_24 = (int) _23;
# DEBUG base => _2
# DEBUG channel => channel_39(D)
# DEBUG INLINE_ENTRY Emios_Pwm_Ip_GetUCRegA
# DEBUG BEGIN_STMT
_64 ={v} MEM[(const struct Emios_Pwm_Ip_HwAddrType *)_2].CH.UC[_52].A;
# DEBUG base => NULL
# DEBUG channel => NULL
_34 = _64 & 65535;
_25 = (int) _34;
_26 = _24 + _25;
_35 = _56 & 65535;
_27 = (int) _35;
_28 = _26 % _27;
daocRegB_45 = (uint16) _28;
# DEBUG daocRegB => daocRegB_45
# DEBUG BEGIN_STMT
if (daocRegB_45 == 0)
goto <bb 18>; [50.00%]
else
goto <bb 17>; [50.00%]
<bb 17> [local count: 50188304]:
<bb 18> [local count: 100376607]:
# iftmp.3_32 = PHI <_57(16), daocRegB_45(17)>
# DEBUG base => _2
# DEBUG channel => channel_39(D)
# DEBUG value => iftmp.3_32
# DEBUG INLINE_ENTRY Emios_Pwm_Ip_SetUCRegB
# DEBUG BEGIN_STMT
_65 = (long unsigned int) iftmp.3_32;
_2->CH.UC[_52].B ={v} _65;
<bb 19> [local count: 1073741823]:
# DEBUG base => NULL
# DEBUG channel => NULL
# DEBUG value => NULL
# DEBUG base => NULL
# DEBUG channel => NULL
# DEBUG value => NULL
# DEBUG base => NULL
# DEBUG channel => NULL
# DEBUG value => NULL
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
return;
}
Emios_Pwm_Ip_GetPwmMode (const struct Emios_Pwm_Ip_HwAddrType * const base, uint8 channel)
{
Emios_Pwm_Ip_PwmModeType mode;
int _1;
long unsigned int _2;
long unsigned int _3;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_1 = (int) channel_5(D);
_2 ={v} base_7(D)->CH.UC[_1].C;
_3 = _2 & 127;
switch (_3) <default: <L12> [7.69%], case 1: <L15> [7.69%], case 6: <L1> [7.69%], case 7: <L2> [7.69%], case 38: <L3> [7.69%], case 88: <L4> [7.69%], case 90: <L5> [7.69%], case 92: <L6> [7.69%], case 93: <L8> [7.69%], case 94: <L7> [7.69%], case 95: <L9> [7.69%], case 96: <L10> [7.69%], case 98: <L11> [7.69%]>
<bb 3> [local count: 82570746]:
<L1>:
# DEBUG BEGIN_STMT
# DEBUG mode => 6
# DEBUG BEGIN_STMT
goto <bb 15>; [100.00%]
<bb 4> [local count: 82570746]:
<L2>:
# DEBUG BEGIN_STMT
# DEBUG mode => 7
# DEBUG BEGIN_STMT
goto <bb 15>; [100.00%]
<bb 5> [local count: 82570746]:
<L3>:
# DEBUG BEGIN_STMT
# DEBUG mode => 38
# DEBUG BEGIN_STMT
goto <bb 15>; [100.00%]
<bb 6> [local count: 82570746]:
<L4>:
# DEBUG BEGIN_STMT
# DEBUG mode => 88
# DEBUG BEGIN_STMT
goto <bb 15>; [100.00%]
<bb 7> [local count: 82570746]:
<L5>:
# DEBUG BEGIN_STMT
# DEBUG mode => 90
# DEBUG BEGIN_STMT
goto <bb 15>; [100.00%]
<bb 8> [local count: 82570746]:
<L6>:
# DEBUG BEGIN_STMT
# DEBUG mode => 92
# DEBUG BEGIN_STMT
goto <bb 15>; [100.00%]
<bb 9> [local count: 82570746]:
<L7>:
# DEBUG BEGIN_STMT
# DEBUG mode => 94
# DEBUG BEGIN_STMT
goto <bb 15>; [100.00%]
<bb 10> [local count: 82570746]:
<L8>:
# DEBUG BEGIN_STMT
# DEBUG mode => 93
# DEBUG BEGIN_STMT
goto <bb 15>; [100.00%]
<bb 11> [local count: 82570746]:
<L9>:
# DEBUG BEGIN_STMT
# DEBUG mode => 95
# DEBUG BEGIN_STMT
goto <bb 15>; [100.00%]
<bb 12> [local count: 82570746]:
<L10>:
# DEBUG BEGIN_STMT
# DEBUG mode => 96
# DEBUG BEGIN_STMT
goto <bb 15>; [100.00%]
<bb 13> [local count: 82570746]:
<L11>:
# DEBUG BEGIN_STMT
# DEBUG mode => 98
# DEBUG BEGIN_STMT
goto <bb 15>; [100.00%]
<bb 14> [local count: 82570746]:
<L12>:
# DEBUG BEGIN_STMT
# DEBUG mode => 255
# DEBUG BEGIN_STMT
<bb 15> [local count: 1073419702]:
# mode_4 = PHI <1(2), 6(3), 7(4), 38(5), 88(6), 90(7), 92(8), 94(9), 93(10), 95(11), 96(12), 98(13), 255(14)>
<L15>:
# DEBUG mode => mode_4
# DEBUG BEGIN_STMT
return mode_4;
}