Learn the development of Linux embedded systems
Linux has been adapted for use in embedded environments, with prime focus on the ARM architecture. We provide the course to shed light upon installation of cross-development environment, how to build compact version of Linux for embedded device, how to install this build on the target system and test its operation.
Course code: EmbdLinux
Course duration: 4 weeks
Course objectives:
The course starts with a simple project and takes the students through the entire process of creating a special version of Linux kernel. Following are the objectives of this course:
Provide an understanding of essentials of embedded Linux
Explain the essential components- tool chain, kernel, bootloader and root file system
Describe the concept of ARM9
Introduce the concept of embedded Linux
Explain porting of Linux kernel and root file system to ARM9 board
Describe the implementation of application program on ARM9 board
Delegates will learn:
At the end of this course, students will be able to:
Understand the development of environment setup
Learn about drivers and kernel development
Learn to configure and build a customized Linux kernel
How to build a compact root file system
Grasp the concept of modern Linux for embedded systems
Create and test programs that perform I/O and networking applications
Embedded Linux is like adapting the Linux kernel and customizing user-space libraries to a diverse range of applications like military, medical, industrial, consumer households and others. We provide this training program to help students gain experience in the development of applications and system programs.
Embedded LINUX Basics
Introduction to Linux Operating System
Operating System Services
Why Linux
Different types Operating Systems
Monolithic
Micro etc
Basic Linux user commands
Linux root file system structure.
Introduction to GNU Tool chain
GCC compiler
Make file
GDB
Study of ARM9
Difference between Microcontroller and Processor, Difference between Native-Compiler and Cross-Compiler
RISC vs CISC,Harvard and Von Neumann arch
ARM archetecture .
Requirements for Building and using the kernel, Retrieving the Kernel Source
Configuring and Building, Installing and Booting from a Kernel
Upgrading a kernel, Customizing a Kernel, Boot loader – Grub Loader, U-Boot .
Introduction to Embedded Linux
Generic Architecture of a Embedded Linux, System Start up, Types of Boot Configuration
Root File System Structure, Root file system setup
Setting up the boot loader
Emedded Storage (Memory Technology Devices)
Embedded File Systems
Porting Linux kernel and Root file system to ARM9 board
Embedded Storage – Sample MTD Driver
Operating Systems Porting Layer (Boot Loader, Kernel Image, Root File System)
Angstrom Operating system porting on ARM 9
Implementing application program on ARM9 board related to the project
Interaction between the User and Kernel Level With System calls
Explain Device driver application flowchart
Explain kernel Device Driver and User Device Driver Program