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

平台和网站有什么区别seo推广的特点

平台和网站有什么区别,seo推广的特点,建设网站怎么加购物车,查答案的网站制作模板从Linux设备树读取字符串信息 在Linux内核中&#xff0c;从设备树&#xff08;DTS&#xff09;中读取字符串信息&#xff0c;通常使用内核提供的设备树解析API。这些API主要位于<linux/of.h>头文件中。 常用函数解析 1. of_get_property 获取设备树中的属性。原型:con…

从Linux设备树读取字符串信息

在Linux内核中,从设备树(DTS)中读取字符串信息,通常使用内核提供的设备树解析API。这些API主要位于<linux/of.h>头文件中。


常用函数解析

1. of_get_property

  • 获取设备树中的属性。
  • 原型:
    const void *of_get_property(const struct device_node *np, const char *name, int *lenp);
    
  • 参数:
    • np: 设备树节点指针。
    • name: 属性名。
    • lenp: 输出该属性的长度指针。
  • 返回值:
    • 成功时,返回指向属性值的指针;失败时返回NULL。

示例:

const char *string_val;
int len;string_val = of_get_property(np, "my-string-property", &len);
if (!string_val)pr_err("Failed to read property 'my-string-property'\n");
elsepr_info("Property value: %s\n", string_val);

2. of_property_read_string

  • 直接读取设备树中的字符串属性。
  • 原型:
    int of_property_read_string(const struct device_node *np, const char *propname, const char **out_string);
    
  • 参数:
    • np: 设备树节点指针。
    • propname: 属性名。
    • out_string: 输出的字符串指针。
  • 返回值:
    • 成功返回0;失败返回负值(如-EINVAL)。

示例:

const char *string_val;if (of_property_read_string(np, "my-string-property", &string_val)) {pr_err("Failed to read string property\n");
} else {pr_info("String property value: %s\n", string_val);
}

3. of_property_read_string_array

  • 用于读取多个字符串属性(以空格分隔的字符串数组)。
  • 原型:
    int of_property_read_string_array(const struct device_node *np, const char *propname, const char **out_strings, size_t sz);
    
  • 参数:
    • np: 设备树节点指针。
    • propname: 属性名。
    • out_strings: 字符串数组指针。
    • sz: 最大字符串数量。
  • 返回值:
    • 成功返回实际读取的字符串数量;失败返回负值。

示例:

const char *strings[3];
int count;count = of_property_read_string_array(np, "my-strings-property", strings, 3);
if (count < 0) {pr_err("Failed to read string array\n");
} else {for (int i = 0; i < count; i++) {pr_info("String[%d]: %s\n", i, strings[i]);}
}

流程示例

假设DTS文件如下:

example-node {compatible = "example,device";my-string-property = "example-string";my-strings-property = "string1", "string2", "string3";
};

在驱动代码中:

static int example_probe(struct platform_device *pdev)
{struct device_node *np = pdev->dev.of_node;const char *string_val;if (!np) {dev_err(&pdev->dev, "No device tree node found\n");return -EINVAL;}// 读取单个字符串if (of_property_read_string(np, "my-string-property", &string_val)) {dev_err(&pdev->dev, "Failed to read 'my-string-property'\n");} else {dev_info(&pdev->dev, "Property value: %s\n", string_val);}// 读取字符串数组const char *strings[3];int count = of_property_read_string_array(np, "my-strings-property", strings, ARRAY_SIZE(strings));if (count < 0) {dev_err(&pdev->dev, "Failed to read 'my-strings-property'\n");} else {for (int i = 0; i < count; i++) {dev_info(&pdev->dev, "String[%d]: %s\n", i, strings[i]);}}return 0;
}

常见问题

  1. 设备树节点不存在
    • 确保设备树节点被正确绑定到驱动中,可以通过compatible属性匹配。
  2. 属性不存在
    • 确保DTS中定义了对应的属性名称,并符合读取代码中的匹配。

通过上述方法,可以方便地从设备树中读取字符串信息,并用于设备驱动的配置和初始化。

http://www.ritt.cn/news/188.html

相关文章:

  • 营销型网站建设哪里济南兴田德润优惠吗百度问答官网
  • 我要学做网站推广网站seo
  • 网站建设广州潍坊seo推广
  • 什么是html5网站软文内容
  • wordpress 导航下拉优化设计六年级下册语文答案
  • 旅游网站开发 目的及必要性google网站
  • 创可贴在线设计网站大数据分析营销平台
  • 广州注册公司在哪个网站广西南宁市有公司网站设计
  • 用dw做教学网站cctv 13新闻频道
  • 做恶搞网站软件上海百度seo
  • 如何建立属于自己的网址重庆企业seo
  • 请问聊城网站建设淘宝seo搜索引擎原理
  • 中国建设银行网站地图品牌策划公司
  • 网站建设公司发展理念seo整站优化更能准确获得客户
  • 十堰做网站公司湖南关键词排名推广
  • 专门做焦点图的网站营销推广计划怎么写
  • 找做网站的人深圳优化网站方法
  • 国家网站域名宁波关键词优化排名工具
  • wordpress图片左对齐seo有哪些网站
  • 陕西省住房城乡建设厅网站管理中心在运营中seo是什么意思
  • 怎么做网站收广告费杭州网络推广外包
  • 宁波网站搜索引擎优化十大免费货源网站免费版本
  • 网站盈利方法网站seo外包
  • 如何仿制国外网站山西网页制作
  • 国家建设局网站品牌推广思路
  • 陈江做网站深圳seo秘籍
  • 深圳网站制作公司兴田德润电话多少贵阳百度快照优化排名
  • 滨州做网站的科技公司自己在家做电商
  • 专业做电子的外贸网站建设最佳搜索引擎
  • 做网站用盗版PS郑州关键词排名外包