Linux设备树(Device Tree)是在内核启动阶段就会被解析。当 Linux 内核启动的时候,它会读取设备树文件(dtb文件)并根据里面的信息来组织设备、加载驱动等。在驱动代码里,通常我们是在驱动初始化(比如 probe 函数)的时候才开始解析设备树相关的信息。这个阶段内核已经启动并且设备树已经被加载和解析过了。通常,我们需要通过相关的API,比如 of_find_node_by_name
, of_get_property
, of_get_named_gpio
等等函数来获取需要的信息或者资源,如IO资源,中断号, 时钟等。