Linux is a 32-bit multitasking and multimedia operating system that enables applications to access the devices on a system to perform specific functions. It supports a wide range of software from TEX to the C/C++ compiler and TCP/IP. The Linux system provides a complete Unix programming environment which includes standard libraries, programming tools, compilers and debuggers. You can understand the terms like cross platform, target hardware and know how to rebuild Linux to target hardware. We offer training course for students as well as professionals who want to learn about Linux, porting of Linux on ARM9, device driver development, system programming and ARM9 and kernel configuration.
Course Code : ddARM9prog
Course Duration : 4 weeks
Device Driver Course objectives:
The primary objectives of this course include:
Learn about different types of operating systems
Understanding of kernel level programming of Linux operating system
Know about the development of device drivers
Study of ARM9 & Kernel configuration and compilation for ARM9
Describe the porting of Linux kernel and Root file system to ARM9 board
Delegates will learn in Device Driver Training:
At the end of this training course, you will be able to:
Gain extensive knowledge on types of operating systems
Get familiar with the functions of Linux operating system
Learn writing of device driver programming in Linux
Understand ARM architecture
Understand how to configure, build, install and boot from a kernel
Course Contents
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
Introduction to Device Drivers – Module Programming
The role of the device driver
Classification of Devices and Modules
Building and running Modules
Hello world Module
Process context, interrupt context, Kernel timers
The Linux device model (devices, udev,sysfs,procfs)
Character Driver basics
Writing Device Driver Programming in Linux
Open, Read, Write and Close System Calls
Major and Minor Numbers
Charater Device Data structures
Charater Device Registration
Writing Simple Charater Device Driver
Debugging by Printing, Concurrency and Race Conditions (Semaphores, Mutexes, Completions, Spinlocks)
Advance char device operations (ioctl), Kernel Timer
I/O Ports and I/O Memory – Writing Parallel port driver Interfacing With LED, Seven Segment Display.
Interrupt Handling With Parallel Port
UART Driver
Study of ARM9 & Kernel Configuration and Compilation for ARM9
Difference between microcontroller and processor, Difference between native compiler and cross compiler,
RISC vs CISC,Harvard and vonueman 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.
Porting Linux kernel and Root file system to the 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 Device driver application program related to the Driver
Interaction between the User and Kernel Level With System calls
Explain Device driver application flowchart
Exaplain kernel Device driver and user device driver program
The Linux training offered by our expert trainers will help you on your journey from a beginner to a Linux professional in no time.