1. Introduction to Linux Kernel
- What is a Linux Kernel?
- Kernel Programming
- Module Programming
2. Introduction to embedded Linux
- Benefits of using Linux and open source tools for embedded systems
- SOC overview
- Embedded Linux system architecture
- Software components for embedded development
3. Introduction to Embedded Systems
- Benefits of using Linux and open source tools for embedded systems
- SOC overview
- Embedded Linux system architecture
- Software components for embedded development
4. Cross-compiler tool-chains
- Need for cross tool-chain
- Different tool-chain & build procedures
- Using pre-build cross tool-chain
- Building our own cross tool-chain
|
5. Machine emulator and virtualizer
- Why emulator
- Installing emulator
- Using emulator for ARM
6. Linux booting process
- Linux booting sequence
- Components of Linux booting
- Tweaks and changes
- Use cases
7. U-boot
- Introduction to u-boot
- Overview of U-boot source
- Building U-boot for target
- Booting target with U-boot
- Understanding U-boot environment
- Transferring images to target using U-boot
8. Kernel
- Supported hardware architectures
- Using predefined config files
- Cross-compiling the kernel for target
- Understanding kernel boot arguments
- Understanding NAND/NOR flash
- File system for flash
|
9. Embedded Drivers
- Platform devices Stack
- I2C stack
- SPI stack
- UART stack
- MTD stack
- GPIO access
10. File system
- Understanding Unix File system hierarchy
- Creating file system
- Porting application
- Mounting file system as initrd
- Integrating file system and kernel image
- Cross-compiling applications and libraries
- Creating jffs2 file system
11. Flashing Images
- Flashing kernel image
- Flashing file system
12. Extras **
- Memory Technology Device
- Device Tree
- Build BusyBox Utility Suite
- KBuild System
- Compressed Filesystems
- Build Target Root Filesystem
- Kernel Configuration, Compilation, Booting
- Real Time System Concept
- Build Root
|