Understanding RTOSs in 45 minutesStatus: Available Now
Although it might seem complex at first glance, the concepts behind a real-time operating system, or RTOS, are fairly simple to understand. An RTOS is little more than software that manages the time and resources of a CPU. An RTOS ensures that time critical code executes before non-time critical one, and allow you to split your application into separate functional units called tasks. An RTOS also provides valuable services to your application such that tasks can interact with one another as needed. This simple model happens to be effective, which is one of the reasons why RTOSes are used in countless IoT and embedded systems.
In this RTOS introductory class, I will describe most of the RTOS concepts in generic terms using visual aids. I will also expose both the benefits and drawbacks of RTOS-based systems. By the end of this class, you should be able to determine whether an RTOS is a good fit for your application.
60 minutes (with Q&A)
Understanding of CPU architectures, memory, interrupts
Express Your Software Ideas GraphicallyStatus: Available Now
Today’s code editors are very powerful tools that offer syntax highlight, code completion, versatile search, variable browser, function browser, hover-over and jump to declaration/definition, etc. However, even with these amazing features, you are still staring at a few hundred lines or so of source code, putting you straight in front of a proverbial tree thus missing the view of the forest.
There are literally dozens of software modeling methods and methodologies, yet many embedded software developers jump directly to the coding aspect, often bypassing an important step that would help you understand and document the structure of an application. That being said, I’m not trained in most of these formal methods however, I use graphical techniques adapted to software from my Electrical Engineering background.
This class will explore some of the techniques that served me well when designing and architecting applications. As simple as some of these techniques might be, they have helped me develop complex applications.
Live Q&A - Express Your Software Ideas GraphicallyStatus: Available Now
Live Q&A with Jean Labrosse for the theatre talk titled Express Your Software Ideas Graphically
Live Q&A - Understanding RTOSs in 45 minutesStatus: Available Now
Live Q&A with Jean Labrosse for the talk titled Understanding RTOSs in 45 minutes
The State of the RTOSStatus: Available Now
An awesome discussion between RTOS experts on where are RTOS is today and where it's going into the future.
An opportunity to ask your questions about RTOS application design.
Demystifying Memory Protection Units (MPUs)Status: Available Now
A Memory Protection Unit (MPU) is hardware that improves the safety and security of an embedded device by only allowing access to memory and peripheral devices by the code that needs to access those resources. The application can be organized by processes, each having access to its own memory and peripheral space. Not only does the MPU prevent application code from accessing memory or peripheral devices outside its designated area, but it can also be a useful tool for detecting stack overflows, one of the most common causes of issues when using an RTOS.
This class discusses some of the features provided by most MPUs, but specific examples assume the MPU found in most ARM Cortex-M MCUs. Topics covered include:
- Privilege modes
- Limiting RTOS APIs for user code
- Preventing code from executing out of RAM
- Sharing data
- Keeping RTOS objects in RTOS space
- Handling faults
- And more