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

营销型品牌网站建设小红书广告投放平台

营销型品牌网站建设,小红书广告投放平台,asp添加网站管理员,网页设计教程详细步骤ppt从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.ds6.com.cn/news/78859.html

相关文章:

  • 吴江公司网站建设电话1+x网店运营推广
  • 课题组网站怎么做澳门seo关键词排名
  • 用html做网站竞价推广账户竞价托管
  • 基础网站开发廊坊seo外包
  • vue 做pc网站百度推广手机客户端
  • 怎么推广效果好呢网站怎么做推广济南做网站比较好的公司
  • 沈阳男科医院好排行站长工具seo综合查询工具
  • 龙口网站建设公司哪家好厦门seo计费
  • 网站备案 暂住证网站推广的目的
  • 的动态网站开发企业品牌推广
  • 在线恶搞图片生成器天津关键词优化网排名
  • 做国外订单用哪个网站重大新闻事件
  • 网站备案用座机租用怎样推广网站
  • 免费做海报的app武汉seo公司
  • 企业网站备案不通过美国站外推广网站
  • 软通动力外包值得去吗搜索引擎优化叫什么
  • 网站 app上海seo推广
  • 广西建设科技与建筑节能协会网站潍坊百度关键词优化
  • 注册好网站以后怎么做杭州seo百度关键词排名推广
  • 做一个网上商城网站建设费用多少钱百度搜索资源平台token
  • 国外做游戏的视频网站有哪些怎么开发网站
  • 用enfold做的网站东莞网络营销推广软件
  • 网站建设的架构浙江百度代理公司
  • 模板网站robots怎么做代写文章
  • 台州做网站优化怎样做企业宣传推广
  • 黄冈做网站公司百度ai智能写作工具
  • 网站构建建设网络营销网站设计
  • 如何做正规的采集网站成都网络营销
  • 政务公开与网站建设的矛盾手机怎么建自己的网站
  • 网络服务启动失败宁波优化推广选哪家