Visualizing the Runtime World of Embedded Software Benefits and Examples. Dr. Johan Kraft, CEO/Founder Percepio AB

Similar documents
Streaming mode snapshot mode Faster Troubleshooting Higher Quality Better Performance Control System Tuning Other Benefits

Tracealyzer for VxWorks Overview and Getting Started Guide

RTOS 101. Understand your real-time applications. with the help of Percepio Tracealyzer

CS 326: Operating Systems. CPU Scheduling. Lecture 6

FreeRTOS X. Task Notifications Semaphores Family Critical Section FreeRTOS Producer Consumer Tasks

Lesson 5: Software for embedding in System- Part 2

18-642: Race Conditions

Software Development with an Open Source RTOS

Embedded Systems. 5. Operating Systems. Lothar Thiele. Computer Engineering and Networks Laboratory

EE458 - Embedded Systems Exceptions and Interrupts

Real-time for Windows NT

Embedding OS in AVR microcontrollers. Prof. Prabhat Ranjan DA-IICT, Gandhinagar

Real-Time Operating Systems Design and Implementation. LS 12, TU Dortmund

Learning Outcomes. Scheduling. Is scheduling important? What is Scheduling? Application Behaviour. Is scheduling important?

Real-Time Programming

ADVANCED trouble-shooting of real-time systems. Bernd Hufmann, Ericsson

Embedded Operating Systems

RTOS Real T i Time me Operating System System Concepts Part 2

Mobile Operating Systems Lesson 01 Operating System

10 Steps to Virtualization

DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING EE6602- EMBEDDED SYSTEMS QUESTION BANK UNIT I - INTRODUCTION TO EMBEDDED SYSTEMS PART A

Introduction to Real-Time Systems and Multitasking. Microcomputer Architecture and Interfacing Colorado School of Mines Professor William Hoff

Evaluation of uclinux and PREEMPT_RT for Machine Control System

VxWin RT. KUKA Roboter GmbH Blücherstrasse 144 D Augsburg Folie 1

CHAPTER 3 LabVIEW REAL TIME APPLICATION DEVELOPMENT REFERENCES: [1] NI, Real Time LabVIEW. [2] R. Bishop, LabVIEW 2009.

Operating Systems Design Fall 2010 Exam 1 Review. Paul Krzyzanowski

On Hierarchical Scheduling in VxWorks

FreeRTOS and LPC Microcontrollers. Richard Barry Design West, San Jose, 2013

Predictable Interrupt Management and Scheduling in the Composite Component-based System


Operating Systems. Operating Systems

Introduction to Real-Time Operating Systems

Software Quality is Directly Proportional to Simulation Speed

An unrivalled feature-set and unprecedented integration

Real-Time Operating Systems. Ludovic Apvrille Eurecom, office

FSMLabs White Paper The RTLinux embedded enterprise versus the Linux RT patches.

Scheduling (Win 2K) CSE Computer Systems November 21, 2001

Systemy RT i embedded Wykład 11 Systemy RTOS

6/20/2018. Lecture 2: Platforms & RTOS. Outline. Lab Setup (20 min) Labs work. Lecture: Platform + RTOS

2008 Chapter-8 L1: "Embedded Systems - Architecture, Programming and Design", Raj Kamal, Publs.: McGraw-Hill, Inc.

Task Based Programming Revisited Real Time Operating Systems

A Predictable RTOS. Mantis Cheng Department of Computer Science University of Victoria

CS/ECE 6780/5780. Al Davis

Page 1. Lab 5 Logistics. Implicit Threads. Explicit Thread Semantics. Problem not enough interrupt pins CS/ECE 6780/5780. Al Davis

Lab Assignment Each team will independently implement the launch interceptor specification For this assignment, you re writing portable C code

TDDD07 Real-time Systems Lecture 10: Wrapping up & Real-time operating systems

Real Time Linux patches: history and usage

