- Migrating RTOS device drivers to embedded Linux
- Mobilinux DPM programmer's guide
- Tips for improving embedded Linux startup time
- Migrating legacy VxWorks applications to Linux
- Linux for real-time webinar
- Embedded Linux power management on Atom webinar
- Migrating VxWorks applications to Linux webinar
- Linux: Buy or Build? Weighing your options webinar
EMB530: Device Drivers with MontaVista Linux
Overview
This is a four-day hands-on programming course on writing device drivers for embedded systems using MontaVista Linux. This instructor-led course provides the skills needed to successfully develop, test and integrate kernel modules and device drivers as appropriate to embedded Linux products.
Participants
Students should be professional software developers building embedded systems using MontaVista Linux.
Prerequisites
Students are expected to be proficient with MontaVista Linux as well as the C programming language. (The EMB510 course can provide the necessary proficiency with MontaVista Linux.)
Objectives
- Write and execute a kernel module including a /proc handler
- Create and test a Linux device driver
Description
This course prepares developers for creating device drivers with MontaVista Linux.
Class begins with a brief review of the development environment and MontaVista Linux. Dynamic modules, the /proc file system, and kernel-state execution are presented next. Linux services available in these areas are described. Memory mapping, allocation and user-space access are described and their associated services presented along with descriptions of when to apply the various techniques.
Device drivers and interrupt handling are presented in detail. System and device initializations, the characteristics of different bus hardware and the techniques and features of Linux that must be applied are covered. Driver loading and installation, control of processes and threads, and typical driver operations receive a careful examination.
In each section, hands-on exercises supplement the lecture materials with practical challenges modeled on actual development experience. Successful students will write and test a Linux device driver on live hardware during the course.


