profiling tool for embedded applications (linux on ARM)??


well, like the subject says im wondering if any of you know of a tool to do profiling (CPU, kernel calls, etc) on an ARM running embedded linux. I was looking at Mpatrol, but the page seems to be last updated in 2002, besides, it only does memory profiling. I need to compare two applications and to find out why one of them is more a CPU hog than the other. For the moment im looking to see all possibilities and then decide for the one that fits best (functionality, memory footprint, cpu usage, threading support, etc) thanks a lot in advance.

Reply to
Loading thread data ...

There are quite a few tools that might solve the problem, although it's not obvious offhand which angle you should investigate first:

- gprof - bprof - oprofile - ltt (event, not time profiler, but might suffice) - strace (syscall snooper, poor man's ltt) - tsprof (x86 only) - profilescope (supposedly available for linux) - vtune (x86 only) - perfctr - cachegrind (x86 only cache use profiler)

All but a few of these are free. As you can see you'll have a slightly better time of it if your app can be made to run usefully on x86, but most of the tools should work fine on ARM, too.

There are also hardware solutions, based on ICE data or data from BDM trace buffers. I'm sure your chip vendor will be happy to tell you all about what they offer...

FWIW I've never had any trouble profiling by just collecting samples myself from the profiling itimer (man setitimer; man sigaction). Heck, these days I always build in a spot of plumbing so I can do sample collection at whim.

Grant Taylor
Embedded Linux Consultant
 Click to see the full signature
Reply to
Grant Taylor

We offer profiling tools for both C and C++ that will work in embedded environments. See

formatting link

Ira D. Baxter, Ph.D., CTO   512-250-1018
Semantic Designs, Inc.
Reply to
Ira Baxter

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.