本文主要是介绍Linux 内核设备树 ranges属性,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
今天有人问了我一下ranges属性,找了相关资料确认后,记录一下:
参考资料链接:让你完全理解linux内核设备树ranges属性地址转换 - vkang - 博客园 (cnblogs.com)
ranges属性定义如下:
ranges = < local_address parent_address address_sizelocal_address parent_address address_sizelocal_address parent_address address_sizelocal_address parent_address address_size>
注:具体有多少行,根据实际情况来决定
下面已实际代码来分析:
设备树示例如下:
注:上面的设备树代码是随便找的。原理性是通用的。
通过代码示例,我们可以看到,ranges的每一行有7个数值,那么这7个数值是怎么对应的,对应关系如下:
所以解析ranges,需要考虑到的信息有:
#address-cells:本节点和父节点的值
#size-cells:本节点的值
这篇关于Linux 内核设备树 ranges属性的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!