驱动开发
文章平均质量分 66
德拉库斯
软件研发工程师
展开
-
Linux驱动----总线
设备对象,用于描述设备信息,包括地址,中断号和其他的一些自定义数据。struct kobject kobj, //所有对象的父类const char *init_name, //在总线中的名字,用于做匹配,在sys/bus/mybus/device/名字struct bus_type *bus, //依附于总线的对象,也就是在哪个bus中void *platform_data, //自定义的数据,可以指向任何数据类型.....原创 2024-08-03 23:29:18 · 376 阅读 · 0 评论 -
linux驱动开发步骤
【代码】linux驱动开发步骤。原创 2024-08-01 23:51:08 · 458 阅读 · 0 评论 -
Linux字符设备驱动编程概览
4、利用udev/mdev机制创建设备文件节点 class_create, device_create(与内核相关)7、实现操作硬件的方法 xxxx_open, xxxx_read, xxxx_write(与硬件相关)3、注册字符设备驱动 cdev_alloc , cdev_init , cdev_add(与内核相关)2、申请设备号 register_chrdev_region(与内核相关)============调用内核核心层接口。============注册到内核核心层。原创 2024-07-28 18:37:14 · 334 阅读 · 0 评论 -
Linux驱动------中断的上半部和下半部
对于中断处理函数来说,我们要求尽可能时间短,才不容易出现由于当前中断处理时间过长而导致的其他线程的一些异常,例如获取某些资源失败。但是可能因为某些原因导致中断的处理无法控制在一个比较短的时间内,因此引入了中断的上半部和下半部,在上半部处理一些简单时间短的任务,例如初始化设备,申请设备节点等,而将那些耗时的操作放在下半部去执行。操作系统在执行中断时,会先执行中断的上半部,然后中断处理函数就会返回,系统去执行中断之前的任务了,之后让系统调度下半部继续执行即可。原创 2024-07-28 17:33:10 · 451 阅读 · 0 评论 -
linux驱动----多路复用
poll是一种多路复用的IO模型,允许一个进程同时监控多个文件描述符是否就绪,当文件就绪时,poll返回可读,可写或异常事件数量,使得程序能够做出相应的处理。timeout:超时时间,-1表示一直等待(阻塞等),0表示不等待(非阻塞),正数表示等待毫秒数。其中:fds指向一个pollfd结构体数组的指针, 每一个结构体描述一个被监控的文件描述符。2、调用poll_wait,将当前的等待队列注册到系统中。nfds:监控的文件描述符的数量。1、返回一个mask值。原创 2024-07-28 16:31:10 · 218 阅读 · 0 评论 -
linux驱动--中断
通过设备树文件获取/dts/xxxx.dts文件中进行设备的设置在dts设备树文件中进行设备的定义,包括继承的设备,中断号的设置需要对我们的dts设备树文件进行编译,然后重启开发板,在proc目录下device-tree目录下可以找到我们添加的设备。原创 2024-07-27 22:43:55 · 453 阅读 · 0 评论