A real-time embedded system is designed to monitor and respond to external environments within a time deadline. Systems interact with the environment using a variety of hardware and software interfaces. The embedded software manages these interfaces and makes sure that the tasks are accomplished within tight timing constraints. The Real Time Operating System (RTOS) on these devices is responsible for scheduling independent tasks and managing processes. This introductory course provides a foundation in the features and programming models of real-time embedded systems with hands-on learning. The course introduces the fundamentals of real-time scheduling and resource management protocols that are essential in designing and building products and covers the use of RTOS to effectively design tasks and device drivers to meet real-time requirements.
Learning Objectives
Students will learn about important topics in real-time systems, such as priority-based real time scheduling, interrupt handling, using timers, and detecting and preventing deadlocks. The course will also discuss multi-threading, cooperative versus preemptive multi-tasking and inter-process communications, focusing on programming in FreeRTOS and understanding internals such as schedulers and idle tasks.
Framework Connections
The materials within this course focus on the NICE Framework Task, Knowledge, and Skill statements identified within the indicated NICE Framework component(s):
Competency Areas
Feedback
If you would like to provide feedback on this course, please e-mail the NICCS team at NICCS@hq.dhs.gov. Please keep in mind that NICCS does not own this course or accept payment for course entry. If you have questions related to the details of this course, such as cost, prerequisites, how to register, etc., please contact the course training provider directly. You can find course training provider contact information by following the link that says “Visit course page for more information...” on this page.