SCHEDULE BUILDER
Welcome to the Drive World with ESC 2019 Presentation Store. Here you can view and download conference presentations before, during, and after the event. If you’re looking for a presentation from a specific session that you’re unable to find here, note that it’s likely because the presenter has not provided permission for external use or has not yet shared their presentation with us. Please check back after the event for a more complete catalogue of available presentations.
An Introduction to RTOSs
Jean Labrosse (Software Architect, Silicon Labs)
Location: Room 210
Date: Tuesday, August 27
Time: 2:15pm - 4:45pm
Track: Tutorials & Hands-on Demos, ESC - Embedded Software Design & Verification
Format: Tutorial/Demo
Vault Recording: TBD
An RTOS is software that manages and optimizes the time and resources available to a CPU. RTOSs have been available since the late 70s and have been used on 8-bit CPUs and now, with the popularity of 32-bit CPUs it almost doesn't make sense to not use an RTOS in your embedded design.
This tutorial will help you understand what RTOSs are and they work so that you can make better use of their features. The class will explain what an RTOS is and why you should use one. We'll explain what task are, why you need a stack for each task, how and when an RTOS decides which task to run, what a preemptive kernel is, how to split your application into tasks, what are semaphores and how to use them, what's the difference between semaphores and mutexes, how to assign priorities to tasks, we'll talk about priority inversions, how to reduce power consumption and more.
The class will include demos showing multitasking in action, how to visualize the operation of your tasks under an RTOS, show you how much stack space you need to allocate to tasks, how to determine how much CPU time is being consumed by your application, and more.
The demos will be designed around Micrium's uC/OS-III running on an ARM Cortex-M platform. However, the knowledge you will gain will apply to all RTOS whether open source or commercial.