ILTiming Support (Windows CE 5.0)
ILTiming.exe is a testing tool that allows an OEM to measure interrupt service routine (ISR) and interrupt service thread (IST) latency.
The application that controls the test is in two parts and is released as source in %_WINCEROOT%\Public\Common\Oak\Utils\Iltiming and %_WINCEROOT%\Public\Common\Oak\Utils\It_load.
ILTiming.exe works by using system resources to track the amount of time spent in trying to get to the ISR and time spent trying to get to the IST.
ILTiming.exe interacts with the kernel and OAL through an IOCTL_HAL_ILTIMING.
If the IOCTL_HAL_ILTIMING is supported and properly implemented, ILTiming.exe will be able to measure ISR and IST latency. IOCTL_HAL_ILTIMING is passed to the OEM through OEMIoControl.
The parameter lpInBuf contains an ILTIMING_MESSAGE structure and the wMsg parameter contains a command that must be executed on behalf of the caller.
The following table shows the values for the wMsg command.
Value | Description |
---|---|
ILTIMING_MSG_ENABLE | Enable the ILTiming process and set the frequency of the measurements.
The frequency is how often, in ticks, before the next ISR and IST measurement are taken. |
ILTIMING_MSG_DISABLE | Disable ILTiming functionality. |
ILTIMING_MSG_GET_TIMES | Return the time information about an ISR measurement. |
ILTIMING_MSG_GET_PFN | Return a function point to PerfCountSinceTick. |
The ILTiming.exe file requires that you implement the following two functions:
- PerfCountSinceTick: The amount of time since the last system tick or secondary timer interrupt.
- PerfCountFreq: The frequency of the system tick or secondary timer.
Both functions must be implemented to support the high-resolution counter APIs QueryPerformanceCounter and QueryPerformanceFrequency.
See Also
Supporting Interrupt Latency Timing | Real-Time Measurement Tools
Send Feedback on this topic to the authors