Course Summary
This course covers the fundamentals of embedded operating systems, including real-time operating systems (RTOS), memory management, and device drivers. Students will learn how to design and implement embedded systems using popular RTOS such as FreeRTOS and learn how to debug and optimize their systems.Key Learning Points
- Learn the fundamentals of embedded operating systems
- Design and implement embedded systems using popular RTOS such as FreeRTOS
- Debug and optimize embedded systems
Related Topics for further study
- real-time operating systems
- memory management
- device drivers
- embedded systems design
- debugging and optimization
Learning Outcomes
- Design and implement embedded systems using popular RTOS such as FreeRTOS
- Debug and optimize embedded systems
- Understand the fundamentals of embedded operating systems
Prerequisites or good to have knowledge before taking this course
- Basic knowledge of C programming
- Familiarity with microcontrollers
Course Difficulty Level
IntermediateCourse Format
- Online
- Self-paced
Similar Courses
- Real-Time Embedded Systems
- Embedded Hardware and Operating Systems
- Embedded Software and Hardware Architecture
Related Education Paths
Related Books
Description
This course is intended for the Bachelor and Master's students, who like practical programming and making IoTs applications!
Outline
- Introduction to Embedded Hardware
- Introduction
- Introduction to Embedded Systems
- Design characteristics and challenges
- Input/Output devices
- Wire communication, ADC/DAC
- Sensors, actuators, interrupts vs. polling
- Build your own input/output system with the Arduino!
- Build your own ADC using Arduino!
- Learn how to use serial communication using the Arduino!
- Create a timer for polling using the Arduino!
- Quiz 1 assignment (to be done before Quiz 1)
- Introduction to Embedded HW (Graded quiz)
- Processing Elements of an Embedded System
- Embedded processors and FPGAs
- Main features of embedded processors
- Use-cases of micro-controller platforms
- Reconfigurable platforms, FPGAs
- Embedded processors vs. FPGAs
- Practical list of comparison of MCU vs FPGA
- A comparison between MCU, FPGA, DSP, ASIC from Atmel
- Processing elements (Graded quiz)
- Overview of operating systems and embedded operating systems
- Module 3 Lecture1: Embedded operating systems
- Linux kernel functions and advantages
- The microkernel
- The modular kernel
- Introduction to Contiki
- Introduction to TinyOS
- Introduction to RIOT OS
- In depth reading of the QNX microkernel
- The case for using Contiki in sensor networks
- TinyOS github & Documentation
- RiotOS for IoT
- Embedded Operating Systems (Graded quiz)
- Contiki OS and Cooja simulation
- Contiki and Cooja simulation
- The Contiki system
- Contiki's kernel architecture
- Contiki services and libraries
- Communication in Contiki I
- Communication in Contiki II
- Protothread, multithreading and code sizes
- Cooja simulation
- Get started with Cooja: Step-by-step
- Contiki and Cooja (Graded quiz)
Summary of User Reviews
This course on embedded operating systems has received positive reviews from learners, who have found it to be engaging and informative. Many users have praised the practical approach taken by the course instructors.Key Aspect Users Liked About This Course
The practical approach taken by the course instructors has been praised by many users.Pros from User Reviews
- Engaging and informative course content
- Practical approach taken by course instructors
- Well-structured course material
- Good balance between theory and practice
- Helpful feedback provided by course instructors
Cons from User Reviews
- Some users found the course material to be too technical
- Limited opportunities for interaction with other learners
- Some users felt that the course was too short
- Lack of support for learners who are struggling with the material
- Some users found the course to be expensive