mirror of
https://github.com/Dev-KATECH/ADM.git
synced 2026-05-17 09:53:59 +09:00
232 lines
6.1 KiB
Plaintext
232 lines
6.1 KiB
Plaintext
|
|
Marking local functions:
|
|
|
|
|
|
Marking externally visible functions:
|
|
|
|
|
|
Marking externally visible variables: dividerTriggerCallbacks
|
|
|
|
|
|
Reclaiming functions:
|
|
Reclaiming variables:
|
|
Clearing address taken flags:
|
|
Symbol table:
|
|
|
|
ReportClockErrors/8 (ReportClockErrors) @06c57540
|
|
Type: function
|
|
Visibility: external public
|
|
References:
|
|
Referring:
|
|
Availability: not_available
|
|
Function flags: optimize_size
|
|
Called by: TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat/3
|
|
Calls:
|
|
ClockTimeoutExpired/7 (ClockTimeoutExpired) @06c57460
|
|
Type: function
|
|
Visibility: external public
|
|
References:
|
|
Referring:
|
|
Availability: not_available
|
|
Function flags: optimize_size
|
|
Called by: TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat/3
|
|
Calls:
|
|
ClockStartTimeout/6 (ClockStartTimeout) @06c57380
|
|
Type: function
|
|
Visibility: external public
|
|
References:
|
|
Referring:
|
|
Availability: not_available
|
|
Function flags: optimize_size
|
|
Called by: TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat/3
|
|
Calls:
|
|
cgm/5 (cgm) @06c59168
|
|
Type: variable
|
|
Body removed by symtab_remove_unreachable_nodes
|
|
Visibility: external public
|
|
References:
|
|
Referring: TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat/3 (read)TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat/3 (read)ConfigureCgmXDivTrigCtrlTctlHhenUpdStat/2 (read)ConfigureCgmXDivTrigCtrlTctlHhenUpdStat/2 (read)ConfigureCgmXDivTrigCtrlTctlHhenUpdStat/2 (read)
|
|
Availability: not_available
|
|
Varpool flags: read-only
|
|
clockFeatures/4 (clockFeatures) @06c59120
|
|
Type: variable
|
|
Body removed by symtab_remove_unreachable_nodes
|
|
Visibility: external public
|
|
References:
|
|
Referring: TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat/3 (read)TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat/3 (read)ConfigureCgmXDivTrigCtrlTctlHhenUpdStat/2 (read)ConfigureCgmXDivTrigCtrlTctlHhenUpdStat/2 (read)
|
|
Availability: not_available
|
|
Varpool flags: read-only
|
|
TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat/3 (TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat) @06c8eee0
|
|
Type: function definition analyzed
|
|
Visibility: prevailing_def_ironly
|
|
Address is taken.
|
|
References: clockFeatures/4 (read)clockFeatures/4 (read)cgm/5 (read)cgm/5 (read)
|
|
Referring: dividerTriggerCallbacks/0 (addr)
|
|
Availability: available
|
|
Function flags: body optimize_size
|
|
Called by:
|
|
Calls: ReportClockErrors/8 ClockTimeoutExpired/7 ClockStartTimeout/6
|
|
ConfigureCgmXDivTrigCtrlTctlHhenUpdStat/2 (ConfigureCgmXDivTrigCtrlTctlHhenUpdStat) @06c8ee00
|
|
Type: function definition analyzed
|
|
Visibility: prevailing_def_ironly
|
|
Address is taken.
|
|
References: clockFeatures/4 (read)clockFeatures/4 (read)cgm/5 (read)cgm/5 (read)cgm/5 (read)
|
|
Referring: dividerTriggerCallbacks/0 (addr)
|
|
Availability: available
|
|
Function flags: body optimize_size
|
|
Called by:
|
|
Calls:
|
|
Callback_DividerTriggerEmpty/1 (Callback_DividerTriggerEmpty) @06c8eb60
|
|
Type: function definition analyzed
|
|
Visibility: prevailing_def_ironly
|
|
Address is taken.
|
|
References:
|
|
Referring: dividerTriggerCallbacks/0 (addr)dividerTriggerCallbacks/0 (addr)
|
|
Availability: available
|
|
Function flags: body optimize_size
|
|
Called by:
|
|
Calls:
|
|
dividerTriggerCallbacks/0 (dividerTriggerCallbacks) @06c88990
|
|
Type: variable definition analyzed
|
|
Visibility: externally_visible public
|
|
References: Callback_DividerTriggerEmpty/1 (addr)Callback_DividerTriggerEmpty/1 (addr)ConfigureCgmXDivTrigCtrlTctlHhenUpdStat/2 (addr)TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat/3 (addr)
|
|
Referring:
|
|
Availability: available
|
|
Varpool flags: initialized read-only const-value-known
|
|
TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat (const struct Clock_Ip_DividerTriggerConfigType * config)
|
|
{
|
|
uint32 DividerStatus;
|
|
uint32 TimeoutTicks;
|
|
uint32 ElapsedTime;
|
|
uint32 StartTime;
|
|
boolean TimeoutOccurred;
|
|
uint32 selectorIndex;
|
|
uint32 instance;
|
|
|
|
<bb 2> :
|
|
# DEBUG BEGIN_STMT
|
|
_1 = config->name;
|
|
_2 = (int) _1;
|
|
_3 = clockFeatures[_2][0];
|
|
instance = (uint32) _3;
|
|
# DEBUG BEGIN_STMT
|
|
_4 = config->name;
|
|
_5 = (int) _4;
|
|
_6 = clockFeatures[_5][2];
|
|
selectorIndex = (uint32) _6;
|
|
# DEBUG BEGIN_STMT
|
|
TimeoutOccurred = 0;
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
_7 = config->triggerType;
|
|
if (_7 != 0)
|
|
goto <bb 3>; [INV]
|
|
else
|
|
goto <bb 8>; [INV]
|
|
|
|
<bb 3> :
|
|
# DEBUG BEGIN_STMT
|
|
_8 = cgm[instance][selectorIndex];
|
|
_8->MUX_DIV_TRIG = 1;
|
|
# DEBUG BEGIN_STMT
|
|
ClockStartTimeout (&StartTime, &ElapsedTime, &TimeoutTicks, 10000);
|
|
|
|
<bb 4> :
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
_9 = cgm[instance][selectorIndex];
|
|
_10 = _9->MUX_DIV_UPD_STAT;
|
|
DividerStatus = _10 & 1;
|
|
# DEBUG BEGIN_STMT
|
|
TimeoutTicks.0_11 = TimeoutTicks;
|
|
TimeoutOccurred = ClockTimeoutExpired (&StartTime, &ElapsedTime, TimeoutTicks.0_11);
|
|
# DEBUG BEGIN_STMT
|
|
if (DividerStatus == 1)
|
|
goto <bb 5>; [INV]
|
|
else
|
|
goto <bb 6>; [INV]
|
|
|
|
<bb 5> :
|
|
_12 = ~TimeoutOccurred;
|
|
if (_12 != 0)
|
|
goto <bb 4>; [INV]
|
|
else
|
|
goto <bb 6>; [INV]
|
|
|
|
<bb 6> :
|
|
# DEBUG BEGIN_STMT
|
|
if (TimeoutOccurred != 0)
|
|
goto <bb 7>; [INV]
|
|
else
|
|
goto <bb 8>; [INV]
|
|
|
|
<bb 7> :
|
|
# DEBUG BEGIN_STMT
|
|
_13 = config->name;
|
|
ReportClockErrors (1, _13);
|
|
|
|
<bb 8> :
|
|
StartTime = {CLOBBER};
|
|
ElapsedTime = {CLOBBER};
|
|
TimeoutTicks = {CLOBBER};
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
ConfigureCgmXDivTrigCtrlTctlHhenUpdStat (const struct Clock_Ip_DividerTriggerConfigType * config)
|
|
{
|
|
uint32 selectorIndex;
|
|
uint32 instance;
|
|
|
|
<bb 2> :
|
|
# DEBUG BEGIN_STMT
|
|
_1 = config->name;
|
|
_2 = (int) _1;
|
|
_3 = clockFeatures[_2][0];
|
|
instance = (uint32) _3;
|
|
# DEBUG BEGIN_STMT
|
|
_4 = config->name;
|
|
_5 = (int) _4;
|
|
_6 = clockFeatures[_5][2];
|
|
selectorIndex = (uint32) _6;
|
|
# DEBUG BEGIN_STMT
|
|
_7 = config->triggerType;
|
|
if (_7 != 0)
|
|
goto <bb 3>; [INV]
|
|
else
|
|
goto <bb 4>; [INV]
|
|
|
|
<bb 3> :
|
|
# DEBUG BEGIN_STMT
|
|
_8 = cgm[instance][selectorIndex];
|
|
_8->MUX_DIV_TRIG_CTRL = 1;
|
|
goto <bb 5>; [INV]
|
|
|
|
<bb 4> :
|
|
# DEBUG BEGIN_STMT
|
|
_9 = cgm[instance][selectorIndex];
|
|
_10 = _9->MUX_DIV_TRIG_CTRL;
|
|
_11 = cgm[instance][selectorIndex];
|
|
_12 = _10 & 4294967294;
|
|
_11->MUX_DIV_TRIG_CTRL = _12;
|
|
|
|
<bb 5> :
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
Callback_DividerTriggerEmpty (const struct Clock_Ip_DividerTriggerConfigType * config)
|
|
{
|
|
<bb 2> :
|
|
# DEBUG BEGIN_STMT
|
|
return;
|
|
|
|
}
|
|
|
|
|