ISA总线接口实验.ppt_第1页
ISA总线接口实验.ppt_第2页
ISA总线接口实验.ppt_第3页
ISA总线接口实验.ppt_第4页
ISA总线接口实验.ppt_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ISA总线接口实验,实验内容,实验目的 实验方法 实验原理 实验步骤 结果与分析,实验目的,了解ISA总线的相关知识; 了解通过ISA接口扩展的实验设备; 掌握在Linux下访问ISA设备的方法; 掌握在Linux下编程访问指定设备寄存器的方法; ,实验方法,阅读实验原理中的相关介绍,了解ISA总线的历史发展与技术特点 Linux下编程访问ICH4的计数器、RTC等功能部分 Linux下编程访问扩展实验板上7段数码管、8253定时器、8255并口等设备 学习字符设备驱动程序,编写实际的字符设备驱动程序,实验原理,ISA总线 全称:Industry Standard Architecture总线 最初用于IBM PC,为8位总线 IBM PC/AT中扩展为16位 EISA协会开发的EISA总线为32位,向下兼容8位与16位ISA总线 PC104总线 用于工业控制计算机、嵌入式领域 具有功耗低、占用空间小、可扩展等特点,Linux设备驱动程序 Linux中IO设备分为: 字符设备:无需缓冲区直接读写,只能顺序访问 块设备 :以块为单位读写,可随即访问 网络设备:通过BSD套接口访问 Linux驱动程序 将底层设备抽象为设备文件 属于内核代码,运行在内核空间 可以使用Module模式,可以动态加载,字符设备驱动程序 定义了Module中必须定义的函数init_module和cleanup_module 定义了结构体struct file_operations fops,里面定义了对应的read、write、open、release等函数 函数依次对应了对设备读、写、打开、释放等操作对应内核驱动需要进行的工作 设备通过主设备号与次设备号进行区分。在确定系统中设备号可以在代码中指定,也可以由系统自动分配,驱动程序分析 包括的头文件 :定义了file_operations结构体 :定义了其中用到的put_user函数 init_module函数 调用register_chrdev向系统注册字符设备,返回值即系统分配的主设备号 分配的主设备号小于0,则表示注册设备错误,驱动程序分析(续1) device_open函数 打开设备时驱动需要完成的工作 由于这里是虚拟设备,因此只是完成了部分内部变量的初始化,以及设备使用次数加1 device_release函数 关闭设备时驱动需要完成的工作 这里仅仅将设备使用次数减1,驱动程序分析(续2) device_read函数 将需要输出的信息拷贝到用户空间,也就是提交给对设备进行读操作的程序 device_write函数 这里不支持写操作,因此仅仅打印出提示信息 cleanup_module函数 调用unregister_chrdev从系统注销字符设备,Linux下直接访问IO地址,in,out,ins,outs inb、inw、inl:从指定IO地址读1、2、4个字节 outb、outw、outl:向制定IO地址写入数据 inb_p、inw_p、outl_p:在执行完读写命令后,执行一条空指令,暂停一下CPU ioperm 设置IO端口读写许可 需要有root权限 ioperm(from, num, turn_on),可以使用IO命令访问的设备 ICH4中的定时器(8254) 0通道计数器:40H 1通道计数器:41H 2通道计数器:42H 计数器控制器:43H 扩展实验板上的定时器(8253) 控制寄存器地址:283H 计数器0地址:280H 计数器1地址:281H ,可使用IO命令访问设备(续) ICH4中的实时钟RTC RTC寄存器地址索引端口:70H RTC数据端口:71H 扩展实验板上的并口控制器(8255)7段数码管 8255控制寄存器端口:28BH 8255 A口地址:288H 8255 C口地址:28AH,实验步骤,Linux下使用IO命令访问下列设备: ICH4中的定时器(8254)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论