- 1. Introduction to Embedded Linux
- 2. Embedded Linux Hardware
- 3. Linux Kernel Introduction
- 4. Embedded Linux Development Environment
- 5. Development Tools
- 6. Boot Loader and Tool Chain
- 7. Porting
- 8. GUI application Development
- 9. RTOS
- 10. Task
- 11. Scheduling
- 12. Task Functions
1. Introduction to Embedded Linux
- Definition of Embedded Linux
- Introduction to Linux
- Introduction to open source components
- Advantages of Linux kernel and open source for embedded system
- Kernel classification (Monolith kernel and Microkernel)
- GPL legal issues
2. Embedded Linux Hardware
- Embedded Hardware for Linux systems
- Embedded Linux system Architecture
- Embedded Linux Development Environment
3. Linux Kernel Introduction
- Linux features
- Linux versions
- Linux kernel source
- Kernel configuration
4. Embedded Linux Development Environment
- Cross platform development
- Host system requirements
5. Development Tools
- GCC Compiler
- GDB Debugger
- GDB Server
- Trace and profiling tools
6. Boot Loader and Tool Chain
- Building a cross-compiling tool chain for ARM
- Boot loaders
- Configuring cross compilation tool chain Packages
- Cross compiling and booting a Linux kernel
7. Porting
- Porting Linux onto ARM based development board
8. GUI application Development
- Introduction to Linux GUI application Development using QT framework
- Making connections
- Laying out Widgets
- Creating Dialogs
- Creating main windows
- Signal and slots
9. RTOS
- Introduction to RTOS
- What is Real Time System?
- Requirements of Real time System
- Hard Real-time Systems and Soft Real-time Systems
10. Task
- What is a task creation?
- Unitask approach vs. multitask approach
- Task states
11. Scheduling
- Multitasking Kernel
- Context switch
- Priority based scheduling
- Round Robin scheduling
12. Task Functions
- Task states
- Task hooks
- Task synchronization