From a165032581e3a47ac6685943d94e71e7eb06536c Mon Sep 17 00:00:00 2001 From: Suraj Sonawane <srsonawanemajor22@gmail.com> Date: Fri, 29 Mar 2024 07:12:10 -0400 Subject: [PATCH] add implementation details --- proposals/suraj-sonawane.rst | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/proposals/suraj-sonawane.rst b/proposals/suraj-sonawane.rst index 3b19fb2..0dbcfef 100644 --- a/proposals/suraj-sonawane.rst +++ b/proposals/suraj-sonawane.rst @@ -130,6 +130,40 @@ main features: • Support of start-bit write command • Support of start-bit pause and break sequence +Implementation Details +============ + +2. Initial configuration: +================ + + **1. Write board YAML:** + The board YAML file describes the board at a high level. This includes the SoC, board variants, and board revisions. + + + **2. Write device tree:** + The devicetree file describes your board hardware in the Devicetree Source (DTS) format + + **3. Write Kconfig files:** + Zephyr uses the Kconfig language to configure software features. Your board needs to provide some Kconfig settings before you can compile a Zephyr application for it. + + **4. Add Flash and debug support:** + Zephyr supports Building, Flashing and Debugging via west extension commands. + To add west flash and west debug support, we need to create a board.cmake file in board directory. This file’s job is to configure a “runner†for your board. (There’s nothing special you need to do to get west build support for board.) + +2. Driver developement: +================== + **1. Board Files:** + Board files are the primary descriptor of the hardware in Zephyr. + + **2. Device tree overlays:** + DeviceTree Overlays can be used by the Zephyr application to specify new hardware or re-assign existing hardware described elsewhere in the board files. + + **3. Devicetree bindings:** + A devicetree binding declares requirements on the contents of nodes, and provides semantic information about the contents of valid nodes. Zephyr devicetree bindings are YAML files in a custom format (Zephyr does not use the dt-schema tools used by the Linux kernel). + + **4. API Definations:** + Available under "include/drivers/". Provides a general way of unteracting with driver instances. + Software ========= -- GitLab