I’m working on a conference paper and presentation, and tonight I had a break-through :-). So how cool is this: Profiling with GNU gprof a bare-metal embedded Cortex-M application (Freescale Kinetis K64F running the Freescale Kinetis SDK) in Eclipse:
It gives me information about how many times a function is called, and an estimate how much time is spent in each. I was waiting for soooooo long time to have something like this possible and in my hand! And best of all: free-of-charge and open source :-): all what is needed is an ARM Cortex-M (e.g. Freescale Kinetis) board, GNU with Eclipse or Kinetis Design Studio and a Segger J-Link for semi-hosting. It is using the GNU ARM Embedded Launchpad tools and it runs right now on a Freescale FRDM-K64F board, but any other board/device will do it too.
So after gcov (Coverage) I have gprof (Profiling) running on Kinetis :-).
Now I need to clean up the project and sources, write my paper, presentation and write a blog article about this. And a few hours of sleep…..
Happy Profiling 🙂
PS: Note to myself: next time submitting a paper proposal to a conference. *First* implement that cool idea so you *know* it is going to work, and *then* submit that cool idea to the conference. NOT the other way round ;-).
Is it for the ECC? I’m looking forward to attending your presentation…
LikeLike
Hi Martin,
yes, this is for ECC15 (Embedded Computing Conference 2015). Looking forward to see you there…
LikeLike
I’ve been looking for embedded workshops/conferences to attend but… not many. I checked out the event, seems too soon. And the page is not in English, no English version 😦 .
LikeLike
Yes, the ECC is very soon. As it is more a local (Switzerland/Germany/Austria) event, the event pages are in German, and not English.
LikeLike
I like it!, would it work with all cortex processors using eclipse like the NXP LPC’s?
LikeLike
Hi Carl,
Yes, it should. What you need is an ARM Cortex with GNU tools (GNU ARM Embedded (launchpad) is what I use). Plus a debug probe with full semihosting support (I use Segger J-Link). I’m late with writing my article about it (I underestimated the level of details and needed time for it), but I should have it ready somewhat this week.
LikeLike
Pingback: Tutorial: Using GNU Profiling (gprof) with ARM Cortex-M | MCU on Eclipse