Embedded Linux kernel and driver development free download online
Title: Embedded Linux kernel and driver development Author(s): Free Electrons Pages: 433 Publisher: http://free-electrons.com Publication date: 2008 Language: English Format: PDF ISBN-10: ISBN-13: Description: Training materials in slides from http://free-electrons.com.
You can free download it from http://free-electrons.com/training/drivers
Overview
The GNU / Linux operating system is more and more used in electronic devices embedding a significant part of software (digital assistants, telephones, dedicated terminals, etc.).
Its strengths are many: freedom of modifying and redistributing sources, OS vendor independence, zero cost, no royalties, available tools, available documentation and support on the Internet by the community of its users.
Duration
3 days. 1/2 of theory and 1/2 of practical labs.
Language
English
Audience
People developing devices using the Linux kernel. Driver developers for internal or external peripherals.
Benefits
Getting experience and knowledge useful to implement Linux based devices and write device drivers.
Course objectives
Learn how to (cross)compile and start a Linux kernel. Learn how to write complex device drivers and debug them on the target platform. Learn how to get help, report issues and even contribute to improving the code.
This course mainly targets device driver developers and doesn't address inner kernel details.
Prerequisites
Knowledge and practise of Unix or Linux commands.
Practise of the C language.
Needed equipment
Video projector, 1 PC computer on each desk (1 or 2 people). No operating system requirement.
Materials
Print and electronic copy of presentations and labs. Electronic copy of lab files.
Contents
Introduction
System overview and role of the kernel
History and versioning scheme
Supported hardware architectures
Legal issues: licensing constraints, software patents
Kernel user interface
Compiling and booting
Getting the sources
Using the patch command
Structure of source files
Kernel modules
Kernel configuration
Files used by kernel configuration tools
Compiling
Cross-compiling
The bootloader
Booting parameters
Debugging through the serial port
Creation of an initrd ramdisk
Basic driver development
Linux device drivers
A simple module
Programming constraints
Loading, unloading modules
Module parameters
Module dependencies
Adding sources to the kernel tree
Kernel debugging
Driver development
Memory management
I/O register and memory access
Character device drivers
Sleeping, interrupts
mmap, DMA
New device model, sysfs
Hotplug
udev dynamic devices
Advice and resources
Using Ethernet over USB
Root filesystem on the host through NFS
Review of the various filesystem types. The MTD subsystem. Advice for making a choice
Getting help and contributions
Bug report and patch submission to Linux developers.
References
Embedded Linux kernel and driver development free download links: