Linux一切接文件,除了普通文件和目录文件,还包括一些其它的特殊文件:块设备文件、字符设备文件、套接字文件、链接文件等。今天这里主要说一下常见的块设备文件和字符设备文件,这2类是最常见的设备文件类。 设备常见有鼠标、键盘、显示器、硬盘等等。其中硬盘是块设备,鼠标、键盘、终端等是属于字符设备。这些设...
分类:
系统相关 时间:
2015-12-02 00:59:04
阅读次数:
129
应用程序使用驱动:一个设备驱动其实就是一个内核模块。应用程序使用一个字符设备是通过使用其设备文件来完成的,通过对其设备文件的读写来完成对设备的交互: 那么,想要使用字符设备驱动就首先得有一个字符设备文件,创建一个字符设备文件的方式有两种: 驱动初始化 因为驱动程序是一个内核模块,所以驱动的初始化操作...
分类:
其他好文 时间:
2015-11-25 00:23:32
阅读次数:
225
驱动程序操作法:i2c设备的驱动也可以通过普通的设备驱动实现,像往常的驱动一样实现,然后在应用层就可以像读取普通文件一样操作,无需再考虑读写时序。其实普通的设备驱动也可以用两种方法实现, 1)构建字符设备驱动,在open,read,write等函数中直接操作i2c总线的相关寄存器来读写i2c设备,但...
分类:
系统相关 时间:
2015-11-18 15:54:51
阅读次数:
186
在UNIX系统中文件分为四种:1普通文件(ordinary file),分为: (1) 文本文件 (2) 二进制文件2 目录文件(directory) 3 特殊文件(special file),分为: (1)块设备文件(2)字符设备文件 4 符号链接文件(symbolic lin...
分类:
其他好文 时间:
2015-11-08 16:30:02
阅读次数:
209
就像学编程第一个范例helloworld一样,学嵌入式,单片机、fpga之类的第一个范例就是点亮一盏灯。对于庞大的linux系统,当然可以编写一个字符设备驱动来实现我们需要的led灯,也可以直接利用gpio口,应用程序来拉高拉低管脚控制。不过,既然linux系统自己本来就带有led子系统,那么就可以...
分类:
系统相关 时间:
2015-10-29 20:10:27
阅读次数:
318
块设备是能随机存取装置固定大小的数据表设备。如硬盘;字符设备(如串口和键盘)它是按照字符流进入有序进行。不同之处在于是否足够的随机存取数据——这时候,你可以随心所欲地从一个位置跳到访问设备和位置。复杂多,实际上内核在块设备上下了大工夫——块I/O层。基础概念块设备中最小的可寻址单元是扇区。文件系统的...
分类:
系统相关 时间:
2015-10-17 13:22:14
阅读次数:
247
原文网址:http://www.xuebuyuan.com/632893.html主机:VM - redhat 9.0开发板:FL2440,linux-2.6.12arm-linux-gcc:3.4.1(1)原理图上的按键模块,可以看到相应的GPIO口,以及中断号。由图可以得知GPF0等接高电平,当...
分类:
其他好文 时间:
2015-10-13 18:39:11
阅读次数:
184
注:本系列转自: http://www.ourunix.org/post/290.html input子系统介绍 输入设备(如按键,键盘,触摸屏,鼠标,蜂鸣器等)是典型的字符设备,其一般的工作机制是底层在按键,触摸等动作发生时产生一个中断(或驱动通过timer定时查询),然后cpu通过SPI,I2C...
分类:
系统相关 时间:
2015-10-10 17:08:11
阅读次数:
245
应用程序注册信号处理函数 my_signal_fun();应用程序获取应用PID并告诉驱动 fcntl(fd, F_SETOWN, getpid()); int oflags = fcntl(fd, F_GETFL); fcntl(fd, F_SETFL, oflags|FASYNC);由驱...
分类:
其他好文 时间:
2015-10-08 16:13:26
阅读次数:
172
横向比较关联各个驱动相关的知识点(字符设备驱动、平台设备驱动、设备驱动模型、sysfs)和纵向剖析Linux整个驱动软件层次,对于Linux驱动的理解和开发很有帮助,绝对干货!...
分类:
其他好文 时间:
2015-10-05 11:44:10
阅读次数:
265