{"id":2477,"date":"2012-11-13T11:03:27","date_gmt":"2012-11-13T11:03:27","guid":{"rendered":"https:\/\/www.techdesignforums.com\/?p=2477"},"modified":"2012-12-29T18:15:30","modified_gmt":"2012-12-29T18:15:30","slug":"embedded-systems-tools-gap","status":"publish","type":"post","link":"https:\/\/www.techdesignforums.com\/practice\/technique\/embedded-systems-tools-gap\/","title":{"rendered":"Embedded systems are evolving, but where are the tools?\u2028"},"content":{"rendered":"<p>These are exciting times to be an embedded system developer. The landscape is evolving at a rapid pace. That much is evident from the almost daily stream of news from this sector.<\/p>\n<p>However, although the announcements are exciting, they are either about evolution in embedded hardware architectures or what\u2019s new in the software space. <a title=\"ARM\u2019s 64bit shift provides clean-up opportunity\" href=\"https:\/\/www.techdesignforums.com\/blog\/2012\/10\/30\/arm-64bit-cortex-a53-a57-launch\/\" target=\"_blank\">ARM 64-bit v8<\/a> and big.LITTLE on one side. The latest in embedded Linux and application specific offerings on the other. There is little, if any, mention of happenings in embedded development tools.<\/p>\n<p>That is partly because the evolution of those tools has not kept up with the growth in embedded hardware and software. It\u2019s a problem.<\/p>\n<p>A scenario is quickly developing where the gap could become very large between what the embedded \u2018system\u2019 (hardware + software) is capable of delivering and what the embedded developer can actually enable.<\/p>\n<h2>The embedded tools challenge<\/h2>\n<p>The embedded software design methodology, especially the code-compile-debug flow, hasn\u2019t changed much. The arrival of multicore architectures has given rise to new defects (race conditions, deadlocks, stalls, etc.) which are not a part of the traditional embedded design lexicon. Added to that, there are the expectations of \u2018high-performance\u2019 from multicore that imply a need for quality performance analysis tools.<\/p>\n<p>One small bit of good news is that there are free technologies (Oprofile, free, top\/ps) and open source software (LTT, gprof, sar) that try to fill this gap. But they are at best \u2018utilities\u2019 and are typically run ad-hoc. As they have no relationship to each other, it is left to the user to determine the best approach to using them in combination.<\/p>\n<p>OK, so obviously I\u2019m with Mentor. And at this point, I have to say what we are doing to make life easier and improve development.<\/p>\n<h2>Sourcery Analyzer updated for multicore<\/h2>\n<p>Most recently, Mentor Embedded announced an update at last week\u2019s ARM TechCon to <a title=\"Sourcery Analyzer home page at mentor.com\" href=\"http:\/\/www.mentor.com\/embedded-software\/sourcery-tools\/sourcery-analyzer\/\" target=\"_blank\">Sourcery Analyzer<\/a>, a powerful embedded Linux debug and performance analysis tool.<\/p>\n<p>Sourcery Analyzer has been designed for embedded developers working on high-performance multicore Linux systems. It is an amalgam of open source software and bleeding-edge proprietary technology (which, incidentally, which has its roots in the EDA side of Mentor).<\/p>\n<div class=\"article_figure\"><a class=\"figure\" title=\"Sourcery Analyzer has been updated for multicore Linux developers (Source: Mentor Graphics)\" href=\"https:\/\/www.techdesignforums.com\/wp-content\/uploads\/2012\/11\/tdf-ment-embblog-nov12-lrg.jpg\"><img decoding=\"async\" src=\"https:\/\/www.techdesignforums.com\/wp-content\/uploads\/2012\/11\/tdf-ment-embblog-nov12-med.jpg\" alt=\"Sourcery Analyzer has been updated for multicore embedded Linux developers (Source: Mentor Graphics)\" \/><\/a><\/div>\n<div class=\"article_figure\">\n<p class=\"figure_wrapper\"><span class=\"figure_title\">Figure 1<\/span><br \/>\nSourcery Analyzer has been updated for multicore Linux developers (Source: Mentor Graphics)<\/p>\n<\/div>\n<p>Sourcery Analyzer leverages the popular open source <a title=\"LTTng 2.0 home page\" href=\"http:\/\/lttng.org\/lttng2.0\" target=\"_blank\">LTTng 2.0<\/a> (Linux Trace Toolkit next generation) project as its source mechanism to collect performance- and debug-related Linux kernel and user-space trace data.<\/p>\n<p>To facilitate quick out-of-box setup and analysis, it then includes a library of \u2018<a title=\"More information on 'Analysis Agents' at mentor.com\" href=\"http:\/\/www.mentor.com\/embedded-software\/sourcery-tools\/analysis_agents\" target=\"_blank\">Analysis Agents<\/a>\u2019. This is a set of pre-processed views of popular analysis routines. Performance analysis of user-space applications is also possible by creating custom analysis agents. In addition, Trace Calculator and Measurement Tool utilities provide unprecedented data manipulation flexibility.<\/p>\n<h2>Going deeper<\/h2>\n<p>Of course that\u2019s my pitch. You will &#8211; and I hope you do &#8211; want to know more. So I wanted to take this opportunity to point you in the direction of further resources that illustrate the productivity gains we are already delivering through Sourcery Analyzer.<\/p>\n<p><a title=\"White paper on Sourcery Analyzer and LTTng at mentor.com\" href=\"http:\/\/www.mentor.com\/embedded-software\/resources\/overview\/dynamic-performance-behavior-analysis-using-mentor-embedded-sourcery-analyzer-and-lltng-9f295766-48c4-401b-9777-74300ed1b1a4\" target=\"_blank\">This whitepaper will give you the chance to learn more about both Sourcery Analyzer and LTTng<\/a>.<\/p>\n<p>Meanwhile, a little over two weeks from now &#8211; <strong>on November 28th<\/strong> &#8211; my colleague Frederik Ostman will give an online seminar, \u2018<a title=\"Link to Mentor Embedded semincar on fixing timing issues in embedded Linux applications\" href=\"http:\/\/www.mentor.com\/embedded-software\/events\/learn-how-to-identify-and-fix-timing-issues-in-embedded-linux-applications-with-lttng-and-sourcery-analyzer\" target=\"_blank\">Learn how to identify and fix timing issues in embedded Linux applications with LTTng and Sourcery\u00a0Analyzer<\/a>\u2019. I hope that you can join us (and for the many of you outside the US or for whom the \u2018live\u2019 presentation is inconvenient, it will also be archived).<\/p>\n<p>Our industry is evolving fast and urgently needs to address the hardware-software gap. Mentor Embedded will play an aggressive role in that, and we also recognize that you need to hear the detailed story behind our plans.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Embedded hardware and software are experiencing exciting advances but free, open source technologies only go so far in connecting them. Help is on the way.<\/p>\n","protected":false},"author":138,"featured_media":4396,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1242,1238],"tags":[345,1813],"coauthors":[51],"class_list":["post-2477","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-architecture-design","category-debug-integration","tag-linux","tag-lttng","workflow-expert-blog","workflow-op-ed","organization-mentor-graphics"],"_links":{"self":[{"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/posts\/2477","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/users\/138"}],"replies":[{"embeddable":true,"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/comments?post=2477"}],"version-history":[{"count":0,"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/posts\/2477\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/media\/4396"}],"wp:attachment":[{"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/media?parent=2477"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/categories?post=2477"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/tags?post=2477"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/coauthors?post=2477"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}