ADM/GW/Debug_FLASH/src/uds/uds_table.c.016i.visibility
3minbe f7e8a96a61 1.주행안전 시나리오 기반 로직 최신화
2.주행안전 시나리오 기반 VCU CAN 수정
3.주행안전 시나리오 기반 DBC 최신화
2025-07-16 17:20:17 +09:00

1582 lines
32 KiB
Plaintext

Marking local functions:
Marking externally visible functions: init_table_setup read_sign_cs table_read table_write read_table_n write_table_n table_did_maping_write table_did_maping
Marking externally visible variables: EEP_ADDR_TABLE RID_28 RID_27 RID_26 RID_25 RID_24 RID_23 RID_22 RID_21 RID_20 RID_1F RID_1E RID_1D RID_1C RID_1B RID_1A RID_19 RID_18 RID_17 RID_16 RID_15 RID_14 RID_13 RID_12 RID_11 RID_10 TABLE_SUPPLYER_HW_NO_ASC TABLE_SUPPLYER_SW_NO_ASC TABLE_ECU_DATE_BCD TABLE_OEM_PN_ASCII TABLE_DTC_SEND dflash_buf
Reclaiming functions:
Reclaiming variables:
Clearing address taken flags:
Symbol table:
dtc_read/45 (dtc_read) @06b15c40
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: init_table_setup/42
Calls:
programDword_data_flash/44 (programDword_data_flash) @06b15460
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: table_write/39 write_table_n/37
Calls:
monprintf/43 (monprintf) @06b152a0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: read_sign_cs/41 read_sign_cs/41 read_sign_cs/41 read_table_n/38 write_table_n/37
Calls:
init_table_setup/42 (init_table_setup) @06af7460
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: body optimize_size
Called by:
Calls: dtc_read/45 read_sign_cs/41 table_write/39 table_read/40 read_sign_cs/41 table_read/40 read_sign_cs/41
read_sign_cs/41 (read_sign_cs) @06af71c0
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: body optimize_size
Called by: init_table_setup/42 init_table_setup/42 init_table_setup/42
Calls: monprintf/43 monprintf/43 monprintf/43
table_read/40 (table_read) @06aa8ee0
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: body optimize_size
Called by: init_table_setup/42 init_table_setup/42
Calls: read_table_n/38
table_write/39 (table_write) @06aa89a0
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: body optimize_size
Called by: init_table_setup/42
Calls: programDword_data_flash/44 write_table_n/37
read_table_n/38 (read_table_n) @06aa80e0
Type: function definition analyzed
Visibility: externally_visible public
References: EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)
Referring:
Availability: available
Function flags: body optimize_size
Called by: table_read/40
Calls: monprintf/43
write_table_n/37 (write_table_n) @06aa8e00
Type: function definition analyzed
Visibility: externally_visible public
References: EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)
Referring:
Availability: available
Function flags: body optimize_size
Called by: table_write/39
Calls: programDword_data_flash/44 monprintf/43
table_did_maping_write/36 (table_did_maping_write) @06aa8b60
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: body optimize_size
Called by:
Calls:
table_did_maping/35 (table_did_maping) @06aa88c0
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: body optimize_size
Called by:
Calls:
EEP_ADDR_TABLE/34 (EEP_ADDR_TABLE) @06aa3bd0
Type: variable definition analyzed
Visibility: externally_visible public
References: TABLE_OEM_PN_ASCII/5 (addr)TABLE_ECU_DATE_BCD/6 (addr)TABLE_SUPPLYER_SW_NO_ASC/7 (addr)TABLE_SUPPLYER_HW_NO_ASC/8 (addr)RID_10/9 (addr)RID_11/10 (addr)RID_12/11 (addr)RID_13/12 (addr)RID_14/13 (addr)RID_15/14 (addr)RID_16/15 (addr)RID_17/16 (addr)RID_18/17 (addr)RID_19/18 (addr)RID_1A/19 (addr)RID_1B/20 (addr)RID_1C/21 (addr)RID_1D/22 (addr)RID_1E/23 (addr)RID_1F/24 (addr)RID_20/25 (addr)RID_21/26 (addr)RID_22/27 (addr)RID_23/28 (addr)RID_24/29 (addr)RID_25/30 (addr)RID_26/31 (addr)RID_27/32 (addr)RID_28/33 (addr)
Referring: write_table_n/37 (read)write_table_n/37 (read)write_table_n/37 (read)write_table_n/37 (read)write_table_n/37 (read)write_table_n/37 (read)write_table_n/37 (read)write_table_n/37 (read)write_table_n/37 (read)write_table_n/37 (read)read_table_n/38 (read)read_table_n/38 (read)read_table_n/38 (read)read_table_n/38 (read)read_table_n/38 (read)read_table_n/38 (read)read_table_n/38 (read)read_table_n/38 (read)read_table_n/38 (read)read_table_n/38 (read)read_table_n/38 (read)
Availability: available
Varpool flags: initialized read-only const-value-known
RID_28/33 (RID_28) @06aa32d0
Type: variable definition analyzed
Visibility: externally_visible public
References:
Referring: EEP_ADDR_TABLE/34 (addr)
Availability: available
Varpool flags:
RID_27/32 (RID_27) @06aa3288
Type: variable definition analyzed
Visibility: externally_visible public
References:
Referring: EEP_ADDR_TABLE/34 (addr)
Availability: available
Varpool flags:
RID_26/31 (RID_26) @06aa3240
Type: variable definition analyzed
Visibility: externally_visible public
References:
Referring: EEP_ADDR_TABLE/34 (addr)
Availability: available
Varpool flags:
RID_25/30 (RID_25) @06aa31f8
Type: variable definition analyzed
Visibility: externally_visible public
References:
Referring: EEP_ADDR_TABLE/34 (addr)
Availability: available
Varpool flags:
RID_24/29 (RID_24) @06aa31b0
Type: variable definition analyzed
Visibility: externally_visible public
References:
Referring: EEP_ADDR_TABLE/34 (addr)
Availability: available
Varpool flags:
RID_23/28 (RID_23) @06aa3168
Type: variable definition analyzed
Visibility: externally_visible public
References:
Referring: EEP_ADDR_TABLE/34 (addr)
Availability: available
Varpool flags:
RID_22/27 (RID_22) @06aa3120
Type: variable definition analyzed
Visibility: externally_visible public
References:
Referring: EEP_ADDR_TABLE/34 (addr)
Availability: available
Varpool flags:
RID_21/26 (RID_21) @06aa30d8
Type: variable definition analyzed
Visibility: externally_visible public
References:
Referring: EEP_ADDR_TABLE/34 (addr)
Availability: available
Varpool flags:
RID_20/25 (RID_20) @06aa3090
Type: variable definition analyzed
Visibility: externally_visible public
References:
Referring: EEP_ADDR_TABLE/34 (addr)
Availability: available
Varpool flags:
RID_1F/24 (RID_1F) @06aa3048
Type: variable definition analyzed
Visibility: externally_visible public
References:
Referring: EEP_ADDR_TABLE/34 (addr)
Availability: available
Varpool flags:
RID_1E/23 (RID_1E) @06aa3000
Type: variable definition analyzed
Visibility: externally_visible public
References:
Referring: EEP_ADDR_TABLE/34 (addr)
Availability: available
Varpool flags:
RID_1D/22 (RID_1D) @06a9ca68
Type: variable definition analyzed
Visibility: externally_visible public
References:
Referring: EEP_ADDR_TABLE/34 (addr)
Availability: available
Varpool flags:
RID_1C/21 (RID_1C) @06a9cf78
Type: variable definition analyzed
Visibility: externally_visible public
References:
Referring: EEP_ADDR_TABLE/34 (addr)
Availability: available
Varpool flags:
RID_1B/20 (RID_1B) @06a9cf30
Type: variable definition analyzed
Visibility: externally_visible public
References:
Referring: EEP_ADDR_TABLE/34 (addr)
Availability: available
Varpool flags:
RID_1A/19 (RID_1A) @06a9cee8
Type: variable definition analyzed
Visibility: externally_visible public
References:
Referring: EEP_ADDR_TABLE/34 (addr)
Availability: available
Varpool flags:
RID_19/18 (RID_19) @06a9cea0
Type: variable definition analyzed
Visibility: externally_visible public
References:
Referring: EEP_ADDR_TABLE/34 (addr)
Availability: available
Varpool flags:
RID_18/17 (RID_18) @06a9ce58
Type: variable definition analyzed
Visibility: externally_visible public
References:
Referring: EEP_ADDR_TABLE/34 (addr)
Availability: available
Varpool flags:
RID_17/16 (RID_17) @06a9ce10
Type: variable definition analyzed
Visibility: externally_visible public
References:
Referring: EEP_ADDR_TABLE/34 (addr)
Availability: available
Varpool flags:
RID_16/15 (RID_16) @06a9cdc8
Type: variable definition analyzed
Visibility: externally_visible public
References:
Referring: EEP_ADDR_TABLE/34 (addr)
Availability: available
Varpool flags:
RID_15/14 (RID_15) @06a9cd80
Type: variable definition analyzed
Visibility: externally_visible public
References:
Referring: EEP_ADDR_TABLE/34 (addr)
Availability: available
Varpool flags:
RID_14/13 (RID_14) @06a9cd38
Type: variable definition analyzed
Visibility: externally_visible public
References:
Referring: EEP_ADDR_TABLE/34 (addr)
Availability: available
Varpool flags:
RID_13/12 (RID_13) @06a9ccf0
Type: variable definition analyzed
Visibility: externally_visible public
References:
Referring: EEP_ADDR_TABLE/34 (addr)
Availability: available
Varpool flags:
RID_12/11 (RID_12) @06a9cca8
Type: variable definition analyzed
Visibility: externally_visible public
References:
Referring: EEP_ADDR_TABLE/34 (addr)
Availability: available
Varpool flags:
RID_11/10 (RID_11) @06a9cc60
Type: variable definition analyzed
Visibility: externally_visible public
References:
Referring: EEP_ADDR_TABLE/34 (addr)
Availability: available
Varpool flags:
RID_10/9 (RID_10) @06a9cc18
Type: variable definition analyzed
Visibility: externally_visible public
References:
Referring: EEP_ADDR_TABLE/34 (addr)
Availability: available
Varpool flags:
TABLE_SUPPLYER_HW_NO_ASC/8 (TABLE_SUPPLYER_HW_NO_ASC) @06a9cbd0
Type: variable definition analyzed
Visibility: externally_visible public
References:
Referring: EEP_ADDR_TABLE/34 (addr)
Availability: available
Varpool flags: initialized
TABLE_SUPPLYER_SW_NO_ASC/7 (TABLE_SUPPLYER_SW_NO_ASC) @06a9cb88
Type: variable definition analyzed
Visibility: externally_visible public
References:
Referring: EEP_ADDR_TABLE/34 (addr)
Availability: available
Varpool flags: initialized
TABLE_ECU_DATE_BCD/6 (TABLE_ECU_DATE_BCD) @06a9cb40
Type: variable definition analyzed
Visibility: externally_visible public
References:
Referring: EEP_ADDR_TABLE/34 (addr)
Availability: available
Varpool flags: initialized
TABLE_OEM_PN_ASCII/5 (TABLE_OEM_PN_ASCII) @06a9caf8
Type: variable definition analyzed
Visibility: externally_visible public
References:
Referring: EEP_ADDR_TABLE/34 (addr)
Availability: available
Varpool flags: initialized
TABLE_DTC_SEND/4 (TABLE_DTC_SEND) @06a9cab0
Type: variable definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Varpool flags: initialized
dflash_buf/3 (dflash_buf) @06a9ca20
Type: variable definition analyzed
Visibility: force_output externally_visible public
References:
Referring:
Availability: available
Varpool flags: initialized
init_table_setup ()
{
<bb 2> :
# DEBUG BEGIN_STMT
_1 = read_sign_cs ();
if (_1 == 1)
goto <bb 3>; [INV]
else
goto <bb 4>; [INV]
<bb 3> :
# DEBUG BEGIN_STMT
table_read (0);
goto <bb 7>; [INV]
<bb 4> :
# DEBUG BEGIN_STMT
_2 = read_sign_cs ();
if (_2 == 1)
goto <bb 5>; [INV]
else
goto <bb 6>; [INV]
<bb 5> :
# DEBUG BEGIN_STMT
table_read (0);
goto <bb 7>; [INV]
<bb 6> :
# DEBUG BEGIN_STMT
table_write (0);
# DEBUG BEGIN_STMT
read_sign_cs ();
<bb 7> :
# DEBUG BEGIN_STMT
dtc_read ();
return;
}
read_sign_cs ()
{
volatile vuint32_t sign;
volatile vuint32_t buf[8];
volatile vuint32_t * p;
uint32_t i;
int16_t D.6227;
<bb 2> :
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
p = 8388624B;
# DEBUG BEGIN_STMT
i = 0;
goto <bb 4>; [INV]
<bb 3> :
# DEBUG BEGIN_STMT
p.27_1 = p;
p = p.27_1 + 4;
_2 = *p.27_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];
_4 = buf[1];
_5 = buf[2];
_6 = buf[3];
monprintf ("\n\r%08X,%08X,%08X,%08X\n\r", _3, _4, _5, _6);
# DEBUG BEGIN_STMT
_7 = buf[1];
if (_7 == 1008)
goto <bb 6>; [INV]
else
goto <bb 7>; [INV]
<bb 6> :
# DEBUG BEGIN_STMT
monprintf ("sign ok \n\r");
# DEBUG BEGIN_STMT
D.6227 = 1;
// predicted unlikely by early return (on trees) predictor.
goto <bb 8>; [INV]
<bb 7> :
# DEBUG BEGIN_STMT
monprintf ("sign FAIL\n\n\r");
# DEBUG BEGIN_STMT
D.6227 = -1;
// predicted unlikely by early return (on trees) predictor.
<bb 8> :
return D.6227;
}
table_read (uint16_t block)
{
uint8_t i;
int16_t D.6223;
<bb 2> :
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
if (block == 0)
goto <bb 3>; [INV]
else
goto <bb 6>; [INV]
<bb 3> :
# DEBUG BEGIN_STMT
i = 0;
goto <bb 5>; [INV]
<bb 4> :
# DEBUG BEGIN_STMT
_1 = (short unsigned int) i;
read_table_n (_1);
# DEBUG BEGIN_STMT
i.26_2 = i;
i = i.26_2 + 1;
<bb 5> :
# DEBUG BEGIN_STMT
if (i <= 28)
goto <bb 4>; [INV]
else
goto <bb 6>; [INV]
<bb 6> :
# DEBUG BEGIN_STMT
D.6223 = 0;
return D.6223;
}
table_write (uint16_t block)
{
volatile vuint32_t p;
volatile vuint32_t t[2];
uint16_t i;
int16_t D.6219;
<bb 2> :
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
i = 0;
goto <bb 4>; [INV]
<bb 3> :
# DEBUG BEGIN_STMT
write_table_n (i);
# DEBUG BEGIN_STMT
i.24_1 = i;
i = i.24_1 + 1;
<bb 4> :
# DEBUG BEGIN_STMT
if (i <= 28)
goto <bb 3>; [INV]
else
goto <bb 5>; [INV]
<bb 5> :
# DEBUG BEGIN_STMT
t[0] = 2882400085;
# DEBUG BEGIN_STMT
t[1] = 1008;
# DEBUG BEGIN_STMT
p = 8388624;
# DEBUG BEGIN_STMT
p.25_2 = p;
i = programDword_data_flash (p.25_2, &t);
# DEBUG BEGIN_STMT
D.6219 = 0;
return D.6219;
}
read_table_n (uint16_t n)
{
volatile vuint8_t * pd1;
volatile vuint16_t * pd2;
volatile vuint32_t * pd4;
volatile vuint32_t * ps;
uint32_t t[2];
unsigned int k;
unsigned int wr;
unsigned int wrlen;
unsigned int rdlen;
unsigned int i;
<bb 2> :
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
if (n > 28)
goto <bb 3>; [INV]
else
goto <bb 4>; [INV]
<bb 3> :
# DEBUG BEGIN_STMT
_1 = (int) n;
monprintf ("table over %d\n\r", _1);
# DEBUG BEGIN_STMT
// predicted unlikely by early return (on trees) predictor.
goto <bb 26>; [INV]
<bb 4> :
# DEBUG BEGIN_STMT
_2 = (int) n;
_3 = EEP_ADDR_TABLE[_2][0];
if (_3 == 65535)
goto <bb 5>; [INV]
else
goto <bb 6>; [INV]
<bb 5> :
# DEBUG BEGIN_STMT
// predicted unlikely by early return (on trees) predictor.
goto <bb 26>; [INV]
<bb 6> :
# DEBUG BEGIN_STMT
_4 = (int) n;
_5 = EEP_ADDR_TABLE[_4][7];
if (_5 != 1)
goto <bb 7>; [INV]
else
goto <bb 8>; [INV]
<bb 7> :
# DEBUG BEGIN_STMT
// predicted unlikely by early return (on trees) predictor.
goto <bb 26>; [INV]
<bb 8> :
# DEBUG BEGIN_STMT
_6 = (int) n;
_7 = EEP_ADDR_TABLE[_6][4];
if (_7 == 7)
goto <bb 9>; [INV]
else
goto <bb 10>; [INV]
<bb 9> :
# DEBUG BEGIN_STMT
// predicted unlikely by early return (on trees) predictor.
goto <bb 26>; [INV]
<bb 10> :
# DEBUG BEGIN_STMT
_8 = (int) n;
rdlen = EEP_ADDR_TABLE[_8][1];
# DEBUG BEGIN_STMT
rdlen = rdlen >> 2;
# DEBUG BEGIN_STMT
_9 = (int) n;
wrlen = EEP_ADDR_TABLE[_9][2];
# DEBUG BEGIN_STMT
_10 = (int) n;
_11 = EEP_ADDR_TABLE[_10][0];
_12 = _11 + 8388608;
ps = (volatile vuint32_t *) _12;
# DEBUG BEGIN_STMT
wr = 0;
# DEBUG BEGIN_STMT
_13 = (int) n;
_14 = EEP_ADDR_TABLE[_13][4];
_15 = _14 + 4294967294;
if (_15 <= 1)
goto <bb 11>; [INV]
else
goto <bb 15>; [INV]
<bb 11> :
# DEBUG BEGIN_STMT
wrlen = wrlen >> 1;
# DEBUG BEGIN_STMT
_16 = (int) n;
_17 = EEP_ADDR_TABLE[_16][3];
pd2 = (volatile vuint16_t *) _17;
# DEBUG BEGIN_STMT
goto <bb 14>; [INV]
<bb 12> :
# DEBUG BEGIN_STMT
ps.14_18 = ps;
ps = ps.14_18 + 4;
k = *ps.14_18;
# DEBUG BEGIN_STMT
_19 = k >> 16;
wr.15_20 = wr;
wr = wr.15_20 + 1;
_21 = wr.15_20 * 2;
_22 = pd2 + _21;
_23 = (short unsigned int) _19;
*_22 = _23;
# DEBUG BEGIN_STMT
if (wr >= wrlen)
goto <bb 25>; [INV]
else
goto <bb 13>; [INV]
<bb 13> :
# DEBUG BEGIN_STMT
wr.16_24 = wr;
wr = wr.16_24 + 1;
_25 = wr.16_24 * 2;
_26 = pd2 + _25;
_27 = (short unsigned int) k;
*_26 = _27;
# DEBUG BEGIN_STMT
if (wr >= wrlen)
goto <bb 25>; [INV]
else
goto <bb 14>; [INV]
<bb 14> :
# DEBUG BEGIN_STMT
if (wr < wrlen)
goto <bb 12>; [INV]
else
goto <bb 25>; [INV]
<bb 15> :
# DEBUG BEGIN_STMT
_28 = (int) n;
_29 = EEP_ADDR_TABLE[_28][4];
_30 = _29 + 4294967292;
if (_30 <= 1)
goto <bb 16>; [INV]
else
goto <bb 19>; [INV]
<bb 16> :
# DEBUG BEGIN_STMT
wrlen = wrlen >> 2;
# DEBUG BEGIN_STMT
_31 = (int) n;
_32 = EEP_ADDR_TABLE[_31][3];
pd4 = (volatile vuint32_t *) _32;
# DEBUG BEGIN_STMT
goto <bb 18>; [INV]
<bb 17> :
# DEBUG BEGIN_STMT
ps.17_33 = ps;
ps = ps.17_33 + 4;
k = *ps.17_33;
# DEBUG BEGIN_STMT
wr.18_34 = wr;
wr = wr.18_34 + 1;
_35 = wr.18_34 * 4;
_36 = pd4 + _35;
*_36 = k;
<bb 18> :
# DEBUG BEGIN_STMT
if (wr < wrlen)
goto <bb 17>; [INV]
else
goto <bb 25>; [INV]
<bb 19> :
# DEBUG BEGIN_STMT
_37 = (int) n;
_38 = EEP_ADDR_TABLE[_37][3];
pd1 = (volatile vuint8_t *) _38;
# DEBUG BEGIN_STMT
goto <bb 24>; [INV]
<bb 20> :
# DEBUG BEGIN_STMT
ps.19_39 = ps;
ps = ps.19_39 + 4;
k = *ps.19_39;
# DEBUG BEGIN_STMT
_40 = k >> 24;
wr.20_41 = wr;
wr = wr.20_41 + 1;
_42 = pd1 + wr.20_41;
_43 = (unsigned char) _40;
*_42 = _43;
# DEBUG BEGIN_STMT
if (wr >= wrlen)
goto <bb 25>; [INV]
else
goto <bb 21>; [INV]
<bb 21> :
# DEBUG BEGIN_STMT
_44 = k >> 16;
wr.21_45 = wr;
wr = wr.21_45 + 1;
_46 = pd1 + wr.21_45;
_47 = (unsigned char) _44;
*_46 = _47;
# DEBUG BEGIN_STMT
if (wr >= wrlen)
goto <bb 25>; [INV]
else
goto <bb 22>; [INV]
<bb 22> :
# DEBUG BEGIN_STMT
_48 = k >> 8;
wr.22_49 = wr;
wr = wr.22_49 + 1;
_50 = pd1 + wr.22_49;
_51 = (unsigned char) _48;
*_50 = _51;
# DEBUG BEGIN_STMT
if (wr >= wrlen)
goto <bb 25>; [INV]
else
goto <bb 23>; [INV]
<bb 23> :
# DEBUG BEGIN_STMT
wr.23_52 = wr;
wr = wr.23_52 + 1;
_53 = pd1 + wr.23_52;
_54 = (unsigned char) k;
*_53 = _54;
# DEBUG BEGIN_STMT
if (wr >= wrlen)
goto <bb 25>; [INV]
else
goto <bb 24>; [INV]
<bb 24> :
# DEBUG BEGIN_STMT
if (wr < wrlen)
goto <bb 20>; [INV]
else
goto <bb 25>; [INV]
<bb 25> :
t = {CLOBBER};
goto <bb 27>; [INV]
<bb 26> :
t = {CLOBBER};
<bb 27> :
return;
}
write_table_n (uint16_t n)
{
volatile vuint8_t * pd1;
volatile vuint16_t * pd2;
volatile vuint32_t * pd4;
volatile vuint32_t * psr;
uint32_t ps;
volatile vuint32_t t[2];
uint32_t r;
uint32_t k;
uint32_t wr;
uint32_t wrlen;
uint32_t rdlen;
uint32_t i;
unsigned char D.6194;
unsigned char D.6193;
short unsigned int D.6188;
short unsigned int D.6187;
<bb 2> :
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
if (n > 28)
goto <bb 3>; [INV]
else
goto <bb 4>; [INV]
<bb 3> :
# DEBUG BEGIN_STMT
// predicted unlikely by early return (on trees) predictor.
goto <bb 19>; [INV]
<bb 4> :
# DEBUG BEGIN_STMT
_1 = (int) n;
_2 = EEP_ADDR_TABLE[_1][0];
if (_2 == 65535)
goto <bb 5>; [INV]
else
goto <bb 6>; [INV]
<bb 5> :
# DEBUG BEGIN_STMT
// predicted unlikely by early return (on trees) predictor.
goto <bb 19>; [INV]
<bb 6> :
# DEBUG BEGIN_STMT
_3 = (int) n;
_4 = EEP_ADDR_TABLE[_3][7];
if (_4 != 1)
goto <bb 7>; [INV]
else
goto <bb 8>; [INV]
<bb 7> :
# DEBUG BEGIN_STMT
// predicted unlikely by early return (on trees) predictor.
goto <bb 19>; [INV]
<bb 8> :
# DEBUG BEGIN_STMT
_5 = (int) n;
rdlen = EEP_ADDR_TABLE[_5][1];
# DEBUG BEGIN_STMT
rdlen = rdlen >> 2;
# DEBUG BEGIN_STMT
_6 = (int) n;
wrlen = EEP_ADDR_TABLE[_6][2];
# DEBUG BEGIN_STMT
_7 = (int) n;
_8 = EEP_ADDR_TABLE[_7][0];
ps = _8 + 8388608;
# DEBUG BEGIN_STMT
psr = (volatile vuint32_t *) ps;
# DEBUG BEGIN_STMT
_9 = (int) n;
monprintf ("T%2d(%08X):rlen=%04x,wlen=%04x\n\r", _9, ps, rdlen, wrlen);
# DEBUG BEGIN_STMT
_10 = (int) n;
_11 = EEP_ADDR_TABLE[_10][4];
_12 = _11 + 4294967294;
if (_12 <= 1)
goto <bb 9>; [INV]
else
goto <bb 12>; [INV]
<bb 9> :
# DEBUG BEGIN_STMT
wrlen = wrlen >> 1;
# DEBUG BEGIN_STMT
_13 = (int) n;
_14 = EEP_ADDR_TABLE[_13][3];
pd2 = (volatile vuint16_t *) _14;
# DEBUG BEGIN_STMT
i = 0;
goto <bb 11>; [INV]
<bb 10> :
# DEBUG BEGIN_STMT
pd2.0_15 = pd2;
pd2 = pd2.0_15 + 2;
_16 = *pd2.0_15;
_17 = (long unsigned int) _16;
t[0] = _17;
# DEBUG BEGIN_STMT
_18 = t[0];
_19 = _18 << 16;
t[0] = _19;
# DEBUG BEGIN_STMT
pd2.1_20 = pd2;
pd2 = pd2.1_20 + 2;
D.6187 = *pd2.1_20;
_21 = t[0];
_22 = (long unsigned int) D.6187;
_23 = _21 + _22;
t[0] = _23;
# DEBUG BEGIN_STMT
pd2.2_24 = pd2;
pd2 = pd2.2_24 + 2;
_25 = *pd2.2_24;
_26 = (long unsigned int) _25;
t[1] = _26;
# DEBUG BEGIN_STMT
_27 = t[1];
_28 = _27 << 16;
t[1] = _28;
# DEBUG BEGIN_STMT
pd2.3_29 = pd2;
pd2 = pd2.3_29 + 2;
D.6188 = *pd2.3_29;
_30 = t[1];
_31 = (long unsigned int) D.6188;
_32 = _30 + _31;
t[1] = _32;
# DEBUG BEGIN_STMT
ps = ps + 8;
# DEBUG BEGIN_STMT
i = i + 2;
<bb 11> :
# DEBUG BEGIN_STMT
if (i < rdlen)
goto <bb 10>; [INV]
else
goto <bb 19>; [INV]
<bb 12> :
# DEBUG BEGIN_STMT
_33 = (int) n;
_34 = EEP_ADDR_TABLE[_33][4];
_35 = _34 + 4294967292;
if (_35 <= 1)
goto <bb 13>; [INV]
else
goto <bb 16>; [INV]
<bb 13> :
# DEBUG BEGIN_STMT
wrlen = wrlen >> 2;
# DEBUG BEGIN_STMT
_36 = (int) n;
_37 = EEP_ADDR_TABLE[_36][3];
pd4 = (volatile vuint32_t *) _37;
# DEBUG BEGIN_STMT
i = 0;
goto <bb 15>; [INV]
<bb 14> :
# DEBUG BEGIN_STMT
pd4.4_38 = pd4;
pd4 = pd4.4_38 + 4;
_39 = *pd4.4_38;
t[0] = _39;
# DEBUG BEGIN_STMT
pd4.5_40 = pd4;
pd4 = pd4.5_40 + 4;
_41 = *pd4.5_40;
t[1] = _41;
# DEBUG BEGIN_STMT
ps = ps + 8;
# DEBUG BEGIN_STMT
i = i + 2;
<bb 15> :
# DEBUG BEGIN_STMT
if (i < rdlen)
goto <bb 14>; [INV]
else
goto <bb 19>; [INV]
<bb 16> :
# DEBUG BEGIN_STMT
_42 = (int) n;
_43 = EEP_ADDR_TABLE[_42][3];
pd1 = (volatile vuint8_t *) _43;
# DEBUG BEGIN_STMT
i = 0;
goto <bb 18>; [INV]
<bb 17> :
# DEBUG BEGIN_STMT
pd1.6_44 = pd1;
pd1 = pd1.6_44 + 1;
_45 = *pd1.6_44;
_46 = (long unsigned int) _45;
t[0] = _46;
# DEBUG BEGIN_STMT
_47 = t[0];
_48 = _47 << 24;
t[0] = _48;
# DEBUG BEGIN_STMT
pd1.7_49 = pd1;
pd1 = pd1.7_49 + 1;
_50 = *pd1.7_49;
k = (uint32_t) _50;
# DEBUG BEGIN_STMT
k = k << 16;
# DEBUG BEGIN_STMT
_51 = t[0];
_52 = k + _51;
t[0] = _52;
# DEBUG BEGIN_STMT
pd1.8_53 = pd1;
pd1 = pd1.8_53 + 1;
_54 = *pd1.8_53;
k = (uint32_t) _54;
# DEBUG BEGIN_STMT
k = k << 8;
# DEBUG BEGIN_STMT
_55 = t[0];
_56 = k + _55;
t[0] = _56;
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
pd1.9_57 = pd1;
pd1 = pd1.9_57 + 1;
D.6193 = *pd1.9_57;
_58 = t[0];
_59 = (long unsigned int) D.6193;
_60 = _58 + _59;
t[0] = _60;
# DEBUG BEGIN_STMT
pd1.10_61 = pd1;
pd1 = pd1.10_61 + 1;
_62 = *pd1.10_61;
_63 = (long unsigned int) _62;
t[1] = _63;
# DEBUG BEGIN_STMT
_64 = t[1];
_65 = _64 << 24;
t[1] = _65;
# DEBUG BEGIN_STMT
pd1.11_66 = pd1;
pd1 = pd1.11_66 + 1;
_67 = *pd1.11_66;
k = (uint32_t) _67;
# DEBUG BEGIN_STMT
k = k << 16;
# DEBUG BEGIN_STMT
_68 = t[1];
_69 = k + _68;
t[1] = _69;
# DEBUG BEGIN_STMT
pd1.12_70 = pd1;
pd1 = pd1.12_70 + 1;
_71 = *pd1.12_70;
k = (uint32_t) _71;
# DEBUG BEGIN_STMT
k = k << 8;
# DEBUG BEGIN_STMT
_72 = t[1];
_73 = k + _72;
t[1] = _73;
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
pd1.13_74 = pd1;
pd1 = pd1.13_74 + 1;
D.6194 = *pd1.13_74;
_75 = t[1];
_76 = (long unsigned int) D.6194;
_77 = _75 + _76;
t[1] = _77;
# DEBUG BEGIN_STMT
_78 = programDword_data_flash (ps, &t);
r = (uint32_t) _78;
# DEBUG BEGIN_STMT
ps = ps + 8;
# DEBUG BEGIN_STMT
i = i + 2;
<bb 18> :
# DEBUG BEGIN_STMT
if (i < rdlen)
goto <bb 17>; [INV]
else
goto <bb 19>; [INV]
<bb 19> :
return;
}
table_did_maping_write (uint16_t did)
{
uint16_t rt;
uint16_t D.6177;
<bb 2> :
# DEBUG BEGIN_STMT
rt = 65535;
# DEBUG BEGIN_STMT
_1 = (int) did;
switch (_1) <default: <L29> [INV], case 61456: <L4> [INV], case 61457: <L5> [INV], case 61458: <L6> [INV], case 61459: <L7> [INV], case 61460: <L8> [INV], case 61461: <L9> [INV], case 61462: <L10> [INV], case 61463: <L11> [INV], case 61464: <L12> [INV], case 61465: <L13> [INV], case 61466: <L14> [INV], case 61467: <L15> [INV], case 61468: <L16> [INV], case 61469: <L17> [INV], case 61470: <L18> [INV], case 61471: <L19> [INV], case 61472: <L20> [INV], case 61473: <L21> [INV], case 61474: <L22> [INV], case 61475: <L23> [INV], case 61476: <L24> [INV], case 61477: <L25> [INV], case 61478: <L26> [INV], case 61479: <L27> [INV], case 61480: <L28> [INV], case 61831: <L0> [INV], case 61832: <L1> [INV], case 61843: <L3> [INV], case 61845: <L2> [INV]>
<bb 3> :
<L0>:
# DEBUG BEGIN_STMT
rt = 0;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 4> :
<L1>:
# DEBUG BEGIN_STMT
rt = 1;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 5> :
<L2>:
# DEBUG BEGIN_STMT
rt = 2;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 6> :
<L3>:
# DEBUG BEGIN_STMT
rt = 3;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 7> :
<L4>:
# DEBUG BEGIN_STMT
rt = 4;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 8> :
<L5>:
# DEBUG BEGIN_STMT
rt = 5;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 9> :
<L6>:
# DEBUG BEGIN_STMT
rt = 6;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 10> :
<L7>:
# DEBUG BEGIN_STMT
rt = 7;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 11> :
<L8>:
# DEBUG BEGIN_STMT
rt = 8;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 12> :
<L9>:
# DEBUG BEGIN_STMT
rt = 9;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 13> :
<L10>:
# DEBUG BEGIN_STMT
rt = 10;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 14> :
<L11>:
# DEBUG BEGIN_STMT
rt = 10;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 15> :
<L12>:
# DEBUG BEGIN_STMT
rt = 11;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 16> :
<L13>:
# DEBUG BEGIN_STMT
rt = 12;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 17> :
<L14>:
# DEBUG BEGIN_STMT
rt = 13;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 18> :
<L15>:
# DEBUG BEGIN_STMT
rt = 14;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 19> :
<L16>:
# DEBUG BEGIN_STMT
rt = 15;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 20> :
<L17>:
# DEBUG BEGIN_STMT
rt = 16;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 21> :
<L18>:
# DEBUG BEGIN_STMT
rt = 17;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 22> :
<L19>:
# DEBUG BEGIN_STMT
rt = 18;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 23> :
<L20>:
# DEBUG BEGIN_STMT
rt = 19;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 24> :
<L21>:
# DEBUG BEGIN_STMT
rt = 20;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 25> :
<L22>:
# DEBUG BEGIN_STMT
rt = 20;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 26> :
<L23>:
# DEBUG BEGIN_STMT
rt = 21;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 27> :
<L24>:
# DEBUG BEGIN_STMT
rt = 22;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 28> :
<L25>:
# DEBUG BEGIN_STMT
rt = 23;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 29> :
<L26>:
# DEBUG BEGIN_STMT
rt = 24;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 30> :
<L27>:
# DEBUG BEGIN_STMT
rt = 25;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 31> :
<L28>:
# DEBUG BEGIN_STMT
rt = 26;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 32> :
<L29>:
# DEBUG BEGIN_STMT
rt = 65535;
# DEBUG BEGIN_STMT
<bb 33> :
# DEBUG BEGIN_STMT
D.6177 = rt;
return D.6177;
}
table_did_maping (uint16_t did)
{
uint16_t rt;
uint16_t D.6175;
<bb 2> :
# DEBUG BEGIN_STMT
rt = 65535;
# DEBUG BEGIN_STMT
_1 = (int) did;
switch (_1) <default: <L29> [INV], case 61456: <L4> [INV], case 61457: <L5> [INV], case 61458: <L6> [INV], case 61459: <L7> [INV], case 61460: <L8> [INV], case 61461: <L9> [INV], case 61462: <L10> [INV], case 61463: <L11> [INV], case 61464: <L12> [INV], case 61465: <L13> [INV], case 61466: <L14> [INV], case 61467: <L15> [INV], case 61468: <L16> [INV], case 61469: <L17> [INV], case 61470: <L18> [INV], case 61471: <L19> [INV], case 61472: <L20> [INV], case 61473: <L21> [INV], case 61474: <L22> [INV], case 61475: <L23> [INV], case 61476: <L24> [INV], case 61477: <L25> [INV], case 61478: <L26> [INV], case 61479: <L27> [INV], case 61480: <L28> [INV], case 61831: <L0> [INV], case 61832: <L1> [INV], case 61843: <L3> [INV], case 61845: <L2> [INV]>
<bb 3> :
<L0>:
# DEBUG BEGIN_STMT
rt = 0;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 4> :
<L1>:
# DEBUG BEGIN_STMT
rt = 1;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 5> :
<L2>:
# DEBUG BEGIN_STMT
rt = 2;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 6> :
<L3>:
# DEBUG BEGIN_STMT
rt = 3;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 7> :
<L4>:
# DEBUG BEGIN_STMT
rt = 4;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 8> :
<L5>:
# DEBUG BEGIN_STMT
rt = 5;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 9> :
<L6>:
# DEBUG BEGIN_STMT
rt = 6;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 10> :
<L7>:
# DEBUG BEGIN_STMT
rt = 7;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 11> :
<L8>:
# DEBUG BEGIN_STMT
rt = 8;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 12> :
<L9>:
# DEBUG BEGIN_STMT
rt = 9;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 13> :
<L10>:
# DEBUG BEGIN_STMT
rt = 10;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 14> :
<L11>:
# DEBUG BEGIN_STMT
rt = 10;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 15> :
<L12>:
# DEBUG BEGIN_STMT
rt = 11;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 16> :
<L13>:
# DEBUG BEGIN_STMT
rt = 12;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 17> :
<L14>:
# DEBUG BEGIN_STMT
rt = 13;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 18> :
<L15>:
# DEBUG BEGIN_STMT
rt = 14;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 19> :
<L16>:
# DEBUG BEGIN_STMT
rt = 15;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 20> :
<L17>:
# DEBUG BEGIN_STMT
rt = 16;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 21> :
<L18>:
# DEBUG BEGIN_STMT
rt = 17;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 22> :
<L19>:
# DEBUG BEGIN_STMT
rt = 18;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 23> :
<L20>:
# DEBUG BEGIN_STMT
rt = 19;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 24> :
<L21>:
# DEBUG BEGIN_STMT
rt = 20;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 25> :
<L22>:
# DEBUG BEGIN_STMT
rt = 20;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 26> :
<L23>:
# DEBUG BEGIN_STMT
rt = 21;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 27> :
<L24>:
# DEBUG BEGIN_STMT
rt = 22;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 28> :
<L25>:
# DEBUG BEGIN_STMT
rt = 23;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 29> :
<L26>:
# DEBUG BEGIN_STMT
rt = 24;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 30> :
<L27>:
# DEBUG BEGIN_STMT
rt = 25;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 31> :
<L28>:
# DEBUG BEGIN_STMT
rt = 26;
# DEBUG BEGIN_STMT
goto <bb 33>; [INV]
<bb 32> :
<L29>:
# DEBUG BEGIN_STMT
rt = 65535;
# DEBUG BEGIN_STMT
<bb 33> :
# DEBUG BEGIN_STMT
D.6175 = rt;
return D.6175;
}