Linux驱动
主要介绍驱动部分的内容
weixin_46097899
这个作者很懒,什么都没留下…
展开
-
mmap接口
应用层:所需头文件:#include <sys/mman.h> void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset); 功能:物理地址映射 参数: @addr NULL ,让内核选择一块可用的物理空间,进行映射 @length 映射的内存空间大小 @...原创 2020-03-14 19:02:31 · 343 阅读 · 0 评论 -
字符设备驱动简化框架和misc杂项设备
一、字符设备驱动简化框架1.分配设备号2.分配cdev结构体3.初始化cdev结构体4.添加cdev到内核int register_chrdev(unsigned int major, const char *name,const struct file_operations *fops)功能:注册字符设备参数: @major 主设备号 @name ...原创 2020-03-10 19:44:12 · 145 阅读 · 0 评论 -
定时器
内核定时器:定时触发定时器中断,执行定时器中断处理函数头文件:<linux/timer.h>定时器数据类型:struct timer_list {unsigned long expires; //定时器计数时间值void (*function)(unsigned long); //定时器处理函数unsigned long data; //私...原创 2020-03-09 13:09:38 · 136 阅读 · 0 评论 -
同步互斥机制及自旋锁、互斥体
一、同步互斥机制应用场景:多线程的时候线程和进程的区别:进程是拥有资源的最小单位,线程是参与调度的最小单位。执行单元:进程、线程、SMP(对称多处理器)资源:软件资源或者是硬件资源并发:多个执行单元同时被执行。竞态:多个执行单元同时被执行,处理的是同一个资源,就会导致竞态。临界区:对资源进程操作的代码区临界资源:可能会被多个执行单元同时访问并操作的资源导致竞态原因:...原创 2020-02-27 13:37:03 · 1415 阅读 · 1 评论