代码编织梦想

#include <linux/init.h>
#include <linux/module.h>
#include <linux/of.h>
/*mynode@0x12345678{
    compatible = "hqyj,mynode";
    astring = "hello 22071";
    unit = <0xaabbccdd 0x11223344>;
    binarry = [00 0c 29 7b f9 be]
    mixed = "hello",[11 22],<0x12345678>;
};
*/
//定义指针指向获取的设备树结点
struct device_node *node;
struct property* pr;
int len,i,ret;
unsigned int val;
unsigned int array[2];
const char *str;


static int __init mycdev_init(void)
{
    //通过路径获取设备树结点信息
    node = of_find_node_by_path("/mynode@0x12345678");
    if(node == NULL)
    {
        printk("of_find_node_by_path is error\n");
        return -EFAULT;
    }
    printk("of_find_node_by_path is success\n");
    // printk("name = %s,value = %s\n",node->properties->name,(char *)node->properties->value);
    // printk("name = %s,value = %s\n",node->properties->next->name,(char *)node->properties->next->value);
    // printk("name = %s,value = %s\n",node->properties->next->next->name,_be32_to_cpup((int *)node->properties->next->next->value),_be32_to_cpup((int *)node->properties->next->next->value+1));
   
   //解析单字节属性
//    pr = of_find_property(node,"astring",&len);
//    if(pr == NULL)
//    {
//     printk("of_find_property is error\n");
//     return -EFAULT;
//    }
//    for(i = 0;i < len;i++)
//    {
//     printk("name = %s,value = %#x\n",pr->name,*((char *)pr->value+i));
//    }

//获取u32的值
ret = of_property_read_u32_index(node,"uint",1,&val);
if(ret)
{
    printk("of_property_read_u32_index is error\n");
    return EFAULT;

}
printk("value = %#x\n",val);
    return 0;
}

static void __exit mycdev_exit(void)
{

}

module_init(mycdev_init);
module_exit(mycdev_exit);
MODULE_LICENSE("GPL");

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_73047802/article/details/128005687

《安富莱嵌入式周报》第247期:2022.01.03--2022.01.09-爱代码爱编程

往期周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 本周发布了两期视频教程: DSP视频教程第1期:DSP诞生40周年,Cortex内核对DSP的支持现状和未来DS

2022.1.10-2022.1.16 AI行业周刊(第80期):离职-爱代码爱编程

篇章一:AI行业理解 上周五,在视频号上直播,和大家分享了大白在工业视觉从业7年,智慧城市从业3年的一些心得体会。 两个领域从业方面的不同点,软硬件的不同,以及工作方式的不同。 在直播中也提到,在CV领域从业的越久,越来越觉得行业的认知真的很重要。 这里的认知,并不是指算法技术,而是对于应用场景的理解,产品价值感的创造。 以智慧城市为例,我们知道

2022.1.24-2022.1.30 AI行业周刊(第82期):过年-爱代码爱编程

篇章一:过年 今天是大年初一,从农历上来说,正式进入新的一年,在这里,首先祝愿所有读者朋友们,在新的一年里,所得皆所愿,所遇皆所求,虎年可以实现所有的梦想。 很多朋友在讨论过年时,都会说年味越来越淡了,没有小时候那么期盼,因为过年才有新衣服穿,才有大鱼大肉。 而且小时候过年,所有的亲戚老小全都聚在一起,几十个人热热闹闹。 而现在,大多数都是各个家庭

【最新】2022.2.11青龙面板拉取常用脚本(JD签到)目前在维护的脚本更新-爱代码爱编程

【注意】青龙config.sh配置需要把GithubProxyUrl="GitHub Proxy 代理加速" 修改为GithubProxyUrl=""否则会拉取失败 在青龙面板添加拉库任务 ,定时建议40 8-23/4 * * * ,集中在白天更新库,当然也可以手动拉。 ql repo https://gitee.com/dylanote/jdpro.

【无标题】-爱代码爱编程

MyEclipse迎来了重大的版本更新,下面将为您介绍主要更新内容: 点击获MyEclipse官方正式版 Jakarta EE 9 and 9.1(16.0.10) 支持Jakarta 9 并初步支持 Jakarta 9.1 。目前,我们是唯一支持此版本 Jakarta EE 规范的 Eclipse 产品。 当创建任何企业项目时,需要选择规

超详细的最新版 2022.2 kali 安装步骤及拍摄快照的方法_小窦。的博客-爱代码爱编程

kali的安装教程 1.进入官方网站 https://www.kali.org 点击Downloads进行下载 2.跳转至下载界面 有虚拟机的直接选择第一个下载镜像就可,没有虚拟机的选择第二个。我电脑上有虚拟机直接下载镜

第五次线上面试总结(2022.9.21 二面)_线上面试 java-爱代码爱编程

文章目录 2022年9月21号 第五次线上面试(二面)面试题总结1.项目中主要用了哪些包?2.ThreadLocal的作用?3.怎么查线上服务内存溢出问题?比如内存有两个G,但使用了三个G。4.jps、 jst