Zephyr的设备树、Kconfig、驱动关系.png

    • 设备: 设备就是我们实际要操作的真实设备,例如:I2C控制器SPI控制器I2C外设等。
    • Kconfig:决定了驱动程序是否被加载到了系统中。
    • 设备树:决定了驱动程序初始化时的配置,设备树的配置是由真是的设备决定的。
    • 驱动:驱动如果载入到内核的话,就会在系统中注册相应的设备结构体,以供应用程序使用。
    • 应用程序: 在应用程序中我们通过驱动名称查找设备结构体,然后就可以通过设备结构体来调用相应的API来操作设备了。