嵌入式驱动开发实验指导书.doc

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式驱动开发实验指导书

《嵌入式驱动开发》实验 实验一 实验题目:Linux计算器应用程序及hello驱动程序 实验目的:掌握Linux常用操作命令、熟悉使用vi编程、掌握gcc/makefile编译基本方法 实验类型:设计 实验要求:必修 仪器设备:计算机 实验内容、方法、步骤: 一、编写一个计算器程序,实现菜单显示、加减乘除功能。 要求:1)基于Linux平台开发 2)使用vi编辑器编写 3)使用gcc编译 一.课搭建samba服务器 二.c编程练习(将10个数放入数组,找出最大的一个数,并输出) 二、 编写hello驱动程序,编译后,进行加载、卸载驱动模块以对驱动进行测试。 一.hello.c驱动程序 实验二 实验题目:简单的字符设备驱动程序 实验目的:掌握Makefile文件编写方法;熟悉字符设备驱动程序设计、开发和使用流程; 实验类型:综合 实验要求:必修 仪器设备:计算机 实验内容、方法、步骤: 编写一个简单的字符设备驱动程序,完成下列功能,并写出运行程序后输出的结果。 编写简单的字符设备驱动程序,能够实现对虚拟设备int类型变量的读写操作; 编写Makefile文件,对驱动程序进行编译; 采用动态模块加载方式对驱动程序进行加载,并查看加载前后效果; 编写测试程序,对虚拟设备进行读写操作,对驱动程序功能进行验证。 实验步骤: 使用如下命令创建驱动源程序文件进行编写。 vim globalvar.c 编写相应的Makefile文件。 vim Makefile 3)对驱动程序进行编译、调试,生成globalvar.o目标文件。 make(make clean) 4)加载驱动程序,并查看是否加载成功。 insmod globalvar.o cat /proc/devices (卸载模块命令 rmmod globalvar)(注意:无后缀名) 5)编写测试文件globalvartest.c,并进行编译,生成globalvartest.o可执行文件。 6)创建虚拟设备文件。 mknod /dev/globalvar c 253 0 7)运行globalvartest.o,查看、记录并提交结果。 ./globalvartest.o 提交代码: globalvar.c/globalvar.o Makefile globalvartest.c/globalvartest.o 测试结果(.jpg文件) 一.globalvar.c驱动程序 测试程序 makefile文件 测试结果 实验三 实验题目:并发控制及中断程序 实验目的: (1)掌握linux内核中并发控制的方法,学会运用信号量/队列/自旋锁进行内核驱动程序中的并发控制; (2)掌握中断处理机制原理,学会使用tasklet进行软中断处理。 实验类型:综合 实验要求:必修 仪器设备:计算机 实验内容、方法、步骤: 以简单的字符设备驱动程序globalvar为基础,编写程序完成下列功能,并写出运行程序后输出的结果。 在globalvar驱动程序中,使用自旋锁功能,进行设备打开操作控制。实现已打开的设备不能再被其他用户和进程打开;并编写测试程序进行测试; 在globalvar驱动程序中,使用信号量和队列功能,进行设备读写操作控制。实现:a) 设备不能同时被两个及以上用户和进程打开; b) 且仅能先写入设备,才能进行读取设备操作;c) 编程测试程序进行功能测试; 在globalvar驱动程序中,使用tasklet功能,进行中断处理操作。实现在对设备进行写入操作后,通过中断处理方式,打印信息;并编写测试程序进行测试; 实验步骤: 一,基本操作 使用如下命令创建驱动源程序文件进行编写。 vim globalvar.c 2)编写相应的Makefile文件。 vim Makefile 3)对驱动程序进行编译、调试,生成globalvar.o目标文件。 make(make clean) 4)加载驱动程序,并查看是否加载成功。 insmod globalvar.o cat /proc/devices (卸载模块命令 rmmod globalvar)(注意:无后缀名) 5)编写测试文件globalvartest.c,并进行编译,生成globalvartest.o可执行文件。 6)创建虚拟设备文件。 mknod /dev/globalvar c 253 0 7)运行globalvartest.o,查看、记录并提交结果。 ./globalvartest.o 二,自旋锁功能 1)定义及初始化: 包括头文件/asm/semaphore.h static spinlock_t spin = SPIN_LOCK_UNLOCKED; static int coun

文档评论(0)

tianma2015 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档