




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上 专心-专注-专业1、 实验目的(1) 了解简单的模块程序创建。2、 实验内容(1) 以模块形式创建并测试基本的设备驱动程序,观察研究默认需要知道的内容。(2) 要创建的例题是输出“Hello world”消息的简单的模块驱动程序。文件名是 hello.c。3、 实验设备 PC 机一台;操作系统:Ubuntu 8.04。ARM实验箱。4、 实验步骤以模块形式创建并测试基本的设备驱动程序,观察研究默认需要知道的内容。要创建的例题是输出“Hello world”消息的简单的模块驱动程序。文件名是 hello.c。生成要创建模块驱动程序的目录,创建 hello 模块驱动程序
2、。在模块源码中参考内核源码的头文件目录。包含的头文件是默认必须包含的文件,根据需要包含不同的头文件。 是向内核装载模块时调用的函数。 是在内核中删除模块时调用的函数。 是向内核装载模块时指定内核调用的函数的宏和在内核中删除模块时指定内核调用的函数的宏。 是标记模块许可证的部分。创建为了编译已创建模块的 Makefile 。译器设定为交叉编译器 arm-linux-gcc。 定义要生成模块的模块名称。 指定内核的源码位置。 指定作为要编译的对象的模块源码所在的当前目录。 指定编译模块的命令。 作为编译结果生成的文件全部删除。模块程序编译:编译模块。确认生成的文件列表。生成的文件中加载到内核中的模
3、块文件是hello.ko。模块运行:在目标板上运行模块的方法虽然有很多种,但是这里将说明利用 tftp 运行的方法。将 hello.ko 文件复制到 /tftpboot 目录中。在目标板上登录到内核中后,下载 hello.ko 文件。并且将 hello 模块加载到内核中。利用 lsmod 确认装载的模块列表。第一列显示注册的模块名,第二列显示模块在内核中占据的内存大小,第三列显示使用与否,第四列显示正参考的有关模块的模块名。删除内核中注册的模块。这时,仅指定设备驱动程序模块名。5、 实验结果(1) 生成要创建模块驱动程序的目录。图 1-1 创建文件夹(2) 创建 hello 模块驱动程序。图
4、1-2 创建驱动模块(3)创建为了编译已创建模块的 Makefile 。图 1-3 创建Makefile(4)编译模块。图 1-4 编译驱动(5)在目标板上登录到内核中后,下载 hello.ko 文件。并且将 hello 模块加载到内核中。图 1-5 下载内核(6)删除内核中注册的模块。这时,仅指定设备驱动程序模块名。图 1-6 注销内核6、 实验思考题(1) 请说明嵌入式驱动程序由哪些组成部分。答: 1. 自动配置和初始化子程序,负责监测所要驱动的硬件设备是否存在和能否正常工作。如果该设备正常,则对这个设备及其相关的设备驱动程序需要的软件状态进行初始化。这部分驱动程序仅在初始化时被调用一次。
5、 2. 服务于I/O请求的子程序,又称为驱动程序的上半部分。调用这部分程序是由于系统调用的结果。这部分程序在执行时,系统仍认为是与进行调用的进程属于同一个进程,只是由用户态变成了核心态,具有进行此系统调用的用户程序的运行环境,因而可以在其中调用sleep()等与进行运行环境有关的函数。 3. 中断服务子程序,又称为驱动程序的下半部分。在Linux系统中,并不是直接从中断向量表中调用设备驱动程序的中断服务子程序,而是由Linux系统来接收硬件中断,再由系统调用中断服务子程序。中断可以在任何一个进程运行时产生,因而在中断服务程序被调用时,不能依赖于任何进程的状态,也就不能调用任何与进程运行环境有关的函数。因为设备驱动程序一般支持同一类型的若干设备,所以一般在系统调用中断服务子程序时,都带有一个或多个参数,以唯一标识请求服务的设备。 在系统内部,I/O设备的存/取通过一组固定的入口点来进行,这组入口点是由每个设备的驱动程序提供的。7、 实验体会通过这次实验我知道模块是具有内核程序的特征的同时在内核中被动态装载和删除,因此需要具有与一般程序不同的源码形式。以对象形式创建如设备驱动程序的内核库,如果通过系统调用向 Linux 内核请求装载,则内核使有关对象动态链接到内核中。但是,由于其不能通过自身进行链接处理,因此提供了
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 太平洋保险老来福幸福安康(2018年2月)
- 4.1光的直线传播 说课稿 2025年初中 人教版 物理八年级上册
- 2025年党员领导干部廉洁自律知识考试题库及答案(共260题)
- 运动会校长致辞
- 前厅月工作计划
- 《深度学习项目案例开发》课件-任务八:使用BERT预训练医学语言模型
- 《跨境电商》课件-5.速卖通平台发布产品
- 机械设备海运合同参考模板
- 人力资源管理绩效评估体系构建与实践操作要点
- 全国集中式光伏发电项目
- 【市占率证明权威指南】行业市占率展播-滚珠丝杆行业(智研咨询)
- 2025中级工程机械维修工技能鉴定精练考试指导题库及答案(浓缩300题)
- 跨国合作在医药研发中的应用与挑战
- 北京版五年级下册数学计算题专项练习1000道带答案
- 《陆上风电场工程概算定额》NBT 31010-2019
- 年产25吨无菌化学原料药美罗培南车间工艺设计
- 合规管理中的合规管理领导小组的成员与职责
- 三辊卷板机设计方案
- 溢流堰稳定计算
- 宝钢的集中一贯管理体制考察
- 医学影像科诊疗技术人员授权申请表模板
评论
0/150
提交评论