Spotlight On
A spotlight on Percepio
This month’s spotlight shines on Dr. Johan Kraft, CEO of Percepio. He tells CIE editor, Amy Wallington about his career in the embedded software industry and specifically within his company, Percepio
very beginning, as a developer of visual runtime diagnostics tools for embedded and Linux-based software. The company collaborates with several leading vendors of operating systems for embedded software, most recently adding ARM to its portfolio.
Percepio has been successful for eight years - in that time, what are the biggest changes you have seen with regards to the demands on software engineers to create more robust software?
Dr. Johan Kraft D
r. Johan Kraft is CEO and founder of Percepio AB, a Swedish company developing the Tracealyzer
visualisation tools. Johan holds a PhD in computer science and his earlier academic work focused on practical methods for timing analysis of embedded software, performed in close collaboration with regional industry. Before his doctoral studies, he worked as an embedded software developer, focusing on control software for industrial robots. Johan has built up the company Percepio from the
36 April 2017
The increasing application complexity is without doubt the strongest growing challenge. With progressively capable microcontrollers, more and more embedded software is required to handle new communication interfaces, advanced graphical user interfaces, and low power operation. As a result, more and more developers use an RTOS to simplify the software design, but RTOS-based firmware development comes with new challenges and pitfalls. There are significant benefits to using an RTOS but they are complex components that take a lot of effort to configure, integrate and interface to at a software level. An RTOS controls when the application tasks are executed, which means that the developer needs to be entirely comfortable with handing over that level of control to a software component. And actually, smart as they are, they are also dumb. An RTOS needs to be configured in order for it to do exactly what you want it to. This is part of the learning
Components in Electronics
curve and it can be a painful experience. Moreover, the application developer must also design the task interactions, incuding how information is passed between your tasks have priority over others, as well as dealing with the consequences of those choices. Debugging can be arduous at the best of times but with an RTOS it becomes even more challenging. The abstraction provided by the RTOS, in order to maintain control over your application can also obscure the effects and causes of bugs. Some bugs may be introduced by data dependencies or even simply because a task isn’t executed at the right time.
What was the driving force behind the development of Percepio's Tracealyzer tool - how many years did it take to complete?
The first prototype of Tracealyzer was developed in 2004, so this technology has evolved over more than 12 years now. The company was started four or
five years later, when I approached the end of my PhD project. The driving force is the increasing use of ROTSes, that can be regarded as the third generation in embedded software technology. With multitasking the developer is no longer in direct control over the execution, as this is delegated to the RTOS. Even if I fully trust my RTOS, it is not easy to design a reliable multitasking system and nearly impossible to predict the real-time behaviour just by reading the source code. You really need to do measurements in runtime to know that your software behaves as intended. However, the data is useless without proper visualisation. This was where the idea for a tool like Tracealzyer was matured, realising the need to offer unprecedented insight into the runtime world of RTOS-based firmware and to do this with graphical views, over 25 in fact, which can speed up development time and improve performance. Once the technology was established, the company grew from there and today we are seven people, all with software
www.cieonline.co.uk
Page 1 |
Page 2 |
Page 3 |
Page 4 |
Page 5 |
Page 6 |
Page 7 |
Page 8 |
Page 9 |
Page 10 |
Page 11 |
Page 12 |
Page 13 |
Page 14 |
Page 15 |
Page 16 |
Page 17 |
Page 18 |
Page 19 |
Page 20 |
Page 21 |
Page 22 |
Page 23 |
Page 24 |
Page 25 |
Page 26 |
Page 27 |
Page 28 |
Page 29 |
Page 30 |
Page 31 |
Page 32 |
Page 33 |
Page 34 |
Page 35 |
Page 36 |
Page 37 |
Page 38 |
Page 39 |
Page 40 |
Page 41 |
Page 42 |
Page 43 |
Page 44 |
Page 45 |
Page 46 |
Page 47 |
Page 48 |
Page 49 |
Page 50 |
Page 51 |
Page 52