13.2. Profiling your Linux application

Once you have enabled ARM Profiler support in your kernel and you have built your image without stripping its symbols, you are ready to profile. You need two copies of the image that you want to profile:

Make sure that the host side ELF file has its symbols. Debugging symbols are not required, but they give you the source code to disassembly correlation in the analysis report.

On the target side, the ELF file does not require any symbols and you can strip them to keep the image size small. To start profiling, follow these steps:

  1. Select Run → Open Run Dialog from within the ARM Workbench IDE to open the run configuration window.

  2. Select either RealView Trace 2 or Real-Time System Model in the Connection tab, depending on whether you are profiling on Linux using hardware connected to a RealView Trace 2 unit or on an RTSM.

  3. Disable semihosting using the checkbox in the Connection tab.

  4. Enter the location of the Linux application to profile in the Images tab.


    Make sure the specified image file matches the application loaded on the Linux image. An image file that does not match can cause runtime errors.

  5. Select Loaded by OS.

  6. Ensure that the Generate ETM Context IDs checkbox is selected.

  7. Click Run.

  8. After Linux booting completes, launch the application that you want to profile.


    Because the ARM Profiler can not recognize an application that has already started, you must connect the profiler before you launch the application.

  9. Click End Capture in the Live Update panel after the application has terminated.


    The ARM Profiler does not profile the Linux kernel itself. Any calls to the kernel will show up in reports as non-profiled code.

Copyright © 2007- 2009 ARM Limited. All rights reserved.ARM DUI 0414D