Understanding basic RTOS principles is easy but applying those techniques and reaching an advanced understanding of the concepts is difficult. This workshop propels developers into advanced RTOS application design techniques that are rarely covered in traditional RTOS courses but are critical to the practicing engineer. In this course we will examine practical examples and techniques that will accelerate development activities and improve the robustness of RTOS based designs. We will be using Percepio’s Tracealyzer to not only visualize our applications but also spot common RTOS issues such as priority inversions and dead-lock. The course includes six sessions:

Session 1 – Time Management
Session 2 – Task Synchronization Techniques
Session 3 – RTOS Design Patterns
Session 4 – Introduction to Debugging Techniques
Session 5 – Optimizing RTOS Applications
Session 6 – Securing an RTOS Application

The course is taught in a convenient, hands-on style that provides developers with ample time to not just absorb the material but begin to apply it. The course is offered in several different formats that can be found below:

Live Online Course (Early Bird Special) – $750
Self-Paced Offline – $1000

Live Online Course (Early Bird Special) – $750
Self-Paced Offline – $1000

RTOS Fundamentals and Advanced Course Live (Early Bird Special) – $1350
RTOS Fundamentals and Advanced Course Self-Paced – $1750

Live Course Special – $1350
Self-Paced – $1750

Attendees not only get access to the course materials and recordings but will have access to materials in perpetuity including any updates. Attendees are always welcome to attend the course again to refresh or brush up on their skills at no additional cost.

Live Session Schedule:

Session 1 – April 6th, 2018 1:00 P.M. ET
Session 2 – April 20th, 2018 1:00 P.M. ET
Session 3 – May 4th, 2018 1:00 P.M. ET
Session 4 – May 18th, 2018 1:00 P.M. ET
Session 5 – June 1st, 2018 1:00 P.M. ET
Session 6 – June 15th, 2018 1:00 P.M. ET

For questions, please feel free to contact Jacob directly at jacob@beningo.com.

Who Should Attend?

Attendees are engineers who are interested in or will be designing applications using a Real-time Operating System. The course covers advanced techniques that are rarely discussed in courses or online literature, making the course immediately applicable to the real world. The course is appropriate for engineers with a basic RTOS understanding or experienced engineers looking for new techniques and skills. Attendees should understand the fundamentals of the C programming language. Advanced concepts are reviewed as they apply.

Key Take-a-ways:

  • Hands-on experience developing RTOS based applications
  • How to identify and resolve common RTOS application issues
  • The techniques available to developers designing applications using an RTOS
  • Design patterns and when to use them
  • How to use the microcontroller hardware to debug in real-time
  • Advanced debugging techniques such as Deep Insight Analysis
  • How to optimize an RTOS application
  • Techniques for securing an RTOS based application and kernel
  • Example code and test hardware platform
  • Best practices for RTOS based applications

Hardware and Software:

This course is designed to allow developers to quickly get a RTOS up and running on their own hardware no matter the vendor. The examples in this course are designed to be usable with any RTOS and platform. Developers can easily use any hardware of their choosing, however, all the examples in the course will use the following hardware and software:

  • FreeRTOS
  • ARM Cortex-M Processor
  • Atollic TrueStudio IDE w/ ARM Toochain
  • Percepio Tracealyzer

Course Sessions Overview:

Session 1 – Time Management

  • Tracking time
  • RTOS kernel control
  • Managing timers
  • Understanding timing requirements
  • Issues – Thread Starvation
  • Issues – Priority Inversion
  • Issues – Deadlock
  • Issues – Task Jitter
  • Best Practices

Session 2 – Task Synchronization Techniques

  • Unilateral rendezvous
  • Credit tracking
  • Bilateral rendezvous
  • Client server
  • Synchronizing multiple tasks
  • Selecting the right synchronization method
  • Best Practices

Session 3 – RTOS Design Patterns and Examples

  • Designing an IoT Sensor Node Overview
  • UART command processing
  • ensor Sampling Strategies
  • Command Processing
  • User interactions
  • TCP/IP Integration
  • System Testing
  • Best Practices

Session 4 – Introduction to Debugging Techniques

  • Printf
  • ITM
  • ASSERT
  • SWD
  • OS-Aware Debugging
  • Real-time Tracing
  • Debugging tools
  • Deep Insight Analysis
  • Error trapping
  • Best Practices

Session 5 – Optimizing RTOS Applications

  • RTOS Configuration
  • Memory
  • Performance
  • Energy
  • Trade-offs
  • Best Practices

Session 6 – Securing an RTOS Application

  • Using the MPU with Tasks
  • Defining trusted and untrusted code
  • Using Trustzone with a RTOS
  • Thinking like a hacker
  • Best Practices

Live Online Course (Early Bird Special) – $750
Self-Paced Offline – $1000

Live Online Course (Early Bird Special) – $750
Self-Paced Offline – $1000

RTOS Fundamentals and Advanced Course Live (Early Bird Special) – $1350
RTOS Fundamentals and Advanced Course Self-Paced – $1750

Live Course Special – $1350
Self-Paced – $1750

For questions, please feel free to contact Jacob directly at jacob@beningo.com.