Comparison of scheduling in RTLinux and QNX. Andreas Lindqvist, Tommy Persson,

Real-time Support in Operating Systems

Measuring the impacts of the Preempt-RT patch

Micrium OS Kernel Labs

Part B Questions. Unit I

Comparison of Real-Time Scheduling in VxWorks and RTLinux

FreeRTOS. A Brief Overview. Christopher Kenna. October 1, Avionics. FreeRTOS 1 / 34

Discussion Week 8. TA: Kyle Dewey. Tuesday, November 15, 11

Real-Time Performance During CUDA A Demonstration and Analysis of RedHawk CUDA RT Optimizations

Case Study: Challenges and Benefits in Integrating Real Time patch in PowerPc Based Media System

Implementing Scheduling Algorithms. Real-Time and Embedded Systems (M) Lecture 9

What is a Real Time Operating System?

Reservation-Based Scheduling for IRQ Threads

RTOS, Linux & Virtualization Wind River Systems, Inc.

ARM Cortex-M and RTOSs Are Meant for Each Other

PROCESS SCHEDULING II. CS124 Operating Systems Fall , Lecture 13

ECE 477 Digital Systems Senior Design Project. Module 10 Embedded Software Development

Chapter. Overview. Tornado BSP Training Workshop Copyright Wind River Systems 1-1 Wind River Systems

μc/trace TM User s Manual V1.0 The RTOS Event Analyzer Weston, FL 33326

2 Principal Architect EDU,QuEST Global, Thiruvananthapuram

Lab 3a: Scheduling Tasks with uvision and RTX

Interrupt/Timer/DMA 1

Real-Time Technology in Linux

Bootstrap, Memory Management and Troubleshooting. LS 12, TU Dortmund

Embedded Systems. 6. Real-Time Operating Systems

A comparison between the scheduling algorithms used in RTLinux and in VxWorks - both from a theoretical and a contextual view

Final Exam Study Guide

Computer Science Window-Constrained Process Scheduling for Linux Systems

FreeRTOS. A Brief Overview. Christopher Kenna. October 1, Avionics. FreeRTOS 1 / 34

Systems Programming and Computer Architecture ( ) Timothy Roscoe

Lecture 2: Architectural Support for OSes

Linux - Not real-time!

Advanced Embedded Systems

CSE398: Network Systems Design

CEC 450 Real-Time Systems

Analysis and Research on Improving Real-time Performance of Linux Kernel

Final Examination. Thursday, December 3, :20PM 620 PM. NAME: Solutions to Selected Problems ID:

OVERVIEW. Last Week: But if frequency of high priority task increases temporarily, system may encounter overload: Today: Slide 1. Slide 3.

Save time. Stay on Schedule. Reduce your work. Re-use Your Code with OS Changer

Introduction to Embedded Systems. Lab Logistics

REAL TIME OPERATING SYSTEM PROGRAMMING-II: II: Windows CE, OSEK and Real time Linux. Lesson-13: RT Linux

Interactive Scheduling

Two Level Scheduling. Interactive Scheduling. Our Earlier Example. Round Robin Scheduling. Round Robin Schedule. Round Robin Schedule

Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras

Scheduling, part 2. Don Porter CSE 506

How Linux RT_PREEMPT Works

High level scheduling: Medium level scheduling: Low level scheduling. Scheduling 0 : Levels

Chapter 19: Real-Time Systems. Operating System Concepts 8 th Edition,

Resource Containers. A new facility for resource management in server systems. Presented by Uday Ananth. G. Banga, P. Druschel, J. C.

Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras

Last Class: Processes

RT3 - FreeRTOS Real Time Programming

Graphics Performance Analyzer for Android

Transcription:

Visualizing the Runtime World of Embedded Software Benefits and Examples Dr. Johan Kraft, CEO/Founder Percepio AB

Software behavior depends on timing Source code alone does not give the full picture?

