?? tx_el.c
字號(hào):
/**************************************************************************/
VOID _tx_el_interrupt_end(UINT interrupt_number)
{
UINT upper_tb;
UCHAR *entry_ptr;
TX_EL_NO_INTERRUPT_EVENTS
/* Increment total event counter. */
_tx_el_total_events++;
/* Setup working entry pointer first. */
entry_ptr = *_tx_el_current_event;
/* Store the event type and sub-type. */
*((unsigned short *) entry_ptr) = TX_EL_INTERRUPT; \
*((unsigned short *) (entry_ptr + TX_EL_EVENT_SUBTYPE_OFFSET)) = (unsigned short) TX_EL_END_OF_INTERRUPT;
/* Store the upper time stamp. */
*((ULONG *) (entry_ptr + TX_EL_EVENT_TIME_UPPER_OFFSET)) =
(ULONG) 0;
/* Store the lower time stamp. */
*((ULONG *) (entry_ptr + TX_EL_EVENT_TIME_LOWER_OFFSET)) =
(ULONG) _tx_el_fake_time_stamp++;
/* Store the current thread. */
*((ULONG *) (entry_ptr + TX_EL_EVENT_THREAD_OFFSET)) =
(ULONG) _tx_thread_current_ptr;
/* Store the first info word. */
*((ULONG *) (entry_ptr + TX_EL_EVENT_INFO_1_OFFSET)) =
(ULONG) interrupt_number;
/* Now move the current event log pointer. */
entry_ptr = entry_ptr + TX_EL_EVENT_SIZE;
/* Check for a wrap-around condition. */
if (entry_ptr >= _tx_el_event_area_end)
{
/* Yes, we have wrapped around to the end of the event area.
Start back at the top! */
entry_ptr = _tx_el_event_area_start;
}
/* Write the entry pointer back into the header. */
*_tx_el_current_event = entry_ptr;
TX_EL_END_FILTER
}
/**************************************************************************/
/* */
/* FUNCTION RELEASE */
/* */
/* _tx_el_interrupt_control 68332/Green Hills */
/* 3.0a */
/* AUTHOR */
/* */
/* William E. Lamie, Express Logic, Inc. */
/* */
/* DESCRIPTION */
/* */
/* This function remaps the tx_interrupt_control service call so that */
/* it can be tracked in the event log. */
/* */
/* INPUT */
/* */
/* new_posture New interrupt posture */
/* */
/* OUTPUT */
/* */
/* old_posture Old interrupt posture */
/* */
/* CALLS */
/* */
/* _tx_thread_interrupt_control Interrupt control service */
/* */
/* CALLED BY */
/* */
/* ThreadX services */
/* */
/* RELEASE HISTORY */
/* */
/* DATE NAME DESCRIPTION */
/* */
/* 12-02-1999 William E. Lamie Initial Version 3.0a */
/* */
/**************************************************************************/
UINT _tx_el_interrupt_control(UINT new_posture)
{
TX_INTERRUPT_SAVE_AREA
UINT old_posture;
TX_EL_NO_INTERRUPT_EVENTS
TX_DISABLE
TX_EL_KERNEL_CALL_EVENT_INSERT_INFO2(TX_EL_INTERRUPT_CONTROL, _tx_thread_current_ptr, new_posture);
TX_RESTORE
TX_EL_END_FILTER
old_posture = _tx_thread_interrupt_control(new_posture);
return(old_posture);
}
/**************************************************************************/
/* */
/* FUNCTION RELEASE */
/* */
/* _tx_el_event_log_on 68332/Green Hills */
/* 3.0a */
/* AUTHOR */
/* */
/* William E. Lamie, Express Logic, Inc. */
/* */
/* DESCRIPTION */
/* */
/* This function disables all event filters. */
/* */
/* INPUT */
/* */
/* None */
/* */
/* OUTPUT */
/* */
/* None */
/* */
/* CALLS */
/* */
/* None */
/* */
/* CALLED BY */
/* */
/* Application code */
/* */
/* RELEASE HISTORY */
/* */
/* DATE NAME DESCRIPTION */
/* */
/* 12-02-1999 William E. Lamie Initial Version 3.0a */
/* */
/**************************************************************************/
VOID _tx_el_event_log_on(void)
{
/* Disable all event filters. */
_tx_el_event_filter = TX_EL_ENABLE_ALL_EVENTS;
}
/**************************************************************************/
/* */
/* FUNCTION RELEASE */
/* */
/* _tx_el_event_log_off 68332/Green Hills */
/* 3.0a */
/* AUTHOR */
/* */
/* William E. Lamie, Express Logic, Inc. */
/* */
/* DESCRIPTION */
/* */
/* This function sets all event filters, thereby turning event */
/* logging off. */
/* */
/* INPUT */
/* */
/* None */
/* */
/* OUTPUT */
/* */
/* None */
/* */
/* CALLS */
/* */
/* None */
/* */
/* CALLED BY */
/* */
/* Application code */
/* */
/* RELEASE HISTORY */
/* */
/* DATE NAME DESCRIPTION */
/* */
/* 12-02-1999 William E. Lamie Initial Version 3.0a */
/* */
/**************************************************************************/
VOID _tx_el_event_log_off(void)
{
/* Set all event filters. */
_tx_el_event_filter = TX_EL_FILTER_ALL_EVENTS;
}
/**************************************************************************/
/* */
/* FUNCTION RELEASE */
/* */
/* _tx_el_event_log_set 68332/Green Hills */
/* 3.0a */
/* AUTHOR */
/* */
/* William E. Lamie, Express Logic, Inc. */
/* */
/* DESCRIPTION */
/* */
/* This function sets the events filters specified by the user. */
/* */
/* INPUT */
/* */
/* filter Events to filter */
/* */
/* OUTPUT */
/* */
/* None */
/* */
/* CALLS */
/* */
/* None */
/* */
/* CALLED BY */
/* */
/* Application code */
/* */
/* RELEASE HISTORY */
/* */
/* DATE NAME DESCRIPTION */
/* */
/* 12-02-1999 William E. Lamie Initial Version 3.0a */
/* */
/**************************************************************************/
VOID _tx_el_event_filter_set(UINT filter)
{
/* Apply the user event filter. */
_tx_el_event_filter = filter;
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -