Description
In this course, you will learn:
- The Internet of Things (IoT) offers developers an array of exciting possibilities to explore
- The basics of using an operating system for IoT, and explores OS-related concepts and examples using an OS kernel, FreeRTOS
- About characteristics and technical requirements of OSs, and explore task management, intertask communication, memory management, and more.
Syllabus:
- Introduction
- What you should know
- Using the exercise files
1. Introduction to Operating Systems for IoT
- Why we need operating systems
- OS characteristics for IoT
- General-purpose OS vs. embedded OS
2. Overview of Existing Operating Systems for IoT
- OSs for resource-constrained devices
- Linux OSs
- Windows 10 IoT Core
3. Introduction to FreeRTOS
- Overview of FreeRTOS
- System architecture
- Get started with FreeRTOS
- Run FreeRTOS on the nRF51 DK board
4. Tasks
- Task execution parallelism
- Task scheduler
- Task management
- Thread safety
- Deadlock
5. Intertask Communication
- Queue
- Semaphore and mutex
6. Memory Management
- Memory allocation
- First fit algorithm
7. Timers
- Use software timers
8. Inputs and Outputs
- I/O devices and peripherals
- Interrupts
9. Debugging
- Debug your OS-based applications