Tracealyzer shows what s going on! Software-Defined Tracing + Easy to use + No extra hardware required + Always applicable

How does it work? Percepio provides a trace recorder library for FreeRTOS, embos, Micrium, RT Labs Tracealyzer for Linux uses LTTng (also Android) Traealyzer for VxWorks uses Wind River s recorder

20+ Cleverly Connected Views

Increasing Development Efficiency, Software Quality and Performance Debugging RTOS and timing issues Validation Code running as intended? Profiling RAM and CPU usage per task? Training Learn RTOS concepts & services Documentation Visualize designs or issues In less than 5 days from running the tool, we improved the performance of our graphic rendering engine by 3x! Terry West, CEO, Serious Integrated Inc. FreeRTOS+Trace has doubled our development speed. Problems that otherwise would take days to solve are obvious with this tool and just a quick fix. We use it all the time. Alex Pabouctisids, Lead Firmware Engineer, Flyability.

For Leading Companies Percepio s tracing tool allowed me to quickly understand and solve serious multi-threading issues, that otherwise would have taken least two weeks to analyze. I got started and solved the first issue in a single day. I strongly recommend Percepio s tracing tools. Chaabane Malki, Embedded Systems Engineer, CGX Aero ABB Robotics is using the first generation Tracealyzer in all of the IRC5 robot controllers shipped since 2005. The tool has proven its value many times in all corners of the world. Roger Kulläng, Global System Architect, ABB Robotics. In today s tough competition with time-to-market pressure constantly increasing, visualization support is natural for software developers in order to produce software of higher quality, in shorter time and at a lower cost. We choose Tracealyzer from Percepio. Jörgen Appelgren, R&D Manager, Atlas Copco Rock Drills The many system views of the Tracealyzer from Percepio makes it easy to quickly find solutions that we have not seen using (Wind River) System Viewer. The visualization has several advantages over the system viewer and makes it easier to understand system behavior. This tool would be of great use for us. Johan Fredriksson, Software Architect, SAAB AB.

Customer Example 1: Unexpected Timing Data points = executions of SamplerTask X-axis: activation time Y-axis: time between activations What is causing the variations in timing?

Let s check the task scheduling... 6.6 ms! But why didn t SamplerTask preempt ControlTask?

Scheduling enabled? Let s check the OS tick... ~2,6 ms, should be 1 ms Scheduler disabled here! Why does ControlTask disable the scheduler?

Let s check the kernel services called... ControlTask should use FS_Mutex instead of disabling the scheduler!

Let s try using FS_Mutex instead Before: disabling interrupts After: changed to Mutex

Result Before: disabling interrupts After: changed to Mutex Problem Solved!

Customer Example 2: Watchdog Reset Watchdog sometimes expire and resets the system! Why?

Let s check why SamplerTask is not clearing the watchdog... Blocked on xqueuesend. Why?

Let s check the operations on ControlQueue The queue is full. ControlTask not receiving fast enough! Why?

Let s check the CPU Load Graph Remaining time (ms) until watchdog reset when SamplerTask cleared the timer. ServerTask steals the CPU time for ControlTask - need to change priorities!

With Changed Priorites Problem Solved!

User Examples within Validation We get a good overview of the application Great tool to understand what you have coded Really need to know what is going on, otherwise we are not doing our job right Helps us avoid decay in software design Verified that tasks had stopped running when relocating the code from flash to RAM.

User Examples within Profiling Found high response time caused by excessive context-switching Discovered that 20 % of the CPU time was used for polling the keypad. In less than a week, we tripled performance. Measured the start-up time of our device

User Examples within Documentation The visualization makes it easier to discuss problems and designs with my team. Have used screenshots in design documents to show task interactions and timing. I like to keep track of runtime metric as the system evolves, CPU usage of tasks and ISRs.

Questions or comments? johan.kraft@percepio.com www.percepio.com