3

How can I profile my ARM code on a device.

It is a bare metal code involves USB and SDH handling, I saw this Code Profiler for ARM but seems to be very slim, I am familiar with DS5 but most of its tools can be used if you are on platform with linux kernel based OS. I compile my code with gcc.

  1. My code runs on Cortex-A7 and/or Cortex-A15 cores.
  2. As it seems from here those CPUs aren't arm profiler supported.
Community
  • 1
  • 1
0x90
  • 39,472
  • 36
  • 165
  • 245
  • You need to be explicit with what you mean ARM platform. Is it a MCU or Cortex-A? If it is the latter you should be able to use performance counters but create your own performance framework. – auselen Sep 05 '13 at 08:49

1 Answers1

5

Cortex-A7 and Cortex-A15 are Cortex-A processors hence you can use the information available in ARM Architecture Reference Manual (ARMv7-A and ARMv7-R edition) - Chapter 12 - The Performance Monitors Extension.

There are several beautiful answers to questions like How to measure program execution time in ARM Cortex-A8 processor? on this site as well.

Community
  • 1
  • 1
auselen
  • 27,577
  • 7
  • 73
  • 114
  • which `Architecture Reference Manual` do you mean ? – 0x90 Sep 05 '13 at 09:35
  • I read Chapter C12 but it too high level description, aren't there any ARM's open source examples of how to use the described mechanisms ? – 0x90 Sep 05 '13 at 14:49
  • I agree your answer is good (+1 it) but I think it is not complete and one may want to add more details and references. – 0x90 Sep 06 '13 at 17:10