The VxWorks 6.x Device Drivers workshop provides engineers with an efficient way to acquire the skills necessary to develop device drivers using both legacy VxWorks and VxBus device driver models.
After this course, participants will be able to:
- Optimize the development of a new device driver from scratch.
- Use coding conventions for ease of debugging and driver portability.
- Utilize common techniques for driver development.
- Write Standard VxWorks I/O drivers.
- Distinguish between legacy VxWorks and VxBus drivers and determine which driver model is appropriate for a particular application.
- Design and integrate custom VxBus drivers.
- Migrate proprietary and legacy drivers to VxBus.
- VxWorks 6.8
- Wind River Workbench 3.2
- Developers with general experience writing device drivers for embedded hardware systems.
- Engineers who will develop VxBus-enabled device drivers.
Day 1
Introduction to VxWorks Device Drivers
- Overview
- VxWorks Device Driver Models
- Introduction to VxBus
- VxBus Terminology
- VxWorks Target Initialization
- VxWorks Development Environment
- Getting Started Lab: Booting, Shells
Driver Design Guidelines
- Design Goals
- VxWorks Coding Conventions
- Control Structures
- Error Handling
- Driver Documentation and Other Resources
- Common Driver Interactions Lab
Day 2
VxBus Integration
- Introduction
- Location of Resources
- Required Files
- Essential Source File Elements
- BSP Configuration
- VxWorks Component Configuration
- Integrating a VxBus Driver Lab
VxBus Initialization
- VxBus Driver Initialization Sequence
- Other Driver Features
- VxBus Show Routines
- Services Available to VxBus Drivers
- Integrating a VxBus Driver Lab
Day 3
VxWorks I/O Interface
- Introduction
- Standard I/O
- Support Routines
- Supporting select( )
- IO Access from User Space
- VxWorks I/O Interface Lab
VxWorks Serial Drivers
- Overview
- ttyDrv
- Driver Routines
- Initialization
- Supporting the WDB Agent
- Polling and Interrupts Lab
VxBus Class-Specific Drivers
- Interrupt Handling
- Interrupt Controllers
- PLB and PCI Buses
- VxBus-Compliant Serial Drivers
- VxBus-Compliant Network Drivers
- VxBus-Compliant Timer Drivers
Day 4
Using VxBus Drivers
- Using Methods
- Using Std I/O Model to Integrate a VxBus Driver Into a VIP
- Dynamic Loading/Unloading
- Removing a Device
- Using VxBus Lab
Migration to VxBus
- Generic Migration Strategy
- Porting OS Agnostic Drivers to VxBus
- Migrating a Legacy LED Driver to VxBus Lab
Prerequisite Course
Prerequisite Skills
- Three to five years OS/programming experience
- One year embedded device programming experience
- Familiarity with device drivers
- Basic understanding of reading and writing device registers