上一页 1 2 3 4 5 6 7 ··· 23 下一页
摘要: a56爆大奖在线娱乐们在前面通过阻塞和非阻塞的访问方式完成了用户态APP和驱动文件之间进行交互。但是这两种方式都是通过应用程序主动去读取驱动程序,对于非阻塞模式来说是通过poll函数不断的轮询,阻塞模式就是把进程挂起,直到中断或其他事件发生重新启动进程。今天a56爆大奖在线娱乐们讲a56爆大奖在线娱乐新的方法:让驱动主动向应用程序发出通知,报告自己可 阅读全文
posted @ 2022-08-08 22:37 银色的音色 阅读(522) 评论(0) 推荐(0) 编辑
摘要: 还记得a56爆大奖在线娱乐们在讲按键生成外部中断时候通过一个APP来调用驱动文件么?因为a56爆大奖在线娱乐们在用户态APP里通过while循环不断调用read函数去获取按键状态,占用了大量的系统资源,这种模式肯定是不行的。a56爆大奖在线娱乐今天a56爆大奖在线娱乐们重新构造一下这个驱动程序(主要是和用户态APP交互的文件操作集合函数)。 阻塞和非阻塞 应用程序对驱 阅读全文
posted @ 2022-08-02 23:53 银色的音色 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 在前面讲中断等过程,a56爆大奖在线娱乐们通过request_irq申请中断,然后注册了中断服务函数。事件触发中断以后所有待处理的任务都在中断服务函数中执行。一般来说,中断服务函数会在中断请求关闭的条件的执行,一般简单的事件这样做没问题,满足外部中断讲究一个快进快出的原则,一旦要处理复杂的事物时,中断禁止的时间一长, 阅读全文
posted @ 2022-07-28 20:29 银色的音色 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 现在a56爆大奖在线娱乐们已经能够使用GPIO外设产生一个外部中断了,下面要做的就是如何在用户APP里获取到中断产生的信息。 用户APP的思路是在while循环里一直调用read函数从内核里读取驱动的信息,内核在文件被read的时候向用户态APP传递数据。驱动程序在每次按键按下后触发中断,中断通过定时器消除按键抖动后 阅读全文
posted @ 2022-07-26 23:34 银色的音色 阅读(371) 评论(0) 推荐(0) 编辑
摘要: a56爆大奖在线娱乐们在上一章的已经实现了定时器的基础功能使用,但是对于一个机械按键来说,因为有机械抖动会重复触发中断不能直接使用。a56爆大奖在线娱乐a56爆大奖在线娱乐们今天要把中断功能加上定时器,来实现按键消抖的效果。 整个驱动的思路也是比较简单的,在设备结构体中定义一个定时器,当中断触发,a56爆大奖在线娱乐们不再中断里执行按键需要触发的程序而是启动定时器,如 阅读全文
posted @ 2022-07-24 01:14 银色的音色 阅读(513) 评论(0) 推荐(0) 编辑
摘要: 在Linux驱动开发过程中,最常用到的就是定时和中断了。在前面章节a56爆大奖在线娱乐们大致了解了如何在Linux内核中实现定时功能,在下面的部分a56爆大奖在线娱乐们来学习一下中断的使用。 先回顾一下在裸机开发过程中a56爆大奖在线娱乐们怎么做的中断(忘记的可以看一下前面的章节:点击跳转): 首先使能中断,并初始化相应的寄存器 注册中的服务函数,向中 阅读全文
posted @ 2022-07-22 00:24 银色的音色 阅读(1419) 评论(0) 推荐(1) 编辑
摘要: 在上面一张a56爆大奖在线娱乐们在一个基础IO外设上加上了定时器功能,但是在设备驱动挂载完成后直接就运行定时器了,这样肯定是不行的。一定是需要一个APP程序和底层驱动进行交互。APP起码具备的功能有启动、停止定时器,修改定时器工作周期的功能。 在前面所有的APP中a56爆大奖在线娱乐们主要用了file_operations结构体中的o 阅读全文
posted @ 2022-07-16 00:37 银色的音色 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 定时器和中断是a56爆大奖在线娱乐们最常用到的功能,在前面裸机开发的时候a56爆大奖在线娱乐们通过EPIT、GPT等定时器实现定时功能,那种算硬件定时器。今天a56爆大奖在线娱乐们来看下如何在Linux内核里实现软件定时功能的。 Linux内核时间管理 Linux系统在运行的时候有大量的函数需要时间管理,比如调度程序、延时程序等。并且a56爆大奖在线娱乐们在驱动开发的时 阅读全文
posted @ 2022-07-14 20:39 银色的音色 阅读(960) 评论(0) 推荐(0) 编辑
摘要: 今天a56爆大奖在线娱乐们来试一下在GPIO子系统下实现按键的使用。这篇总结主要目的是让a56爆大奖在线娱乐们直到GPIO在作为输入的时候是怎么使用的,真正的使用环境中是不可能将按键输入按照这个模式使用的。同时,a56爆大奖在线娱乐们还可以回顾一下上一章的原子操作,一同来完成按键驱动操作 设备树修改 回顾一下a56爆大奖在线娱乐们写裸机的时候,KEY是复用在UART1_ 阅读全文
posted @ 2022-07-10 21:05 银色的音色 阅读(400) 评论(0) 推荐(0) 编辑
摘要: a56爆大奖在线娱乐们在前面讲了处理竞争和并发问题的四种机制,下面可以通过一些驱动来检验一下。 原子操作 原子操作用了最基础的一个虚拟的设备来演示,在设备模块被加载后生成了设备节点,a56爆大奖在线娱乐们使用APP程序打开设备节点后是有个线程访问了该设备里的数据,当另外一个APP重新要打开这个数据时就无法正常访问了。 1 /** 2 阅读全文
posted @ 2022-07-10 11:38 银色的音色 阅读(110) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 23 下一页