Pre-requisites:
Basic understanding of an Operating System.
Embedded Operating System:
- Introduction to Embedded Operating Systems
- Anatomy of an Embedded Linux System: Bootloader, Kernel, Root File System, Application
- Process Management
- Interprocess Communication & Synchronization
- Memory Management
- I/O Sub-system & Embedded File Systems
- POSIX Thread Programming
- POSIX Semaphores, Mutexes, Conditional Variables, Barriers
- Message Queues
- Shared Memory
- Debugging and Testing of Multithreaded Applications
- Socket Programming
Embedded System Linux Device Drivers:
- The Embedded Linux Software Eco-System
- Linux Kernel Modules and Module Programming
- Char Device Drivers
- Kernel Internals: Dynamic Memory Allocations, Handling Delays, Timers, Synchronization, Locking, I/O Memory and Ports, Interrupts, Deferred Executions, Driver Debugging Techniques
- USB Device Driver
- Drivers for GPIO, I2C, and SPI
Real Time Operating System:
- Introduction to Real-Time Concepts
- RTOS Internals & Real-Time Scheduling
- Performance Metrics of RTOS
- Task Specifications
- Schedulability Analysis
- Application Programming on RTOS
- Porting of RTOS
- Configuring RTOS
- Building RTOS Image for Target Platforms