![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设备树
文章平均质量分 77
jz2440 传统驱动,总线驱动改为设备树驱动
鸭鸭打瞌睡
这个作者很懒,什么都没留下…
展开
-
设备树常用奇奇怪怪速查
设备树里有关节点各种操作,结构体结构体struct device_node 保存设备节点的信息struct of_device_id 结构体struct property 节点属性的结构体struct resource 结构体 节点里reg属性获取后得到 resource结构体根据上面的指引到这里找到详细描述找到设备节点struct device_node 保存设备节点的信息struct device_node { const char *name;.//节点中属性为name的值原创 2021-02-03 17:04:06 · 606 阅读 · 0 评论 -
设备树匹配内核匹配驱动程序的理解
使用设备树时,给驱动程序调用的过程我们把设备树.dts 变成plantform_device的资源 过程一步步了解清楚吃原创 2020-05-18 09:23:22 · 4536 阅读 · 1 评论 -
rk3128,触摸屏驱动移植
设备树修改 rk312x.dtsi 在里面加入自己的编号,避免占用驱动840行报错, GPIO 没有拿到申请of_get_named_gpio_flags/ * *of_get_named_gpio_flags() -获取一个GPIO数和GPIO API使用的标志@np:获取GPIO的设备节点@propname:包含gpio说明符的属性名GPIO的索引@flags:一个要填充的标记指针*返回在Linux通用GPIO API中使用的GPIO编号,或者err原创 2021-01-29 14:21:07 · 797 阅读 · 0 评论 -
写一个设备树的小框架,也方便以后写设备树的时候直接调用
基于linux4.4进行对驱动对设备树的读取设备树相对设备总线框架设备总线: 设备总线框架就是构造出一个device设备(装着硬件口的参数),再构造出一个drv驱动文件当两个文件能够连接,就调用里面的probe函数,和之前写原始字符设备一样,构造那些 file_operation结构体设备树: 引进设备树后相当于用设备树替换掉了,之前的device.c 程序, 内核会把设备树里面的node节点自动设成device 和我们写的drv进行匹配,当匹配的时候, drv程序 就和之前一样调用prob原创 2021-01-21 12:00:12 · 184 阅读 · 0 评论 -
linux驱动中断框架
在中断框架中系统帮我们做了,分为6点1,CPU 自动进入“异常模式”。调用“异常处理函数”。2,在“异常处理函数”中如跳到“b vector_irq + stubs_offset”。3,调用到列表中的“__irq_usr”后,可以具体分析这个“__irq_usr”中处理的情况4,“asm_do_IRQ”调用“irq_desc[IRQ 中断下标]以中断为下标取出里面的一项“handle_ir...原创 2020-03-11 12:11:43 · 468 阅读 · 0 评论 -
设备树的查看与传统驱动比较,简单分析,初次编写,环境搭建
设备树的的查看进入 sys/devices/platform我们先用led 经行 查看进入of_node (开放的固件) 里面有 compatible(属性) name pin(引脚) 进行查看 和设备树上面的一致设备树环境的构造在jz2440 中要更换新的内核—>linux4.19,才能使用设备树,由于需要编译新的内核也需要新的交叉编译链编译器的选择:一个完整的Linux系统包含三部分: u-boot, kernel, root filesystem.a. 对于u-bo原创 2020-05-15 10:32:26 · 605 阅读 · 0 评论 -
设备树和总线驱动模型和传统驱动的比较
和之前的驱动进行对比写一个字符设备驱动我们有传统方式:在leddrv.c 里面写死总线设备驱动模型 :.a.在代码leddrv.c里面进行分配,注册,入口,出口 b.在leddev.c里指定引脚设备树:使用设备树指定引脚 a.在leddrv.c里进行分配,注册,入口,出口 b.在jz2440.dts里指定引脚TV设备Cam设备优缺点1.传统方法fasdddddddddddddddddfffffffffffffffffffffffffffffffasddddddddddd原创 2020-05-12 21:06:01 · 561 阅读 · 0 评论