当前位置: 首页 > news >正文

汉南网站建设桂林网页

汉南网站建设,桂林网页,教育机构还能补课吗,喜欢做网站设备树定义 设备树(device tree是描述硬件信息的一种树形结构,设备书文件在linux内核启动后被内核解析。描述一个硬件设备信息的节点我们叫做设备节点,一个设备节点内部包含当前硬件的多个不同属性,相同节点不同属性是以链式结构存…

设备树定义

        设备树(device tree是描述硬件信息的一种树形结构,设备书文件在linux内核启动后被内核解析。描述一个硬件设备信息的节点我们叫做设备节点,一个设备节点内部包含当前硬件的多个不同属性,相同节点不同属性是以链式结构存储。

 

设备树文件格式

        内核顶层目录下/arch/arm/boot/dts:设备树文件存放路径

        单独编译设备树文件:make dtbs

***.dts//设备树源码文件

***.dtsi //设备树的补充文件或者头文件

|

|

DTC(编译设备树的编译工具)

|

|

***.dtb //编译后设备树的镜像文件

设备树的语法

/dts-v1/;  //设备树的版本号

/ {    // '/'表示设备树的根节点,所有的节点信息都在根节点内部定义
    node1 {  //node1是设备树根节点的子节点
        a-string-property = "A string";   //node1节点内部的属性,键值对
        a-string-list-property = "first string", "second string";
        // hex is implied in byte arrays. no '0x' prefix is required
        a-byte-data-property = [01 23 34 56];
        child-node1 {//node1节点的子节点
            first-child-property;  //空属性键值对,用来起到标识作用
            second-child-property = <1>;
            a-string-property = "Hello, world";
        };
        child-node2 {
        };
    };
    node2 {  //根节点的子节点
        an-empty-property;
        a-cell-property = <1 2 3 4>; /* each number (cell) is a uint32 */
        child-node1 {
        };
    };
};

节点命名规则:[@

        name指的是节点名字,是一个简单的 ASCII 字符串,长度最多为 31 个字符。通常,节点是根据它所代表的设备类型来命名的。如果节点使用地址描述设备,则包含unit-address ex:GPIO@50006000

键值对格式

属性是简单的键值对,其中值可以为空或包含任意字节流

文本字符串(以 null 结尾)用双引号表示: string-property = "a string";

“cell”是 32 位无符号整数,由尖括号分隔: cell-property = <0xbeef 123 0xabcd1234>;

二进制数据用方括号分隔: binary-property = [0x01 0x23 0x45 0x67];

不同表示形式的数据可以使用逗号连接在一起:

                                mixed-property = "a string", [0x01 0x23 0x45 0x67], <0x12345678>;

逗号也用于创建字符串列表: string-list = "red fish", "blue fish";

 注:在linux中也有一些特殊的键值对,譬如-----》compatible = "厂商,设备名字;

获取设备树节点信息的API

1.struct device_node *of_find_node_by_name(struct device_node *from,
            const char *name);
        功能:根据设备树节点的名字解析设备树节点
        参数:
                from:当前节点父节点首地址(不知道就填NULL,

                                                                        默认从设备树根节点开始解析)
                name:设备树节点名字  mynode
        返回值:成功获取到解析的设备树节点信息结构体首地址,失败返回NULL

2.struct device_node *of_find_node_by_path(const char *path)
        功能:根据设备树节点路径解析设备树节点
        参数:
                path:设备树节点路径  /mynode0x12345678
        返回值:成功获取到解析的设备树节点信息结构体首地址,失败返回NULL

3.struct device_node *of_find_compatible_node(struct device_node *from,
                                                                    const char *type, const char *compat);
        功能:根据设备树节点中compatibe键来解析设备树节点
        参数:
                from:填NULL,默认从根节点开始解析
                type:NULL
                compat:填写要解析的设备树节点中compatible的值
        返回值:成功获取到解析的设备树节点信息结构体首地址,失败返回NULL

4、struct property *of_find_property(const struct device_node *np,

                                                                        const char *name, int *lenp)

        功能:基于解析后的设备树节点信息结构体解析指定属性键值对

        参数: np:设备树节点信息结构体指针 name:指定的键名

                        lenp:获取到的字节个数

        返回值:成功返回属性结构体首地址,失败返回NULL

如果存储方式不同可用一下API进行转换

__u32 __be32_to_cpup(const __be32 *p)
        功能:u32类型数据大端转小端
        参数:转换的数据首地址
        返回值:返回转换后的数值
__be32 __cpu_to_be32p(const __u32 *p)

http://www.qdjiajiao.com/news/9410.html

相关文章:

  • 二级网站seo关键词推广价格
  • 珠海企业网站推广服务优化大师win7
  • 博兴网站建设手机百度2022年新版本下载
  • 怎么做网站广告百度搜索风云榜人物
  • 银川做网站最好的公司电商平台有哪些
  • python 安装wordpress泉州seo
  • php做网站导购模板搜索引擎查关键词排名的软件
  • 网站建设的前期开发长沙大型网站建设公司
  • 佛山白坭网站建设重庆小潘seo
  • 手机评测网站网络广告图片
  • 青海省建设厅勘察设计备案网站西安seo优化培训机构
  • 珠海网站建设公司有哪些seo营销工具
  • 网站开发协议中的注意事项品牌推广的方式
  • 乌苏市城乡建设局网站网站seo排名优化方法
  • 企业营销网站建设站长资讯
  • 工业园区管委会网站建设方案网页开发流程
  • 做字幕模板下载网站网站关键词seo优化公司
  • 杂志网站模板百度大数据分析工具
  • 网站内容的特点品牌推广的三个阶段
  • 哪里有做外贸网站的网站大全软件下载
  • 南京网站优樱化全网推广怎么做
  • 河北住房和建设厅官方网站搜狗站长管理平台
  • 中小企业网站制作广州网络服务公司找赛合公司什么是seo文章
  • 关于销售网站有哪些内容促销活动推广方案
  • 网站建设价格标准渠道权重查询爱站网
  • 做网站去哪里备案seo实战密码第四版pdf
  • 做暧暧视频免费视频日韩网站个人网站推广方法
  • 长春绿园网站建设如何用手机免费创建网站
  • 网站建设案例信息淘宝怎么推广自己的产品
  • 上海网络公司网站建设百度搜索网页版入口