1 ioctl介绍:
用户空间ioctl :int ioctl(int fd,unsinged long cmd,...)
fd-文件描述符
cmd-对设备的发出的控制命令
...表示这是一个可选的参数,存在与否依赖于cmd,如cmd为修改波特率,那么....就表示波特率的值。如果cmd表示关闭,则不需要参数
成功返回0,错误返回-1。
内核空间:我用的是...
分类:
其他好文 时间:
2015-04-21 16:12:10
阅读次数:
206
Linux操作系统将所有的设备都看成文件,以操作文件的方式访问设备,应用程序不能直接操作硬件,而是使用统一的接口函数调用硬件驱动程序。这组接口被称为系统调用。如open,read.对于每一个系统调用,驱动程序中都有一个与之对应的函数,对于字符设备驱动程序,这些函数调用都集合在一个file_operation类型的数据结构中。当应用程序使用open函数打开某个设备时,设备驱动程序的file_opera...
分类:
其他好文 时间:
2015-04-21 09:48:30
阅读次数:
162
之前接触到的字符设备驱动是非常单纯的Linux字符设备驱动,他不具备工程中Linux驱动中的设备与驱动分离思想和设备驱动的分层思想,不具备“总线-设备-驱动”模型的概念。接下来通过分析platform设备驱动模型的搭建过程来看看Linux的设备驱动模型究竟是怎样的?
platform驱动模型搭建:
(1)platform核心层:为设备层和驱动层提供注册接口、为设备层和驱动层的匹配提供标准
①...
分类:
其他好文 时间:
2015-04-20 18:28:32
阅读次数:
151
linux驱动分为字符设备、块设备驱动、网络驱动三种,其中以字符驱动最为简单。说起要写驱动自然想到从字符设备驱动写起。看了开发板官方的驱动代码,写的不错,至少不是那种实习生能写出来的水平。但对新手来说要看懂,实在不容易。其中包含了很多知识和设计思想。所以我想还是尽可能从易到难来写这个系列,相信我,我会努力把我知道的都给大家讲清楚。...
分类:
其他好文 时间:
2015-04-16 19:52:27
阅读次数:
179
ls:linux操作系统必备命令ls-l:长格式-:普通文件d:目录文件b:块设备文件(block)c:字符设备文件(character)l:符号链接文件(symboliclinkfile)p:命令管道文件(pipe)s:套接字文件(socker)文件权限:9位每3位一组每一组:rwx(读,写,执行)文件硬链接的次数文..
分类:
系统相关 时间:
2015-04-15 23:43:14
阅读次数:
200
一.编译安装字符设备驱动模块1.要有Makefileobj-m := memdev.oKDIR := /ok6410/linux-3.10all: make -C $(KDIR)M=(PWD) modules CROSS_COMPILE=arm-linux- ARCH=armclean: rm -f...
分类:
其他好文 时间:
2015-04-15 17:01:48
阅读次数:
153
一、linux系统将设备分为3类:字符设备、块设备、网络设备。使用驱动程序:字符设备:是指只能一个字节一个字节读写的设备,不能随机读取设备内存中的某一数据,读取数据需要按照先后数据。字符设备是面向流的设备,常见的字符设备有鼠标、键盘、串口、控制台和LED设备等。块设备:是指可以从设备的任意位置读取一...
分类:
系统相关 时间:
2015-04-15 09:28:39
阅读次数:
273
在linux设备驱动第一篇:设备驱动程序简介中简单介绍了字符驱动,本篇简单介绍如何写一个简单的字符设备驱动。本篇借鉴LDD中的源码,实现一个与硬件设备无关的字符设备驱动,仅仅操作从内核中分配的一些内存。 下...
分类:
系统相关 时间:
2015-04-12 16:19:35
阅读次数:
209
1. 字符设备结构体 内核中所有已分配的字符设备编号都记录在一个名为 chrdevs 散列表里。该散列表中的每一个元素是一个 char_device_struct 结构,它的定义如下: static struct char_device_struct { struct char_device_st....
分类:
其他好文 时间:
2015-04-09 21:49:34
阅读次数:
182
设备类别:块(block):随机访问,数据交换单位为“块”字符(character):线性,数据交换单位为字符设备文件:FHS(LSB)/dev/:设备#[主设备号],#[次设备号]设备文件,关联至设备的驱动程序设备号:major:主设备号,区别设备类别,用于标明所需驱动程序minor:次设备号,用于表..
分类:
系统相关 时间:
2015-04-08 16:41:28
阅读次数:
288