Course Content
Introduction
- Introduction to embedded system
- Introduction to OS and RTOS
- Why Linux?
- Linux in real world
- Licensing in the FREE world(GPL/apache)
- Linux fundamentals
- Linux as a embedded OS
Processor basics
- Standalone processor
- SOC
- Hardware platforms
Boot loaders
- What is a boot loader?
- Boot loader phases
- Startup sequence of boot loader.
- Kernel boot sequence
- Porting u-boot
- User Space Initialization
Target board bring-up
- Factory default setups
- Methods of board bring-up
- Boot and initial debug utilities
Embedded Linux kernel
- Kernel source code and getting the kernel
- Creating kernel image
- Kernel bootargs and initialization.
- Configuring the Linux kernel for different platforms
- Booting the kernel.
- Kernel porting tips
- Example of OMAP platform
System initializations
- root file system
- the init process
- initial ramdisk
- using initramfs
- system shutdown
Device driver for an Embedded system
- Device Driver concepts
- The GPL
- modules
- Licensing
The File-system
- FAT and NTFS
- ext2
- ext3
- jffs
- cramfs
- NFS
- ubifs
- other file-systems:ext4, pseudo file-system, etc.
- Building a file-system
Embedded Development Environment
- Cross compiler and tool chain
- Host system
- target system
Development and Debug tools and techniques
- GNU debugger
- Data display debugger
- Traditional debugging techniques
- Tracing and profiling tools
- binary utilities
- Profiling methods
Embedded Linux application
- Target Debug
- Remote debug
- Shared libraries
Porting Linux
- customize Linux for the target board
Miscellaneous
- MTD
- busy box
Conclude
- Future of embedded system
- What Can we do?