Sign In
Forgot Password?
Sign In | | Create Account

A methodology for development of high performance embedded software applications

Anil Khanna

Anil Khanna

Posted Mar 19, 2014

Citius, Altius, Fortius

Faster, Higher, Stronger – the Olympic motto could just as easily be applied to the expectations driving the alarming rate of evolution of embedded hardware. In the form of today’s mobile devices, we now hold more processing power than high-end PCs of yesteryears! A single mobile device has replaced the functionality of a myriad of discrete devices: GPS, camera, pager, voice recorder etc. on top of still functioning as a phone!

Embedded hardware has evolved from simple 8/16-bit microcontrollers and single/multi-core processors to the more complex new generation multi-core heterogeneous SoCs. For example, the latest generation DRA74x “Jacinto 6” automotive infotainment processor from Texas Instruments includes dual ARM® Cortex™-A15 cores, quad Cortex-M4 cores and dual SGX544 3D graphics cores – all on the same chip! This multi-core multi-OS heterogeneous device is capable of supporting applications on multiple runtimes, e.g. Linux and a RTOS, concurrently.

All of this progress is great news for the end consumer, perhaps not so much for the embedded developer who has to deal with the significant increase in complexity. Developing multi-threaded applications that take full advantage of a multi-core architecture is in itself quite challenging. On top of this, accounting for multiple-OSes and delivering a fully performance optimized system in ever shrinking time-to-market windows is no trivial task. At the end of the day, the best hardware is only as good as the software and the tools that enable it.


Enabling the highest development productivity without sacrificing product quality or missing deadlines is the holy grail of product development. This is achieved only with the right combination of the effective resources: both human and technical. Embedded development tools play a crucial role in this equation. While embedded hardware has grown by leaps and bounds, progress of software development flows has been slow. The overall development methodology has not seen any major changes. For example, performance optimization, which is becoming increasingly critical in differentiating one’s product offerings, is not usually included as part of a typical development schedule. Optimization steps, if any, are performed towards the tail-end of the development flow, mostly out of necessity rather than by design.

An enhanced embedded development methodology built upon efficient practices and newer, powerful tools could be viewed as a strategic differentiator for an organization, providing an advantage over its competitors in the industry. A new whitepaper authored by my colleague Don Harbin proposes one such methodology, built upon software instrumentation. Trace instrumentation technology offers significant potential and broadly speaking, can be applied on two separate fronts – to fortify an existing debugging flow and also to optimize embedded application performance.
Read the paper to learn more about how to leverage open-source trace technologies such as LTTng along with powerful tools like Sourcery Analyzer to build a new performance-driven embedded design methodology.

Trace, Texas Instruments, trace analysis, jacinto 6, ARM, Performance Analysis, Sourcery Analyzer, Linux, lttng

More Blog Posts

About Anil Khanna Follow on Twitter

Anil KhannaI am part of the marketing organization in the Embedded Software Division here at Mentor. Before this I spent 10 years marketing Mentor's hardware design products, specifically in the RTL and high-level synthesis domains. Moving from addressing the requirements of hardware designers to those of software designers has been quite the change. Throw in open-source and you have a heady mix - which keeps me on my toes! Outside of work, I enjoy spending time with my family, reading a good book or the occasional round of golf (in the few hours of sunshine we get in Portland!). I hope you find my thoughts interesting and look forward to your comments. Visit Embedded Blog

More Posts by Anil Khanna


No one has commented yet on this post. Be the first to comment below.

Add Your Comment

Please complete the following information to comment or sign in.

(Your email will not be published)


Online Chat