diff --git a/proposals/suraj-sonawane.rst b/proposals/suraj-sonawane.rst index 3b19fb297cfb5849f4f095c703a9358d391d4edf..0dbcfef1bc37fdcdbba9459b88699ad0d3ecad57 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 =========