| |||
| Home > Data Collection Using RealView Trace 2 > Hardware profiling restrictions | |||
When preparing your source code for profiling using the ARM Profiler in conjunction with RealView ICE and RealView Trace 2, it is important to keep the following points in mind:
The ARM Profiler is not a debugger. Its purpose is to provide run time information to identify code execution bottlenecks, not to isolate where your code might be broken. Use RealView Debugger to make sure your code is in working condition before running it through the ARM Profiler.
The ARM Profiler does not track memory interactions. It knows when an opcode accesses memory and tallies the size of the memory access in the Accessed column of the table reports, but it cannot track whether the memory access is to a cache or a slow external memory.
Hardware profiling provides enough detailed information to make intelligent assumptions about your source code. It does this by providing a value for average cycles per instruction and delay. However, it does not know exactly why an instruction performs more slowly than expected. To better optimize your code, you must understand which opcodes have the biggest discrepancies.
Currently, the ARM Profiler supports the ARM7TDMI™, ARM920T™, ARM926EJ-S™, ARM946E-S™, ARM966E-S™, ARM1136JF-S™, ARM1156T2F-S™, ARM1176JZF-S™, Cortex™-A5, Cortex™-A8, Cortex™-A9, Cortex™-R4, and Cortex™-M3 processors.
The ARM Profiler only supports connections to targets configured for little endian operation. It does not currently support targets configured for big endian operation.