blob: 3f6f6e7a58f89efbbde7e38d454fbd319aea9c31 [file] [log] [blame] [view]
<!--
(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.
-->
# Getting Started
Caution: The pages in this section may contain information that is specific to the
legacy version of the driver framework (DFv1).
Writing a device driver is often viewed as a daunting task, fraught with complexities
and requiring arcane knowledge of little-known kernel secrets.
The goal of this section is to demystify the process; you'll learn everything you
need to know about how to write device drivers, starting with what they do, how
they work, and how they fit into the overall system.
List of documents to get started -
* [Fuchsia Driver Framework][fdf] - Overview of driver manager and driver host
* [Device and driver model][device-driver-model] - Documents that explain device and driver model
* [Driver development][driver-development] - Documents related to interrupts, DMA and other concepts
for developing drivers
* [Drivers Rubric][driver-rubric] - Rules for writing new drivers
* [Driver architectures][driver-architectures] - Documents related to architecture of specific
driver types
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.
<!-- Reference links -->
[fdf]: /docs/development/drivers/concepts/fdf.md
[driver-rubric]: /docs/development/drivers/developer_guide/rubric.md
[device-driver-model]: /docs/development/drivers/concepts/device_driver_model/README.md
[driver-development]: /docs/development/drivers/concepts/driver_development/README.md
[driver-architectures]: /docs/development/drivers/concepts/driver_architectures/README.md