Linux设备树寄存器资源获取
设备树简介
设备树(Device Tree)是一种描述硬件资源的数据结构,用于将硬件配置信息从内核代码中分离出来。
在Linux驱动开发中,我们通过设备树获取硬件寄存器地址、中断号、时钟等资源,使驱动更具可移植性。
设备树源文件(.dts)编译后生成设备树二进制文件(.dtb),由Bootloader传递给内核。
关键API函数
Linux内核提供了一系列API函数用于从设备树获取资源:
platform_get_resource() - 获取内存、I/O或中断资源
devm_ioremap_resource() - 映射物理地址到虚拟地址空间
of_iomap() - 直接映射设备树节点中的寄存器
of_address_to_resource() - 转换设备树地址为资源结构