- 博客(24)
- 收藏
- 关注
原创 m3红外驱动
最底层与硬件打交道的驱动: 1 硬件初始化 (初始化 控制寄存器, 时钟控制器,中断寄存器--当fifo不为空就产生中断等) 2 软件初始化 为句柄付初值.3 中断处理函数 当有数据需要decode 就会调用 ir_decode,ir_decode 调用ir_state_change. 里面检测脉冲4个状态来确定开始和结束.当接收完一个包,就解析出码cmd= (pinstance->pa
2011-11-16 12:36:10
376
原创 输入子系统
输入子系统的结构 物理设备 -> input Dirver -> input_core ->input_handler ->上层应用程序每个输入设备都在/dev/input下生成一个文件,输入设备的驱动需实现文件的相应操作,如read write open 等等在我们需要为我们设备创建驱动时,我们不需要这么麻烦去实现每个接口,因为这个已经被输入子系统为我们做了,我们只需要注册一个输入设
2011-11-09 10:08:42
513
转载 sysfs文件系统
sysfs 是 Linux 内核中设计较新的一种虚拟的基于内存的文件系统,它的作用与 proc 有些类似,但除了与 proc 相同的具有查看和设定内核参数功能之外,还有为 Linux 统一设备模型作为管理之用。相比于 proc 文件系统,使用 sysfs 导出内核数据的方式更为统
2011-10-13 14:43:37
828
转载 c# 调用.bat文件
http://www.sina.com.cn 2009年07月30日 19:30 IT168.com文本Tag: ASP.NET 微软 .NET web开发 【IT168技术文档】使用命名空间:using System.Diagnostics;Sy
2011-09-23 11:48:18
782
原创 我要的快乐
就算我很弱,我没有一技之长,我只是很平淡,没有任何突出的能力。很平淡很普通的我我不应该为找不出bug而难过而觉得一无是处,不应该为暂时的困难而难以快乐的生活不管什么时候我应该快乐就算我bug没找出来,代码功底很弱,我都不应该总因为这些纠结不止。头晕了疼了重了,我要
2011-09-21 12:44:27
338
原创 Visual Studio 2005下编写DLL程序
其 实VS下面开发C++的DLL还是很方便的,而且Release的时候也很方便,只要把模块的只能划分清楚,封装好不同的DLL工程,在一个主工程里面引 用这些不同的DLL工程还是很不错的,这样发布的时候有一个主工程的EXE 和不同的DLL就可以了,不论是调试还是Release都比较
2011-09-19 15:23:47
582
原创 静态库
有时候需要把一组代码编译成一个库,这个库在很多项目中都要用到,例如libc就是这样一个库,我们在不同的程序中都会用到libc中的库函数(例如printf),也会用到libc中的变量(例如以后要讲到的environ变量)。本节介绍怎么创建这样一个库。我们继续用stack.c的例
2011-09-13 18:49:52
392
原创 地址
内核逻辑地址:与物理地址一般只存在一个偏移量,通常保存在 unsigned long和void *类型的变量中, 由malloc返回的内存就是逻辑地址;映射低端内存(接触的大多数系统,所有的内存都是低端内存),不能用于高端内存(高端内存是超过32位可寻址的范围内核虚拟地址:
2011-09-02 10:07:43
350
原创 随机数
C语言随机数应用 2010-01-31 00:04:06| 分类:业余学习 |字号 订阅 当我们要用到随机数时,通常是要用到C程序库中所提供的rand() ,但因为其“伪”性,所以如果要产生真正的随机序列必须要了解“ 种子”的概念。开
2011-09-01 16:01:06
330
原创 竟态,阻塞
产生的情况:SMP系统中任何时刻都可能出现内核的代码是可抢占的 设计驱动时尽可能减少资源共享保护数据并发访问的一般方法使用缓冲区并且避免共享变量使用自旋锁实现互斥访问使用原子地递增或递减锁变量 //. . . . . . . 以上保持不变s
2011-08-24 21:53:45
525
原创 kmalloc
kmalloc( size, flags)这个函数在没被阻塞时会返回得很快,但是分配的内容没有清零。分配后需要调用memset清零flags:GFP_KERNEL和GFP_ATOMGFP_KERNEL:表示调用它正代表某个进程执行系统调用:允许空闲内存较小时睡眠等待一
2011-08-22 19:43:47
452
原创 任务队列
1 任务队列定义任务队列其实时一个任务链表:struct tg_struct{struct tg_struct *next;int sync;void (*routinue) (void *); 调用的函数void *data;函数参数}需
2011-08-22 19:34:08
979
原创 经由unix域套接字传送文件描述符
sendmsg 和recvmsg 该两个函数都指向msghdr指针:该结构包含了所有有关收发内容的信息两个元素处理控制信息的传送与接收
2011-08-19 16:40:31
437
原创 socket
客户端与服务器客服端:获取sockfd ,connect......服务器:获取sockfd,bind,listen, accept......监听描述符和已链接描述符服务器使用listen将描述符转化为监听描述符listenfd。等待客户端的链接请求到达li
2011-08-19 16:39:51
318
原创 异步通知
异步通知:可试应用程序无需一直轮寻数据是否准备好,而只是在数据到达时收到SIGIO通知。异步通知机制应用程序方面:执行的两个步骤:1 指定进程作为文件的属主:让内核知道数据到达时通知哪个进程: fcntl(fileno,F_SETOWN,getid());
2011-08-19 16:39:10
634
原创 可重入函数
可重入代码:任何状态信息都是进程自己所特定的,不使用全局变量来记录状态信息记录状态信息的方法:保存在驱动程序的局部变量中(每个进程在内核空间都有不同的堆栈页来保存局部变量)典型内存空间布局对于一个完整的程序,在内存中分布情况如下图:
2011-08-17 14:58:23
462
原创 简介
网络接口:负责发送和接收数据由于网络接口不是面向流的设备,所以很难映射到文件系统中的节点。所以为它分配一个唯一的名字eth0缓冲区溢出,由程序员忘记检查缓冲区中写了多少数据导致写到了缓冲区边界之外,覆盖了系统无关数据造成破坏整个系统当心为初始化内存导致信息泄漏模块被链接到内核,因
2011-07-28 16:05:15
520
原创 h4lib
#!/bin/shfind_ubuntu(){ sourcedir=$1 directdir=$2if [ -f /var/tmp/ubuntu ];then rm /var/tmp/ubuntufitouch /var/tmp/ubuntuif [ -f /
2011-07-26 18:43:32
272
原创 h4include
#!/bin/shfind_ubuntu(){ sourcedir=$1 directdir=$2if [ -f /var/tmp/ubuntu ];then rm /var/tmp/ubuntufitouch /var/tmp/ubuntuif [ -f
2011-07-26 18:42:55
228
原创 制作ide(2)
#!/bin/shif [ "$#" -lt 1 -o "$#" -gt 3 ];then echo "error:" echo " usage:sh svn.sh -f directory [-p]" echo " -f directory is
2011-07-26 18:42:06
365
原创 制作ide(1)
首先安装梅花系统然后把intel的库和头文件移到梅花中然后打包#!/bin/shDSTDIR=temp/UBUNTUDIR=ubuntu/10.04/MEIHUADIR=meihua/ECLIPSEDIR=eclipse/SVNREPO=svn://172.16.68.158/i
2011-07-26 18:41:25
711
原创 上传kernel 及svn常用命令
要修改cross_compile指向pc21的编译器还要修改root的路径为相对路径dev要压缩下下来时记得删除.svn信息 1、将文件checkout到本地目录svn checkout path(path是服务器上的目录)例如:svn checkout svn://1
2011-07-26 18:39:01
843
原创 唯一链接
unlink:删除一个文件,若成功则返回0,否则返回-1,错误原因存于errnounlink()会删除参数pathname指定的文件。如果该文件名为最后连接点,但有其他进程打开了此文件,则在所有关于此文件的文件描述词皆关闭后才会删除。如果参数pathname为一符号连接,则此连接
2011-07-25 20:25:19
902
原创 dbus那天报的错误
命名UNIX域套接字unix域套接字地址由sockaddr_un表示其中sun_path包含一路经名,当我们将一地址绑定到unix套接字时,系统用该路径名创建一类型为S_IFSOCK文件当我们试图绑定地址时,该文件已经存在,则bind将请求失败。bind failed:Addre
2011-07-25 19:43:42
253
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人