- 博客(3)
- 收藏
- 关注
原创 linux驱动开发笔记_ioctl函数
1.相关概念ioctl 是设备驱动程序中设备控制接口函数。某些设备除了开关、读写功能外,可能还有其它的功能,比如说设置串口波特率、设置马达的转速等等。1.用户空间函数#include <sys/ioctl.h> int ioctl (int fd, unsigned int cmd, ...)参数描述fd打开文件描述符cmd交互协议,设备驱动将根据cmd执行相应的操作…可变参数arg,依赖cmd中指定的长度以及类型ioctl()函数执行
2021-01-29 17:52:36 303
原创 Linux驱动开发笔记_工作队列&共享队列
1.工作队列1.工作队列运行在特殊的内核进程中;2.工作队列函数可以修休眠;3.工作队列中的任务函数不能访问用户空间;4.工作队列是延迟操作的一种方法;1.创建工作队列#define create_workqueue(name) \ alloc_workqueue("%s", WQ_MEM_RECLAIM, 1, (name)) #define create_singlethread_workqueue(name) \ alloc_ordered_workqueue(
2021-01-27 23:01:46 242
原创 linux 驱动开发笔记_内核定时器&tasklet
1.判断内核代码的状态in_interrupt()1.判断内核自己是否处于中断上下文中;2.无需输入参数;3.如果处理器运行在中断上下文就返回非零值。(包含硬件中断和软件中断)。in_atomic()1.判断是否位于原子上下文中;2.无输入参数;3.调度不被允许时,返回非零值。(包含硬/软中断、拥有自旋锁的的时间点)。2.内核定时器使用1.创建结构体(定时器)struct timer_list {…unsigned long expires; //期望运行
2021-01-27 17:23:33 174
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人