mirror of
https://github.com/Dev-KATECH/ADM.git
synced 2026-05-17 18:03:59 +09:00
472 lines
11 KiB
Plaintext
472 lines
11 KiB
Plaintext
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;
|
|
|
|
}
|
|
|
|
|