设计目标
随着时间的推移,Zephyr对设备树的使用有了显著的发展,预计还会有进一步的变化。以下是一般的设计目标,以及关于它们如何影响Zephyr的源代码的具体例子,以及还有更多工作需要做的领域。
所有硬件信息的单一来源
Zephyr应只从设备树处获得其硬件说明。
示例
新的设备驱动程序应使用设备树api来确定要创建哪些设备。
树内示例应用程序应使用别名来确定在当前构建中将使用给定类型的多个可能的通用设备中的哪一种。例如,Blinky使用这个方法来确定要闪烁的LED。
开机时引脚调制和引脚控制可以通过设备树完成。
剩余工作示例
Zephyr的测试运行器(Twister)目前使用板.yaml文件来确定板支持的硬件。这应该从设备树那里获得。
各种设备驱动程序目前使用Kconfig来确定启用了特定兼容的实例。这可以而且应该用设备树覆盖来完成。
板级文档仍然包含由手动生成和维护的硬件支持表。这可以也应该从板级设备树的获得。
struct device