欢迎来到天天文库
浏览记录
ID:50140890
大小:158.00 KB
页数:32页
时间:2020-03-05
《实验五-driverdemo设备驱动程序.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、嵌入式系统设计实验五设备驱动程序实验内容5.1内核驱动设计入门-模块方式驱动实验2实验步骤实验指导书P223-225进入/arm2410s/exp/drivers/demo目录,使用VI查看源码编译驱动模块及测试程序cd/arm2410s/exp/drivers/demo/make3实验步骤注:如果编译的时候出现问题,可能在/usr/src下没有建立一个linux连接,可以使用下面的命令:cd/usr/src/ln–sflinux-2.4.20-8linuxls查看目录文件,可见有如下文件:debuglinuxlinux-2.4linux-2.4.20-8redhat4实验步骤如果用g
2、cc编译,需要通过下面的命令来建立设备节点,如果使用交叉编译的话,则不需要建立设备节点。mknod/dev/democ2540插入驱动模块[rootdemo]#Insmoddemo.o执行命令进行测试:[rootdemo]#./test_demo5实验步骤运行结果6设备驱动程序设备驱动程序的作用设备驱动程序的分类设备驱动程序在操作系统中的位置机制与策略设备驱动程序的基本结构设备驱动程序如何被使用一个简单设备驱动程序实例7设备驱动程序的作用设备驱动程序将复杂的硬件抽象成一个结构良好的设备,并通过提供统一的程序接口为系统的其它部分提供使用设备的能力和方法。设备驱动程序(应该只是)为系统的其它
3、部分提供各种使用设备的能力,使用设备的方法应该由应用程序决定。8Linux下对外设的访问只能通过驱动程序Linux对于驱动程序有统一的接口,以文件的形式定义系统的驱动程序:Open、Release、read、write、ioctl…驱动程序是内核的一部分,可以使用中断、DMA等操作驱动程序需要在用户态和内核态之间传递数据9设备驱动程序的分类字符设备驱动程序各种串行接口,并行接口等。块设备驱动程序磁盘设备等网络设备驱动程序网卡等。杂项设备驱动程序不属于上述三种设备之外的一些设备,如SCSI,时钟等。10在操作系统中的位置设备驱动程序是内核代码的一部分。驱动程序的地址空间是内核的地址空间。驱
4、动程序的代码直接对设备硬件(实际是设备的各种寄存器)进行控制(实际就是读写操作)。应用程序通过操作系统的系统调用执行相应的驱动程序函数。中断则直接执行相应的中断程序代码。设备驱动程序的file_operations结构体的地址被注册到内核中的设备链表中。块设备和字符设备以设备文件的方式建立在文件系统中的/dev目录下,而且每个设备都有一个主设备号和一个次设备号。11块设备驱动程序字符设备驱动程序网络设备驱动程序12ls-l/devcrw-r-----1rootroot1,1Jan100:00memcrw-r-----1rootroot1,2Jan100:00kmemcrw-rw-rw-1
5、rootroot1,3Jan100:00nullcrw-r-----1rootroot1,4Jan100:00portcrw-rw-rw-1rootroot1,5Jan100:00zerocrw-rw-rw-1rootroot1,7Jan100:00fullcrw-r--r--1rootroot1,8Jan100:00randomcrw-r--r--1rootroot1,9Jan100:00urandomcrw-rw-rw-1rootroot5,0Jan100:00ttycrw-------1rootroot5,1Jan100:00consolecrw-rw-rw-1rootroot5,
6、2Jan100:00ptmxdrwxr-xr-x1rootroot0Jan100:00ptydrwxr-xr-x2rootroot0Jan100:00ptsdrwxr-xr-x1rootroot0Jan100:00rddrwxr-xr-x1rootroot0Jan100:00mtddrwxr-xr-x1rootroot0Jan100:00mtdblockcrw-------1rootroot4,64Jan100:15ttyS0crw-------1rootroot4,65Jan100:00ttyS1crw-------1rootroot4,66Jan100:00ttyS2crw-----
7、--1rootroot4,67Jan100:00ttyS3crw-------1rootroot4,68Jan100:00ttyS4drwxr-xr-x1rootroot0Jan100:00miscc:字符设备b:块设备主设备号次设备号13机制与策略机制(mechanism)设备驱动程序所具备的能力例如:串行设备驱动程序具有设置波特率的能力。策略(policy)这些能力如何被使用例如:根据需要将串口波特率设置成9.6kbps。设备驱
此文档下载收益归作者所有