ADM/GW/Debug_FLASH/src/uds/ctl_dtc.c.017i.build_ssa_passes
2024-08-08 10:00:15 +09:00

1815 lines
29 KiB
Plaintext

dtc_found_and_clear (uint32_t dtcc)
{
uint8_t nDTC[9];
uint32_t c1;
uint8_t lim;
uint8_t nc;
uint8_t c;
uint16_t p;
uint16_t k;
uint16_t j;
uint16_t i;
uint8_t D.6331;
long unsigned int D.6328;
<bb 2> :
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
k = 0;
# DEBUG BEGIN_STMT
p = 0;
# DEBUG BEGIN_STMT
j = 0;
goto <bb 25>; [INV]
<bb 3> :
# DEBUG BEGIN_STMT
c = 128;
# DEBUG BEGIN_STMT
if (j <= 1)
goto <bb 4>; [INV]
else
goto <bb 5>; [INV]
<bb 4> :
# DEBUG BEGIN_STMT
lim = 8;
goto <bb 6>; [INV]
<bb 5> :
# DEBUG BEGIN_STMT
lim = 3;
<bb 6> :
# DEBUG BEGIN_STMT
i = 0;
goto <bb 23>; [INV]
<bb 7> :
# DEBUG BEGIN_STMT
_1 = (int) j;
_2 = DTC_Item._c[_1];
_3 = c & _2;
if (_3 != 0)
goto <bb 9>; [INV]
else
goto <bb 8>; [INV]
<bb 8> :
_4 = (int) j;
_5 = DTC_Item_Old._c[_4];
_6 = c & _5;
if (_6 != 0)
goto <bb 9>; [INV]
else
goto <bb 22>; [INV]
<bb 9> :
# DEBUG BEGIN_STMT
k = 0;
goto <bb 11>; [INV]
<bb 10> :
# DEBUG BEGIN_STMT
_7 = (int) p;
_8 = TFAIL_NAME[_7];
_9 = (sizetype) k;
_10 = _8 + _9;
_11 = (int) k;
_12 = *_10;
nDTC[_11] = _12;
# DEBUG BEGIN_STMT
k.30_13 = k;
k = k.30_13 + 1;
<bb 11> :
# DEBUG BEGIN_STMT
if (k <= 7)
goto <bb 10>; [INV]
else
goto <bb 12>; [INV]
<bb 12> :
# DEBUG BEGIN_STMT
nDTC[8] = 0;
# DEBUG BEGIN_STMT
_14 = nDTC[0];
if (_14 == 80)
goto <bb 13>; [INV]
else
goto <bb 14>; [INV]
<bb 13> :
# DEBUG BEGIN_STMT
c1 = 0;
goto <bb 20>; [INV]
<bb 14> :
# DEBUG BEGIN_STMT
_15 = nDTC[0];
if (_15 == 67)
goto <bb 15>; [INV]
else
goto <bb 16>; [INV]
<bb 15> :
# DEBUG BEGIN_STMT
c1 = 4194304;
goto <bb 20>; [INV]
<bb 16> :
# DEBUG BEGIN_STMT
_16 = nDTC[0];
if (_16 == 66)
goto <bb 17>; [INV]
else
goto <bb 18>; [INV]
<bb 17> :
# DEBUG BEGIN_STMT
c1 = 8388608;
goto <bb 20>; [INV]
<bb 18> :
# DEBUG BEGIN_STMT
_17 = nDTC[0];
if (_17 == 85)
goto <bb 19>; [INV]
else
goto <bb 24>; [INV]
<bb 19> :
# DEBUG BEGIN_STMT
c1 = 12582912;
<bb 20> :
# DEBUG BEGIN_STMT
_18 = &nDTC + 1;
D.6328 = string_to_int (_18);
c1 = D.6328 + c1;
# DEBUG BEGIN_STMT
if (c1 == dtcc)
goto <bb 21>; [INV]
else
goto <bb 22>; [INV]
<bb 21> :
# DEBUG BEGIN_STMT
_19 = c == 0;
nc = (uint8_t) _19;
# DEBUG BEGIN_STMT
_20 = (int) j;
_21 = DTC_Item._c[_20];
_22 = (int) j;
_23 = nc & _21;
DTC_Item._c[_22] = _23;
# DEBUG BEGIN_STMT
_24 = (int) j;
_25 = DTC_Item_Old._c[_24];
_26 = (int) j;
_27 = nc & _25;
DTC_Item_Old._c[_26] = _27;
# DEBUG BEGIN_STMT
D.6331 = (uint8_t) p;
// predicted unlikely by early return (on trees) predictor.
goto <bb 27>; [INV]
<bb 22> :
# DEBUG BEGIN_STMT
p.31_28 = p;
p = p.31_28 + 1;
# DEBUG BEGIN_STMT
c = c >> 1;
# DEBUG BEGIN_STMT
i.32_29 = i;
i = i.32_29 + 1;
<bb 23> :
# DEBUG BEGIN_STMT
_30 = (short unsigned int) lim;
if (i < _30)
goto <bb 7>; [INV]
else
goto <bb 24>; [INV]
<bb 24> :
# DEBUG BEGIN_STMT
j.33_31 = j;
j = j.33_31 + 1;
<bb 25> :
# DEBUG BEGIN_STMT
if (j <= 7)
goto <bb 3>; [INV]
else
goto <bb 26>; [INV]
<bb 26> :
# DEBUG BEGIN_STMT
D.6331 = 255;
<bb 27> :
nDTC = {CLOBBER};
return D.6331;
}
is_dtc_exist (uint32_t dtcc)
{
uint8_t nDTC[9];
uint32_t c1;
uint8_t lim;
uint16_t p;
uint16_t k;
uint16_t j;
uint16_t i;
uint8_t D.6309;
long unsigned int D.6306;
<bb 2> :
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
k = 0;
# DEBUG BEGIN_STMT
p = 0;
# DEBUG BEGIN_STMT
j = 0;
goto <bb 23>; [INV]
<bb 3> :
# DEBUG BEGIN_STMT
if (j <= 1)
goto <bb 4>; [INV]
else
goto <bb 5>; [INV]
<bb 4> :
# DEBUG BEGIN_STMT
lim = 8;
goto <bb 6>; [INV]
<bb 5> :
# DEBUG BEGIN_STMT
lim = 3;
<bb 6> :
# DEBUG BEGIN_STMT
i = 0;
goto <bb 21>; [INV]
<bb 7> :
# DEBUG BEGIN_STMT
k = 0;
goto <bb 9>; [INV]
<bb 8> :
# DEBUG BEGIN_STMT
_1 = (int) p;
_2 = TFAIL_NAME[_1];
_3 = (sizetype) k;
_4 = _2 + _3;
_5 = (int) k;
_6 = *_4;
nDTC[_5] = _6;
# DEBUG BEGIN_STMT
k.26_7 = k;
k = k.26_7 + 1;
<bb 9> :
# DEBUG BEGIN_STMT
if (k <= 7)
goto <bb 8>; [INV]
else
goto <bb 10>; [INV]
<bb 10> :
# DEBUG BEGIN_STMT
nDTC[8] = 0;
# DEBUG BEGIN_STMT
_8 = nDTC[0];
if (_8 == 80)
goto <bb 11>; [INV]
else
goto <bb 12>; [INV]
<bb 11> :
# DEBUG BEGIN_STMT
c1 = 0;
goto <bb 18>; [INV]
<bb 12> :
# DEBUG BEGIN_STMT
_9 = nDTC[0];
if (_9 == 67)
goto <bb 13>; [INV]
else
goto <bb 14>; [INV]
<bb 13> :
# DEBUG BEGIN_STMT
c1 = 4194304;
goto <bb 18>; [INV]
<bb 14> :
# DEBUG BEGIN_STMT
_10 = nDTC[0];
if (_10 == 66)
goto <bb 15>; [INV]
else
goto <bb 16>; [INV]
<bb 15> :
# DEBUG BEGIN_STMT
c1 = 8388608;
goto <bb 18>; [INV]
<bb 16> :
# DEBUG BEGIN_STMT
_11 = nDTC[0];
if (_11 == 85)
goto <bb 17>; [INV]
else
goto <bb 22>; [INV]
<bb 17> :
# DEBUG BEGIN_STMT
c1 = 12582912;
<bb 18> :
# DEBUG BEGIN_STMT
_12 = &nDTC + 1;
D.6306 = string_to_int (_12);
c1 = D.6306 + c1;
# DEBUG BEGIN_STMT
if (c1 == dtcc)
goto <bb 19>; [INV]
else
goto <bb 20>; [INV]
<bb 19> :
# DEBUG BEGIN_STMT
D.6309 = (uint8_t) p;
// predicted unlikely by early return (on trees) predictor.
goto <bb 25>; [INV]
<bb 20> :
# DEBUG BEGIN_STMT
i.27_13 = i;
i = i.27_13 + 1;
<bb 21> :
# DEBUG BEGIN_STMT
_14 = (short unsigned int) lim;
if (i < _14)
goto <bb 7>; [INV]
else
goto <bb 22>; [INV]
<bb 22> :
# DEBUG BEGIN_STMT
p.28_15 = p;
p = p.28_15 + 1;
# DEBUG BEGIN_STMT
j.29_16 = j;
j = j.29_16 + 1;
<bb 23> :
# DEBUG BEGIN_STMT
if (j <= 7)
goto <bb 3>; [INV]
else
goto <bb 24>; [INV]
<bb 24> :
# DEBUG BEGIN_STMT
D.6309 = 255;
<bb 25> :
nDTC = {CLOBBER};
return D.6309;
}
is_dtc_found (uint32_t dtcc)
{
uint8_t nDTC[9];
uint32_t c1;
uint8_t lim;
uint8_t c;
uint16_t p;
uint16_t k;
uint16_t j;
uint16_t i;
uint8_t D.6290;
long unsigned int D.6287;
<bb 2> :
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
k = 0;
# DEBUG BEGIN_STMT
p = 0;
# DEBUG BEGIN_STMT
j = 0;
goto <bb 25>; [INV]
<bb 3> :
# DEBUG BEGIN_STMT
c = 128;
# DEBUG BEGIN_STMT
if (j <= 1)
goto <bb 4>; [INV]
else
goto <bb 5>; [INV]
<bb 4> :
# DEBUG BEGIN_STMT
lim = 8;
goto <bb 6>; [INV]
<bb 5> :
# DEBUG BEGIN_STMT
lim = 3;
<bb 6> :
# DEBUG BEGIN_STMT
i = 0;
goto <bb 23>; [INV]
<bb 7> :
# DEBUG BEGIN_STMT
_1 = (int) j;
_2 = DTC_Item._c[_1];
_3 = c & _2;
if (_3 != 0)
goto <bb 9>; [INV]
else
goto <bb 8>; [INV]
<bb 8> :
_4 = (int) j;
_5 = DTC_Item_Old._c[_4];
_6 = c & _5;
if (_6 != 0)
goto <bb 9>; [INV]
else
goto <bb 22>; [INV]
<bb 9> :
# DEBUG BEGIN_STMT
k = 0;
goto <bb 11>; [INV]
<bb 10> :
# DEBUG BEGIN_STMT
_7 = (int) p;
_8 = TFAIL_NAME[_7];
_9 = (sizetype) k;
_10 = _8 + _9;
_11 = (int) k;
_12 = *_10;
nDTC[_11] = _12;
# DEBUG BEGIN_STMT
k.22_13 = k;
k = k.22_13 + 1;
<bb 11> :
# DEBUG BEGIN_STMT
if (k <= 7)
goto <bb 10>; [INV]
else
goto <bb 12>; [INV]
<bb 12> :
# DEBUG BEGIN_STMT
nDTC[8] = 0;
# DEBUG BEGIN_STMT
_14 = nDTC[0];
if (_14 == 80)
goto <bb 13>; [INV]
else
goto <bb 14>; [INV]
<bb 13> :
# DEBUG BEGIN_STMT
c1 = 0;
goto <bb 20>; [INV]
<bb 14> :
# DEBUG BEGIN_STMT
_15 = nDTC[0];
if (_15 == 67)
goto <bb 15>; [INV]
else
goto <bb 16>; [INV]
<bb 15> :
# DEBUG BEGIN_STMT
c1 = 4194304;
goto <bb 20>; [INV]
<bb 16> :
# DEBUG BEGIN_STMT
_16 = nDTC[0];
if (_16 == 66)
goto <bb 17>; [INV]
else
goto <bb 18>; [INV]
<bb 17> :
# DEBUG BEGIN_STMT
c1 = 8388608;
goto <bb 20>; [INV]
<bb 18> :
# DEBUG BEGIN_STMT
_17 = nDTC[0];
if (_17 == 85)
goto <bb 19>; [INV]
else
goto <bb 24>; [INV]
<bb 19> :
# DEBUG BEGIN_STMT
c1 = 12582912;
<bb 20> :
# DEBUG BEGIN_STMT
_18 = &nDTC + 1;
D.6287 = string_to_int (_18);
c1 = D.6287 + c1;
# DEBUG BEGIN_STMT
if (c1 == dtcc)
goto <bb 21>; [INV]
else
goto <bb 22>; [INV]
<bb 21> :
# DEBUG BEGIN_STMT
D.6290 = (uint8_t) p;
// predicted unlikely by early return (on trees) predictor.
goto <bb 27>; [INV]
<bb 22> :
# DEBUG BEGIN_STMT
p.23_19 = p;
p = p.23_19 + 1;
# DEBUG BEGIN_STMT
c = c >> 1;
# DEBUG BEGIN_STMT
i.24_20 = i;
i = i.24_20 + 1;
<bb 23> :
# DEBUG BEGIN_STMT
_21 = (short unsigned int) lim;
if (i < _21)
goto <bb 7>; [INV]
else
goto <bb 24>; [INV]
<bb 24> :
# DEBUG BEGIN_STMT
j.25_22 = j;
j = j.25_22 + 1;
<bb 25> :
# DEBUG BEGIN_STMT
if (j <= 7)
goto <bb 3>; [INV]
else
goto <bb 26>; [INV]
<bb 26> :
# DEBUG BEGIN_STMT
D.6290 = 255;
<bb 27> :
nDTC = {CLOBBER};
return D.6290;
}
dtc_count_set ()
{
uint16_t count;
uint16_t j;
uint16_t i;
uint8_t c;
uint16_t D.6269;
<bb 2> :
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
count = 0;
# DEBUG BEGIN_STMT
j = 0;
goto <bb 10>; [INV]
<bb 3> :
# DEBUG BEGIN_STMT
c = 128;
# DEBUG BEGIN_STMT
i = 0;
goto <bb 8>; [INV]
<bb 4> :
# DEBUG BEGIN_STMT
_1 = (int) j;
_2 = DTC_Item._c[_1];
_3 = c & _2;
if (_3 != 0)
goto <bb 6>; [INV]
else
goto <bb 5>; [INV]
<bb 5> :
_4 = (int) j;
_5 = DTC_Item_Old._c[_4];
_6 = c & _5;
if (_6 != 0)
goto <bb 6>; [INV]
else
goto <bb 7>; [INV]
<bb 6> :
# DEBUG BEGIN_STMT
count.19_7 = count;
count = count.19_7 + 1;
<bb 7> :
# DEBUG BEGIN_STMT
c = c >> 1;
# DEBUG BEGIN_STMT
i.20_8 = i;
i = i.20_8 + 1;
<bb 8> :
# DEBUG BEGIN_STMT
if (i <= 7)
goto <bb 4>; [INV]
else
goto <bb 9>; [INV]
<bb 9> :
# DEBUG BEGIN_STMT
j.21_9 = j;
j = j.21_9 + 1;
<bb 10> :
# DEBUG BEGIN_STMT
if (j <= 7)
goto <bb 3>; [INV]
else
goto <bb 11>; [INV]
<bb 11> :
# DEBUG BEGIN_STMT
D.6269 = count;
return D.6269;
}
dtc_send_table_set (uint8_t type)
{
uint8_t DTC_PUSH_OLD[9];
uint8_t DTC_PUSH[9];
uint8_t nDTC[9];
uint32_t c1;
uint8_t a;
uint8_t c;
uint16_t pt;
uint16_t p;
uint16_t k;
uint16_t j;
uint16_t i;
uint16_t D.6263;
long unsigned int D.6254;
<bb 2> :
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
DTC_Item.f.lv = 1;
# DEBUG BEGIN_STMT
DTC_Item.f.hv = 1;
# DEBUG BEGIN_STMT
DTC_Item.f.can_l = 1;
# DEBUG BEGIN_STMT
DTC_Item.f.can_l_busoff = 1;
# DEBUG BEGIN_STMT
DTC_Item.f.can_r = 1;
# DEBUG BEGIN_STMT
DTC_Item.f.can_r_busoff = 1;
# DEBUG BEGIN_STMT
DTC_Item.f.can_ecu = 1;
# DEBUG BEGIN_STMT
DTC_Item.f.can_ecu_busoff = 1;
# DEBUG BEGIN_STMT
DTC_Item.f.d1_oc = 1;
# DEBUG BEGIN_STMT
DTC_Item.f.d1_open_short = 1;
# DEBUG BEGIN_STMT
DTC_Item.f.d1_g_vcc = 1;
# DEBUG BEGIN_STMT
DTC_Item.f.d2_oc = 1;
# DEBUG BEGIN_STMT
DTC_Item.f.d2_open_short = 1;
# DEBUG BEGIN_STMT
DTC_Item.f.d2_g_vcc = 1;
# DEBUG BEGIN_STMT
DTC_Item.f.d3_oc = 1;
# DEBUG BEGIN_STMT
DTC_Item.f.d3_open_short = 1;
# DEBUG BEGIN_STMT
DTC_Item.f.d3_g_vcc = 1;
# DEBUG BEGIN_STMT
DTC_Item.f.d4_oc = 1;
# DEBUG BEGIN_STMT
DTC_Item.f.d4_open_short = 1;
# DEBUG BEGIN_STMT
DTC_Item.f.d4_g_vcc = 1;
# DEBUG BEGIN_STMT
DTC_Item.f.d5_oc = 1;
# DEBUG BEGIN_STMT
DTC_Item.f.d5_open_short = 1;
# DEBUG BEGIN_STMT
DTC_Item.f.d5_g_vcc = 1;
# DEBUG BEGIN_STMT
DTC_Item.f.d6_oc = 1;
# DEBUG BEGIN_STMT
DTC_Item.f.d6_open_short = 1;
# DEBUG BEGIN_STMT
DTC_Item.f.d6_g_vcc = 1;
# DEBUG BEGIN_STMT
i = 0;
goto <bb 4>; [INV]
<bb 3> :
# DEBUG BEGIN_STMT
_1 = (int) i;
_2 = (int) i;
_3 = DTC_Item._c[_1];
DTC_PUSH[_2] = _3;
# DEBUG BEGIN_STMT
_4 = (int) i;
_5 = (int) i;
_6 = DTC_Item_Old._c[_4];
DTC_PUSH_OLD[_5] = _6;
# DEBUG BEGIN_STMT
i.8_7 = i;
i = i.8_7 + 1;
<bb 4> :
# DEBUG BEGIN_STMT
if (i <= 7)
goto <bb 3>; [INV]
else
goto <bb 5>; [INV]
<bb 5> :
# DEBUG BEGIN_STMT
if (type == 10)
goto <bb 6>; [INV]
else
goto <bb 9>; [INV]
<bb 6> :
# DEBUG BEGIN_STMT
i = 0;
goto <bb 8>; [INV]
<bb 7> :
# DEBUG BEGIN_STMT
_8 = (int) i;
DTC_Item._c[_8] = 255;
# DEBUG BEGIN_STMT
_9 = (int) i;
DTC_Item_Old._c[_9] = 255;
# DEBUG BEGIN_STMT
i.9_10 = i;
i = i.9_10 + 1;
<bb 8> :
# DEBUG BEGIN_STMT
if (i <= 7)
goto <bb 7>; [INV]
else
goto <bb 9>; [INV]
<bb 9> :
# DEBUG BEGIN_STMT
i = 0;
goto <bb 11>; [INV]
<bb 10> :
# DEBUG BEGIN_STMT
_11 = (int) i;
TABLE_DTC_SEND[_11] = 0;
# DEBUG BEGIN_STMT
i.10_12 = i;
i = i.10_12 + 1;
<bb 11> :
# DEBUG BEGIN_STMT
if (i <= 199)
goto <bb 10>; [INV]
else
goto <bb 12>; [INV]
<bb 12> :
# DEBUG BEGIN_STMT
k = 0;
# DEBUG BEGIN_STMT
p = 0;
# DEBUG BEGIN_STMT
pt = 0;
# DEBUG BEGIN_STMT
j = 0;
goto <bb 35>; [INV]
<bb 13> :
# DEBUG BEGIN_STMT
c = 128;
# DEBUG BEGIN_STMT
i = 0;
goto <bb 33>; [INV]
<bb 14> :
# DEBUG BEGIN_STMT
_13 = (int) j;
_14 = DTC_Item._c[_13];
_15 = c & _14;
if (_15 != 0)
goto <bb 16>; [INV]
else
goto <bb 15>; [INV]
<bb 15> :
_16 = (int) j;
_17 = DTC_Item_Old._c[_16];
_18 = c & _17;
if (_18 != 0)
goto <bb 16>; [INV]
else
goto <bb 32>; [INV]
<bb 16> :
# DEBUG BEGIN_STMT
k = 0;
goto <bb 18>; [INV]
<bb 17> :
# DEBUG BEGIN_STMT
_19 = (int) p;
_20 = TFAIL_NAME[_19];
_21 = (sizetype) k;
_22 = _20 + _21;
_23 = (int) k;
_24 = *_22;
nDTC[_23] = _24;
# DEBUG BEGIN_STMT
k.11_25 = k;
k = k.11_25 + 1;
<bb 18> :
# DEBUG BEGIN_STMT
if (k <= 7)
goto <bb 17>; [INV]
else
goto <bb 19>; [INV]
<bb 19> :
# DEBUG BEGIN_STMT
nDTC[8] = 0;
# DEBUG BEGIN_STMT
_26 = nDTC[0];
if (_26 == 80)
goto <bb 20>; [INV]
else
goto <bb 21>; [INV]
<bb 20> :
# DEBUG BEGIN_STMT
c1 = 0;
goto <bb 27>; [INV]
<bb 21> :
# DEBUG BEGIN_STMT
_27 = nDTC[0];
if (_27 == 67)
goto <bb 22>; [INV]
else
goto <bb 23>; [INV]
<bb 22> :
# DEBUG BEGIN_STMT
c1 = 4194304;
goto <bb 27>; [INV]
<bb 23> :
# DEBUG BEGIN_STMT
_28 = nDTC[0];
if (_28 == 66)
goto <bb 24>; [INV]
else
goto <bb 25>; [INV]
<bb 24> :
# DEBUG BEGIN_STMT
c1 = 8388608;
goto <bb 27>; [INV]
<bb 25> :
# DEBUG BEGIN_STMT
_29 = nDTC[0];
if (_29 == 85)
goto <bb 26>; [INV]
else
goto <bb 34>; [INV]
<bb 26> :
# DEBUG BEGIN_STMT
c1 = 12582912;
<bb 27> :
# DEBUG BEGIN_STMT
_30 = &nDTC + 1;
D.6254 = string_to_int (_30);
c1 = D.6254 + c1;
# DEBUG BEGIN_STMT
a = 0;
# DEBUG BEGIN_STMT
_31 = (int) j;
_32 = DTC_Item_Old._c[_31];
_33 = c & _32;
if (_33 != 0)
goto <bb 28>; [INV]
else
goto <bb 29>; [INV]
<bb 28> :
# DEBUG BEGIN_STMT
a = a | 8;
<bb 29> :
# DEBUG BEGIN_STMT
_34 = (int) j;
_35 = DTC_Item._c[_34];
_36 = c & _35;
if (_36 != 0)
goto <bb 30>; [INV]
else
goto <bb 31>; [INV]
<bb 30> :
# DEBUG BEGIN_STMT
a = a | 1;
<bb 31> :
# DEBUG BEGIN_STMT
_37 = c1 >> 16;
_38 = (int) pt;
_39 = (unsigned char) _37;
TABLE_DTC_SEND[_38] = _39;
# DEBUG BEGIN_STMT
pt.12_40 = pt;
pt = pt.12_40 + 1;
# DEBUG BEGIN_STMT
_41 = c1 >> 8;
_42 = (int) pt;
_43 = (unsigned char) _41;
TABLE_DTC_SEND[_42] = _43;
# DEBUG BEGIN_STMT
pt.13_44 = pt;
pt = pt.13_44 + 1;
# DEBUG BEGIN_STMT
_45 = (int) pt;
_46 = (unsigned char) c1;
TABLE_DTC_SEND[_45] = _46;
# DEBUG BEGIN_STMT
pt.14_47 = pt;
pt = pt.14_47 + 1;
# DEBUG BEGIN_STMT
_48 = (int) pt;
TABLE_DTC_SEND[_48] = a;
# DEBUG BEGIN_STMT
pt.15_49 = pt;
pt = pt.15_49 + 1;
<bb 32> :
# DEBUG BEGIN_STMT
p.16_50 = p;
p = p.16_50 + 1;
# DEBUG BEGIN_STMT
c = c >> 1;
# DEBUG BEGIN_STMT
i.17_51 = i;
i = i.17_51 + 1;
<bb 33> :
# DEBUG BEGIN_STMT
if (i <= 7)
goto <bb 14>; [INV]
else
goto <bb 34>; [INV]
<bb 34> :
# DEBUG BEGIN_STMT
j.18_52 = j;
j = j.18_52 + 1;
<bb 35> :
# DEBUG BEGIN_STMT
if (j <= 7)
goto <bb 13>; [INV]
else
goto <bb 36>; [INV]
<bb 36> :
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
if (type == 10)
goto <bb 37>; [INV]
else
goto <bb 38>; [INV]
<bb 37> :
# DEBUG BEGIN_STMT
_53 = DTC_PUSH[0];
DTC_Item._c[0] = _53;
# DEBUG BEGIN_STMT
_54 = DTC_PUSH[1];
DTC_Item._c[1] = _54;
# DEBUG BEGIN_STMT
_55 = DTC_PUSH[2];
DTC_Item._c[2] = _55;
# DEBUG BEGIN_STMT
_56 = DTC_PUSH_OLD[0];
DTC_Item_Old._c[0] = _56;
# DEBUG BEGIN_STMT
_57 = DTC_PUSH_OLD[1];
DTC_Item_Old._c[1] = _57;
# DEBUG BEGIN_STMT
_58 = DTC_PUSH_OLD[2];
DTC_Item_Old._c[2] = _58;
<bb 38> :
# DEBUG BEGIN_STMT
_59 = (int) pt;
TABLE_DTC_SEND[_59] = 0;
# DEBUG BEGIN_STMT
D.6263 = pt;
nDTC = {CLOBBER};
DTC_PUSH = {CLOBBER};
DTC_PUSH_OLD = {CLOBBER};
return D.6263;
}
dtc_string_to_code (uint16_t p)
{
uint32_t c1;
uint8_t nDTC[9];
uint16_t k;
uint32_t D.6234;
long unsigned int D.6233;
<bb 2> :
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
c1 = 0;
# DEBUG BEGIN_STMT
k = 0;
goto <bb 4>; [INV]
<bb 3> :
# DEBUG BEGIN_STMT
_1 = (int) p;
_2 = TFAIL_NAME[_1];
_3 = (sizetype) k;
_4 = _2 + _3;
_5 = (int) k;
_6 = *_4;
nDTC[_5] = _6;
# DEBUG BEGIN_STMT
k.7_7 = k;
k = k.7_7 + 1;
<bb 4> :
# DEBUG BEGIN_STMT
if (k <= 7)
goto <bb 3>; [INV]
else
goto <bb 5>; [INV]
<bb 5> :
# DEBUG BEGIN_STMT
nDTC[8] = 0;
# DEBUG BEGIN_STMT
_8 = nDTC[0];
if (_8 == 80)
goto <bb 6>; [INV]
else
goto <bb 7>; [INV]
<bb 6> :
# DEBUG BEGIN_STMT
c1 = 0;
goto <bb 13>; [INV]
<bb 7> :
# DEBUG BEGIN_STMT
_9 = nDTC[0];
if (_9 == 67)
goto <bb 8>; [INV]
else
goto <bb 9>; [INV]
<bb 8> :
# DEBUG BEGIN_STMT
c1 = 4194304;
goto <bb 13>; [INV]
<bb 9> :
# DEBUG BEGIN_STMT
_10 = nDTC[0];
if (_10 == 66)
goto <bb 10>; [INV]
else
goto <bb 11>; [INV]
<bb 10> :
# DEBUG BEGIN_STMT
c1 = 8388608;
goto <bb 13>; [INV]
<bb 11> :
# DEBUG BEGIN_STMT
_11 = nDTC[0];
if (_11 == 85)
goto <bb 12>; [INV]
else
goto <bb 13>; [INV]
<bb 12> :
# DEBUG BEGIN_STMT
c1 = 12582912;
<bb 13> :
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
D.6233 = string_to_int (&nDTC[1]);
c1 = D.6233 + c1;
# DEBUG BEGIN_STMT
D.6234 = c1;
nDTC = {CLOBBER};
return D.6234;
}
dtc_write ()
{
volatile vuint8_t * p;
uint32_t ps;
volatile vuint32_t data[3];
uint32_t k;
uint32_t i;
<bb 2> :
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
ps = 8421392;
# DEBUG BEGIN_STMT
_1 = DTC_Item._c[0];
_2 = (long unsigned int) _1;
data[0] = _2;
# DEBUG BEGIN_STMT
_3 = data[0];
_4 = _3 << 8;
data[0] = _4;
# DEBUG BEGIN_STMT
_5 = data[0];
_6 = DTC_Item._c[1];
_7 = (long unsigned int) _6;
_8 = _5 + _7;
data[0] = _8;
# DEBUG BEGIN_STMT
_9 = data[0];
_10 = _9 << 8;
data[0] = _10;
# DEBUG BEGIN_STMT
_11 = data[0];
_12 = DTC_Item._c[2];
_13 = (long unsigned int) _12;
_14 = _11 + _13;
data[0] = _14;
# DEBUG BEGIN_STMT
_15 = data[0];
_16 = _15 << 8;
data[0] = _16;
# DEBUG BEGIN_STMT
_17 = data[0];
_18 = DTC_Item._c[3];
_19 = (long unsigned int) _18;
_20 = _17 + _19;
data[0] = _20;
# DEBUG BEGIN_STMT
_21 = DTC_Item._c[4];
_22 = (long unsigned int) _21;
data[1] = _22;
# DEBUG BEGIN_STMT
_23 = data[1];
_24 = _23 << 8;
data[1] = _24;
# DEBUG BEGIN_STMT
_25 = data[1];
_26 = DTC_Item._c[5];
_27 = (long unsigned int) _26;
_28 = _25 + _27;
data[1] = _28;
# DEBUG BEGIN_STMT
_29 = data[1];
_30 = _29 << 8;
data[1] = _30;
# DEBUG BEGIN_STMT
_31 = data[1];
_32 = DTC_Item._c[6];
_33 = (long unsigned int) _32;
_34 = _31 + _33;
data[1] = _34;
# DEBUG BEGIN_STMT
_35 = data[1];
_36 = _35 << 8;
data[1] = _36;
# DEBUG BEGIN_STMT
_37 = data[1];
_38 = DTC_Item._c[7];
_39 = (long unsigned int) _38;
_40 = _37 + _39;
data[1] = _40;
# DEBUG BEGIN_STMT
ps = 8421400;
# DEBUG BEGIN_STMT
_41 = DTC_Item_Old._c[0];
_42 = (long unsigned int) _41;
data[0] = _42;
# DEBUG BEGIN_STMT
_43 = data[0];
_44 = _43 << 8;
data[0] = _44;
# DEBUG BEGIN_STMT
_45 = data[0];
_46 = DTC_Item_Old._c[1];
_47 = (long unsigned int) _46;
_48 = _45 + _47;
data[0] = _48;
# DEBUG BEGIN_STMT
_49 = data[0];
_50 = _49 << 8;
data[0] = _50;
# DEBUG BEGIN_STMT
_51 = data[0];
_52 = DTC_Item_Old._c[2];
_53 = (long unsigned int) _52;
_54 = _51 + _53;
data[0] = _54;
# DEBUG BEGIN_STMT
_55 = data[0];
_56 = _55 << 8;
data[0] = _56;
# DEBUG BEGIN_STMT
_57 = data[0];
_58 = DTC_Item_Old._c[3];
_59 = (long unsigned int) _58;
_60 = _57 + _59;
data[0] = _60;
# DEBUG BEGIN_STMT
_61 = DTC_Item_Old._c[4];
_62 = (long unsigned int) _61;
data[1] = _62;
# DEBUG BEGIN_STMT
_63 = data[1];
_64 = _63 << 8;
data[1] = _64;
# DEBUG BEGIN_STMT
_65 = data[1];
_66 = DTC_Item_Old._c[5];
_67 = (long unsigned int) _66;
_68 = _65 + _67;
data[1] = _68;
# DEBUG BEGIN_STMT
_69 = data[1];
_70 = _69 << 8;
data[1] = _70;
# DEBUG BEGIN_STMT
_71 = data[1];
_72 = DTC_Item_Old._c[6];
_73 = (long unsigned int) _72;
_74 = _71 + _73;
data[1] = _74;
# DEBUG BEGIN_STMT
_75 = data[1];
_76 = _75 << 8;
data[1] = _76;
# DEBUG BEGIN_STMT
_77 = data[1];
_78 = DTC_Item_Old._c[7];
_79 = (long unsigned int) _78;
_80 = _77 + _79;
data[1] = _80;
# DEBUG BEGIN_STMT
data[0] = 10002;
# DEBUG BEGIN_STMT
data[1] = 10003;
# DEBUG BEGIN_STMT
ps = 8421504;
# DEBUG BEGIN_STMT
programDword_data_flash (ps, &data);
# DEBUG BEGIN_STMT
i = 0;
goto <bb 4>; [INV]
<bb 3> :
# DEBUG BEGIN_STMT
_81 = DTC_Item._c[i];
DTC_Item_wr._c[i] = _81;
# DEBUG BEGIN_STMT
_82 = DTC_Item_Old._c[i];
DTC_Item_wr_Old._c[i] = _82;
# DEBUG BEGIN_STMT
i = i + 1;
<bb 4> :
# DEBUG BEGIN_STMT
if (i <= 7)
goto <bb 3>; [INV]
else
goto <bb 5>; [INV]
<bb 5> :
return;
}
dtc_control ()
{
uint8_t wr;
uint8_t i;
<bb 2> :
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_1 = uds.session;
if (_1 <= 1)
goto <bb 3>; [INV]
else
goto <bb 4>; [INV]
<bb 3> :
# DEBUG BEGIN_STMT
uds.dtc_check_inhibit = 0;
<bb 4> :
# DEBUG BEGIN_STMT
CAN_DTC_Data_Set (&DTC_Item, &DTC_Item_Old);
# DEBUG BEGIN_STMT
wr = 0;
# DEBUG BEGIN_STMT
i = 0;
goto <bb 10>; [INV]
<bb 5> :
# DEBUG BEGIN_STMT
_2 = (int) i;
_3 = DTC_Item._c[_2];
_4 = (int) i;
_5 = DTC_Item_wr._c[_4];
if (_3 != _5)
goto <bb 6>; [INV]
else
goto <bb 7>; [INV]
<bb 6> :
# DEBUG BEGIN_STMT
wr.4_6 = wr;
wr = wr.4_6 + 1;
<bb 7> :
# DEBUG BEGIN_STMT
_7 = (int) i;
_8 = DTC_Item_Old._c[_7];
_9 = (int) i;
_10 = DTC_Item_wr_Old._c[_9];
if (_8 != _10)
goto <bb 8>; [INV]
else
goto <bb 9>; [INV]
<bb 8> :
# DEBUG BEGIN_STMT
wr.5_11 = wr;
wr = wr.5_11 + 1;
<bb 9> :
# DEBUG BEGIN_STMT
_12 = (int) i;
_13 = DTC_Item_Old._c[_12];
_14 = (int) i;
_15 = DTC_Item._c[_14];
_16 = (int) i;
_17 = _13 | _15;
DTC_Item_Old._c[_16] = _17;
# DEBUG BEGIN_STMT
i.6_18 = i;
i = i.6_18 + 1;
<bb 10> :
# DEBUG BEGIN_STMT
if (i <= 7)
goto <bb 5>; [INV]
else
goto <bb 11>; [INV]
<bb 11> :
# DEBUG BEGIN_STMT
if (wr != 0)
goto <bb 12>; [INV]
else
goto <bb 14>; [INV]
<bb 12> :
_19 = uds.timeout;
if (_19 == 0)
goto <bb 13>; [INV]
else
goto <bb 14>; [INV]
<bb 13> :
# DEBUG BEGIN_STMT
dtc_write ();
<bb 14> :
return;
}
dtc_read ()
{
volatile vuint32_t sign;
volatile vuint32_t buf[8];
volatile vuint32_t * p;
uint32_t n;
uint32_t i;
uint32_t add;
<bb 2> :
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
p = 8421504B;
# DEBUG BEGIN_STMT
i = 0;
goto <bb 4>; [INV]
<bb 3> :
# DEBUG BEGIN_STMT
p.1_1 = p;
p = p.1_1 + 4;
_2 = *p.1_1;
buf[i] = _2;
# DEBUG BEGIN_STMT
i = i + 1;
<bb 4> :
# DEBUG BEGIN_STMT
if (i <= 3)
goto <bb 3>; [INV]
else
goto <bb 5>; [INV]
<bb 5> :
# DEBUG BEGIN_STMT
_3 = buf[0];
if (_3 != 10002)
goto <bb 6>; [INV]
else
goto <bb 7>; [INV]
<bb 6> :
# DEBUG BEGIN_STMT
monprintf ("DTC SIGN fail clear\n\r");
# DEBUG BEGIN_STMT
dtc_clear ();
goto <bb 8>; [INV]
<bb 7> :
# DEBUG BEGIN_STMT
monprintf ("DTC SIGN ok\n\r");
<bb 8> :
# DEBUG BEGIN_STMT
p = 8421392B;
# DEBUG BEGIN_STMT
i = 0;
goto <bb 10>; [INV]
<bb 9> :
# DEBUG BEGIN_STMT
p.2_4 = p;
p = p.2_4 + 4;
_5 = *p.2_4;
buf[i] = _5;
# DEBUG BEGIN_STMT
i = i + 1;
<bb 10> :
# DEBUG BEGIN_STMT
if (i <= 7)
goto <bb 9>; [INV]
else
goto <bb 11>; [INV]
<bb 11> :
# DEBUG BEGIN_STMT
p = 8421392B;
# DEBUG BEGIN_STMT
i = 0;
goto <bb 13>; [INV]
<bb 12> :
# DEBUG BEGIN_STMT
p.3_6 = p;
p = p.3_6 + 4;
_7 = *p.3_6;
buf[i] = _7;
# DEBUG BEGIN_STMT
i = i + 1;
<bb 13> :
# DEBUG BEGIN_STMT
if (i <= 7)
goto <bb 12>; [INV]
else
goto <bb 14>; [INV]
<bb 14> :
# DEBUG BEGIN_STMT
_8 = buf[0];
_9 = buf[1];
_10 = buf[2];
_11 = buf[3];
monprintf ("\n\rDTC :%08X,%08X,%08X,%08X\n\r", _8, _9, _10, _11);
# DEBUG BEGIN_STMT
_12 = buf[0];
_13 = _12 >> 24;
_14 = (unsigned char) _13;
DTC_Item._c[0] = _14;
# DEBUG BEGIN_STMT
_15 = buf[0];
_16 = _15 >> 16;
_17 = (unsigned char) _16;
DTC_Item._c[1] = _17;
# DEBUG BEGIN_STMT
_18 = buf[0];
_19 = _18 >> 8;
_20 = (unsigned char) _19;
DTC_Item._c[2] = _20;
# DEBUG BEGIN_STMT
_21 = buf[0];
_22 = (unsigned char) _21;
DTC_Item._c[3] = _22;
# DEBUG BEGIN_STMT
_23 = buf[1];
_24 = _23 >> 24;
_25 = (unsigned char) _24;
DTC_Item._c[4] = _25;
# DEBUG BEGIN_STMT
_26 = buf[1];
_27 = _26 >> 16;
_28 = (unsigned char) _27;
DTC_Item._c[5] = _28;
# DEBUG BEGIN_STMT
_29 = buf[1];
_30 = _29 >> 8;
_31 = (unsigned char) _30;
DTC_Item._c[6] = _31;
# DEBUG BEGIN_STMT
_32 = buf[1];
_33 = (unsigned char) _32;
DTC_Item._c[7] = _33;
# DEBUG BEGIN_STMT
_34 = buf[2];
_35 = _34 >> 24;
_36 = (unsigned char) _35;
DTC_Item_Old._c[0] = _36;
# DEBUG BEGIN_STMT
_37 = buf[2];
_38 = _37 >> 16;
_39 = (unsigned char) _38;
DTC_Item_Old._c[1] = _39;
# DEBUG BEGIN_STMT
_40 = buf[2];
_41 = _40 >> 8;
_42 = (unsigned char) _41;
DTC_Item_Old._c[2] = _42;
# DEBUG BEGIN_STMT
_43 = buf[2];
_44 = (unsigned char) _43;
DTC_Item_Old._c[3] = _44;
# DEBUG BEGIN_STMT
_45 = buf[3];
_46 = _45 >> 24;
_47 = (unsigned char) _46;
DTC_Item_Old._c[4] = _47;
# DEBUG BEGIN_STMT
_48 = buf[3];
_49 = _48 >> 16;
_50 = (unsigned char) _49;
DTC_Item_Old._c[5] = _50;
# DEBUG BEGIN_STMT
_51 = buf[3];
_52 = _51 >> 8;
_53 = (unsigned char) _52;
DTC_Item_Old._c[6] = _53;
# DEBUG BEGIN_STMT
_54 = buf[3];
_55 = (unsigned char) _54;
DTC_Item_Old._c[7] = _55;
# DEBUG BEGIN_STMT
OutStr ("DTC_Item:");
# DEBUG BEGIN_STMT
i = 0;
goto <bb 16>; [INV]
<bb 15> :
# DEBUG BEGIN_STMT
_56 = DTC_Item._c[i];
put_charp (_56);
# DEBUG BEGIN_STMT
i = i + 1;
<bb 16> :
# DEBUG BEGIN_STMT
if (i <= 7)
goto <bb 15>; [INV]
else
goto <bb 17>; [INV]
<bb 17> :
# DEBUG BEGIN_STMT
put_cr ();
# DEBUG BEGIN_STMT
OutStr ("DTC_Item_Old:");
# DEBUG BEGIN_STMT
i = 0;
goto <bb 19>; [INV]
<bb 18> :
# DEBUG BEGIN_STMT
_57 = DTC_Item_Old._c[i];
put_charp (_57);
# DEBUG BEGIN_STMT
i = i + 1;
<bb 19> :
# DEBUG BEGIN_STMT
if (i <= 7)
goto <bb 18>; [INV]
else
goto <bb 20>; [INV]
<bb 20> :
# DEBUG BEGIN_STMT
put_cr ();
# DEBUG BEGIN_STMT
i = 0;
goto <bb 22>; [INV]
<bb 21> :
# DEBUG BEGIN_STMT
_58 = DTC_Item._c[i];
DTC_Item_wr._c[i] = _58;
# DEBUG BEGIN_STMT
_59 = DTC_Item_Old._c[i];
DTC_Item_wr_Old._c[i] = _59;
# DEBUG BEGIN_STMT
_60 = DTC_Item._c[i];
DTC_Item_event._c[i] = _60;
# DEBUG BEGIN_STMT
DTC_Item_new._c[i] = 0;
# DEBUG BEGIN_STMT
i = i + 1;
<bb 22> :
# DEBUG BEGIN_STMT
if (i <= 7)
goto <bb 21>; [INV]
else
goto <bb 23>; [INV]
<bb 23> :
return;
}
dtc_clear ()
{
uint8_t i;
<bb 2> :
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
i = 0;
goto <bb 4>; [INV]
<bb 3> :
# DEBUG BEGIN_STMT
_1 = (int) i;
DTC_Item._c[_1] = 0;
# DEBUG BEGIN_STMT
_2 = (int) i;
DTC_Item_Old._c[_2] = 0;
# DEBUG BEGIN_STMT
_3 = (int) i;
DTC_Item_event._c[_3] = 0;
# DEBUG BEGIN_STMT
_4 = (int) i;
DTC_Item_new._c[_4] = 0;
# DEBUG BEGIN_STMT
i.0_5 = i;
i = i.0_5 + 1;
<bb 4> :
# DEBUG BEGIN_STMT
if (i <= 7)
goto <bb 3>; [INV]
else
goto <bb 5>; [INV]
<bb 5> :
# DEBUG BEGIN_STMT
dtc_write ();
return;
}
write_DTC_to_EEP (uint8_t dp)
{
<bb 2> :
# DEBUG BEGIN_STMT
return;
}
CAN_DTC_Data_Set (union _DTC_Items_Type_ * pX, union _DTC_Items_Type_ * pX_old)
{
<bb 2> :
# DEBUG BEGIN_STMT
_1 = uds.dtc_check_inhibit;
if (_1 == 1)
goto <bb 3>; [INV]
else
goto <bb 4>; [INV]
<bb 3> :
# DEBUG BEGIN_STMT
// predicted unlikely by early return (on trees) predictor.
<bb 4> :
return;
}