This document is part of the Zircon Driver Development Kit documentation.
This Driver Development Kit (DDK) tutorial documentation section consists of:
- Getting Started — a beginner's guide to writing device drivers
- Simple Drivers — an overview of what a driver does, with code examples
- Hardware Interfacing — how to deal with your device's hardware
- RAMDisk Device — walkthrough of RAMdisk block driver
- Ethernet Devices — walkthrough of Intel Ethernet driver
- Advanced Topics and Tips — hints for experienced driver writers and comments on unusual situations
- Composite Devices — talks about devices that are composed of other devices
- Tracing — monitoring driver performance with tracing
- C++ DDKTL — Using the C++ DDK Template Library
- Reference — helper functions, data structures, manifest constants
The sections are listed above in default reading order, but it's perfectly fine to jump around and read them in order of interest or applicability.
Generally, each section is written with increasing complexity; the first parts of each section can safely be skipped / skimmed by experts, whereas a beginner should find sufficient explanation to allow them to understand the advanced sections.
Indeed, the above chapter structure follows the same progression: from beginner to advanced, allowing the expert to skip / skim early sections while providing a beginner with sufficient information.