| |
| <!-- |
| (C) Copyright 2018 The Fuchsia Authors. All rights reserved. |
| Use of this source code is governed by a BSD-style license that can be |
| found in the LICENSE file. |
| --> |
| |
| # The Driver Development Kit Tutorial |
| |
| This document is part of the [Zircon Driver Development Kit](/docs/concepts/drivers/overview.md) documentation. |
| |
| This Driver Development Kit (*DDK*) tutorial documentation section consists of: |
| |
| * [Getting Started](getting_started.md) — a beginner's guide to writing device drivers |
| * [Simple Drivers](simple.md) — an overview of what a driver does, with code examples |
| * [Hardware Interfacing](hardware.md) — how to deal with your device's hardware |
| * [RAMDisk Device](ramdisk.md) — walkthrough of RAMdisk block driver |
| * [Ethernet Devices](ethernet.md) — walkthrough of Intel Ethernet driver |
| * [Advanced Topics and Tips](advanced.md) — hints for experienced driver writers |
| and comments on unusual situations |
| * [Composite Devices](composite.md) — talks about devices that are composed |
| of other devices |
| * [Tracing](tracing.md) — monitoring driver performance with tracing |
| * [C++ DDKTL](using-ddktl.md) — Using the C++ DDK Template Library |
| * [Reference](reference.md) — 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. |
| |