笔记
Neilo_chen
这个作者很懒,什么都没留下…
展开
-
file结构体中private_data指针的疑惑【转】
本文转载自:http://www.cnblogs.com/pengdonglin137/p/3328984.htmlhi all and barry, 最近在学习字符设备驱动,不太明白private_data在字符驱动中的作用,我们在 驱动中添加一个设备结构体,然后定义了这个结构体的全局指针变量,接着我们就能在 驱动程序中使用这个指针了。我看到很多驱动程序中都把结构体指针付给private_data, 然后对...转载 2020-12-31 11:08:59 · 562 阅读 · 0 评论 -
fasync的总结
fasync的总结我们知道,驱动程序运行在内核空间中,应用程序运行在用户空间中,两者是不能直接通信的。但在实际应用中,在设备已经准备好的时 候,我们希望通知用户...转载 2020-08-13 09:25:39 · 1114 阅读 · 0 评论 -
linux驱动的异步通知(kill_fasync,fasync)---- 驱动程序向应用程序发送信号
应用程序#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <stdio.h>#include <poll.h>#include <signal.h>#include <sys/types.h>#include <unistd.h>#include <fcntl.h> /* fifthdrvtest */.转载 2020-08-13 09:23:24 · 1736 阅读 · 1 评论 -
linux 内核态调试函数BUG_ON()与WARN_ON区别
linux 内核态调试函数BUG_ON()作用:一些内核调用可以用来方便标记bug,提供断言并输出信息。最常用的两个是BUG()和BUG_ON()。 当被调用的时候,它们会引发oops,导致栈的回溯和错误信息的打印。为什么这些声明会导致 oops跟硬件的体系结构 是相关的。大部分体系结构把BUG()和BUG_ON()定义成某种非法操作,这样自然会产生需要的oops。你可以把这些调用当作断言使用..转载 2020-08-12 18:16:32 · 1196 阅读 · 0 评论 -
input子系统详解
Input子系统详解一.Input子系统架构Linux系统提供了input子系统,按键、触摸屏、键盘、鼠标等输入都可以利用input接口函数来实现设备驱动,下面是Input子系统架构:Input子系统架构二.Input系统的组成输入子系统由驱动层(Driv...转载 2020-04-12 21:32:02 · 1809 阅读 · 0 评论 -
12.Linux之输入子系统分析(详解)
12.Linux之输入子系统分析(详解) </h1> <div class="clear"></div> <div class="postBody"> 在此节之前,我们学的都是简单的字符驱动,涉及的内容有字符驱动的框架、自动创建设备节点、linux中断、poll机...转载 2020-04-12 21:29:29 · 221 阅读 · 0 评论 -
内存管理:mmap内存映射
Linux驱动mmap内存映射 </h1> <div class="clear"></div> <div class="postBody"> mmap在linux哪里?什么是mmap?上图说了,m...转载 2020-03-22 12:52:07 · 597 阅读 · 0 评论 -
笔记:内存管理
进程使用对应内存区域的5个数据区:代码段:代码指令,不可写数据段:存放初始化的全局变量和静态变量(static)BSS:存放未初始化的全局变量和静态变量(static)堆:存放运行中动态分配的内存栈:存放临时局部变量、函数参数、返回值2.从用户到内核,内存地址从“逻辑地址”——“线性地址”——“物理地址”逻辑地址经过段机制转化为线性地址,线性地址经过页机制转化...原创 2020-03-15 16:12:30 · 185 阅读 · 0 评论 -
笔记:进程和线程的关系
1. 进程是运行时程序的封装,是系统进行资源分配和调度的基本单位。2. 线程是进程的子任务,是CPU进行调度和分配的基本单位,是比线程更小的能独立运行的基本单位。进程与线程的关系1. 一个线程只能属于一个进程,而一个进程可以有多个线程。2. 资源分配给进程,同一进程的所有线程共享该进程的所有资源。同一进程中的多个线程共享代码段(代码和常量)、数据段(全局变量和静态变量)、扩展段(堆...原创 2020-03-15 11:37:19 · 252 阅读 · 0 评论