This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ILTiming on Windows Embedded Compact 7

Other Parts Discussed in Thread: OMAP3530

Hi,

I would like to measure the ISR and IST interrupt delays on Windows Embedded Compact 7. I found that ILTiming tool in Platform Builder can be used for interrupt delay measurement on earlier version of Windows Embedded.(ex. CE 6.0, CE 5.0) Is this tool also enabled for Compact 7? If not, which tool can I use to measure ISR and IST delays? I'm using TMDS3530EVM as a target board.

  • That's an interesting question but I don't think anyone at TI has looked at that. To my knowledge we don't even have an official Win Compact 7 BSP (although there are regular questions here on this...).

    Anyhow the ILTiming tools are part of the platform builder as you said and therefor something coming from Microsoft. So I suggest to ask them. We wouldn't mind some feedback on that as MS is always claiming to fully support our customers. Worst case you have to take the sources from the earlier MS releases and compile on the new one.

    Regards.

  • ILTiming tool is available in WinCE7. But as Frank mentioned TI has has not run it on the Omap3530 EVM. If you face any issue running it I recommend that you contact MS first.

    Frank: Just wanted to clarify that Sho Masuda is referring to (using) the Omap3530 BSP that is one of the several sample BSPs that are part of the WinCE 7 release (available to Microsoft ADP/JDP partners). 

  • Hi Frank and Jatin,

    Thank you for your reply.

    I understand you haven't run ILTiming tool on the Omap3530 EVM. Actually I tried to run this tool several times, but I didn't confirm it ran correctly. I will study again to know how to use this tool and contact MS if I face any trouble.

    Regards.

  • Hi, Frank and Jatin

    Let me confirm one thing: Is ILTiming Tool available for OMAP3530 EVM BSP (for CE 6.0)? If so, would you tell me how to run this tool correctly and get appropriate ISR and IST latency results. The reason why I ask you this question is... I think whether this tool runs correctly or not depends on both BSP and OS. (For example... since there is no unused timer available for ILTiming in this platform, this tool is not available)

    I tried running this tool on CE 6.0 R3 using VS2005, but every time this test fails with "Wait for interrupt failed or timed out.". This failure is caused by not being set from kernel an event object that is associated with SYSINTR_TIMING (Interrupt ID). ILTiming.exe waits for 30 seconds at WaitForSingleObject(hEvent, 30000) function, then it ends with WAIT_TIMEOUT. This means that not a single timer interrupt occurs within 30 seconds.

    The version of BSP for Windows Embedded CE 6.0 that I use is 6.14.01. I set ENABLE_OAL_ILTIMING to 1 in Environment variables property before running sysgen process.

    Here is a part of output from PB:

    -------------------------------------------------------

    Run Programs s iltiming
     298424 PID:400002 TID:4e8002e RELFSD: Opening file iltiming.exe from desktop
     298496 PID:4e1005e TID:4e8002e OSAXST1: >>> Loading Module 'coredll.dll' (0x887A679C) at address 0x40010000-0x40124000 in Process 'iltiming.exe' (0x86F86000)
     298576 PID:4e1005e TID:4e8002e OSAXST1: >>> Loading Module 'iltiming.exe' (0x86F86000) at address 0x00010000-0x00014000 in Process 'iltiming.exe' (0x86F86000)
    PB Debugger Loaded symbols for 'D:\WINCE600\OSDESIGNS\WINCEPROJECT\WINCEPROJECT\RELDIR\TI_EVM_3530_ARMV4I_DEBUG\ILTIMING.EXE'
    s iltiming  16:07:55 10/04/2010 東京 (標準時)
    End s iltiming  16:07:55 10/04/2010 東京 (標準時)

     299391 PID:4e1005e TID:4e8002e ++ILTiming (Loader): ()
     299514 PID:400002 TID:4e8002e RELFSD: Opening file iltiming_dll.dll from desktop
     299651 PID:400002 TID:4e8002e OSAXST1: >>> Loading Module 'iltiming_dll.dll' (0x872B2CB8) at address 0xD7E50000-0xD7E59000 in Process 'NK.EXE' (0x8406DAA0)
    PB Debugger Loaded symbols for 'D:\WINCE600\OSDESIGNS\WINCEPROJECT\WINCEPROJECT\RELDIR\TI_EVM_3530_ARMV4I_DEBUG\ILTIMING_DLL.DLL'
     300335 PID:400002 TID:4e8002e iltiming
     300458 PID:400002 TID:53600ba RELFSD: Opening file iltiming.exe from desktop
     300530 PID:53500ba TID:53600ba OSAXST1: >>> Loading Module 'coredll.dll' (0x887A679C) at address 0x40010000-0x40124000 in Process 'iltiming.exe' (0x872A8D9C)
     300600 PID:53500ba TID:53600ba OSAXST1: >>> Loading Module 'iltiming.exe' (0x872A8D9C) at address 0x00010000-0x00014000 in Process 'iltiming.exe' (0x872A8D9C)
    PB Debugger Loaded symbols for 'D:\WINCE600\OSDESIGNS\WINCEPROJECT\WINCEPROJECT\RELDIR\TI_EVM_3530_ARMV4I_DEBUG\ILTIMING.EXE'
     301169 PID:53500ba TID:53600ba ++ILTiming (Loader): (-z -i0)
     301169 PID:400002 TID:53600ba iltiming -z -i0
     301171 PID:400002 TID:53600ba Secondary ILTIMING process starting.
     301673 PID:400002 TID:4e8002e
     301675 PID:400002 TID:4e8002e
     301678 PID:400002 TID:4e8002e vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
     301679 PID:400002 TID:4e8002e vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
     301680 PID:400002 TID:4e8002e ===================================================================
     301681 PID:400002 TID:4e8002e                 INTERPRETING THE ILTIMING RESULTS
     301682 PID:400002 TID:4e8002e -------------------------------------------------------------------
     301684 PID:400002 TID:4e8002e   ILTiming measures the interrupt service routine (ISR) and
     301687 PID:400002 TID:4e8002e   interrupt service thread (IST) latencies.
     301688 PID:400002 TID:4e8002e
     301689 PID:400002 TID:4e8002e   ISR latency measured is the time from the physical interrupt
     301690 PID:400002 TID:4e8002e   asserting (timer wrap) to the start of the OEM ISR code.
     301691 PID:400002 TID:4e8002e
     301692 PID:400002 TID:4e8002e -------------------------------------------------------------------
     301696 PID:400002 TID:4e8002e   SYSTEM BUILD INFO
     301696 PID:400002 TID:4e8002e
     301697 PID:400002 TID:4e8002e   PLATFORM   = EVM3530
     301698 PID:400002 TID:4e8002e   PROCESSOR  = ARMV4I
     301699 PID:400002 TID:4e8002e   CONFIG     = speech
     301701 PID:400002 TID:4e8002e   RET/DEBUG  = debug
     301702 PID:400002 TID:4e8002e   BUILD DATE = Sep  6 2006 @ (19:27:58)
     301703 PID:400002 TID:4e8002e -------------------------------------------------------------------
     301703 PID:400002 TID:4e8002e   COUNTER INFO
     301704 PID:400002 TID:4e8002e
     301705 PID:400002 TID:4e8002e   Counter Frequency     = 32768 Hz
     301706 PID:400002 TID:4e8002e   Counter tick interval = 30517 ns
     301708 PID:400002 TID:4e8002e -------------------------------------------------------------------
     301708 PID:400002 TID:4e8002e   RUNTIME OPTIONS
     301709 PID:400002 TID:4e8002e
     301710 PID:400002 TID:4e8002e   Timing interval      = 5
     301711 PID:400002 TID:4e8002e   Number of interrupts = 10
     301712 PID:400002 TID:4e8002e ===================================================================
     301714 PID:400002 TID:4e8002e ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     301715 PID:400002 TID:4e8002e ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     301716 PID:400002 TID:4e8002e
     301717 PID:400002 TID:4e8002e
     331721 PID:400002 TID:4e8002e Wait for interrupt failed or timed out.
     331722 PID:400002 TID:4e8002e All times are in microseconds.

     331724 PID:400002 TID:4e8002e Summary:
     331727 PID:400002 TID:4e8002e                     ISR starts   IST starts
     331728 PID:400002 TID:4e8002e min                 60397953.1          0.0
     331729 PID:400002 TID:4e8002e ave                 17448280.1          0.0
    PB Debugger Unloaded symbols for 'D:\WINCE600\OSDESIGNS\WINCEPROJECT\WINCEPROJECT\RELDIR\TI_EVM_3530_ARMV4I_DEBUG\ILTIMING.EXE'
     331730 PID:400002 TID:4e8002e max                 60397953.1          0.0

    PB Debugger Unloaded symbols for 'D:\WINCE600\OSDESIGNS\WINCEPROJECT\WINCEPROJECT\RELDIR\TI_EVM_3530_ARMV4I_DEBUG\ILTIMING.EXE'
     331731 PID:400002 TID:4e8002e Build,Platform,Processor,Project,Debug,Number of Interrupts,ISR Min,ISR Max,ISR Ave,IST Min,IST Max,IST Ave,Thread Priority,Idle Threads
     331732 PID:400002 TID:4e8002e 3122,EVM3530,ARMV4I,speech,debug,10,60397953.1,60397953.1,17448280.1,0.0,0.0,0.0,0,0
     331736 PID:4e1005e TID:4e8002e --ILTiming (Loader): Done!
     331741 PID:4e1005e TID:4e8002e OSAXST1: <<< Unloading Module 'coredll.dll' (0x887A679C) at address 0x40010000-0x40124000 in Process 'iltiming.exe' (0x86F86000)
     331830 PID:4e1005e TID:4e8002e OSAXST1: <<< Unloading Module 'iltiming.exe' (0x86F86000) at address 0x00010000-0x00014000 in Process 'iltiming.exe' (0x86F86000)
     332061 PID:400002 TID:53600ba Exiting secondary ILTIMING process.
     332062 PID:53500ba TID:53600ba --ILTiming (Loader): Done!

    -------------------------------------------------------

     

  • I have updated the post http://e2e.ti.com/support/embedded/f/353/t/67286.aspx with some additional information on this.