实验七 嵌入式系统驱动实验.doc

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

实验七 ARM9嵌入式系统硬件驱动基础开发实验 【实验目的】 1.掌握嵌入式linux内核的配置编译及移植。 2.掌握ARM linux驱动程序的开发流程。 【实验内容】 1.常用linux命令的使用 2.嵌入式linux驱动程序开发步骤 3.linux内核配置、编译以及移植 【实验设备】 1.ARM9开发板 2.串口线、USB线 3.PC机(软件:VMware Workstation6.5) 【实验原理】 嵌入式 Linux是以Linux为基础的嵌入式作业系统,它被广泛应用在移动电话、个人数字助理(PDA)、媒体播放器、消费性电子产品以及航空航天等领域中。Memory Management Unit)功能的嵌入式Linux操作系统是ARM平台上操作系统的最佳选择。通用的基于ARM系统的Linux开发步骤如下: 1)开发目标硬件系统:如选择微处理器,Flash及其他外设等; 2)建立交叉编译工具:一般的GCC工具都是针对X86体系的,为了能够生成目标板可执行的代码必须建立交叉编译工具; 3)开发Bootloader:建立启动系统的主引导程序; 4)移植Linux内核:如基于ARM的Linux2.4内核移植; 5)开发一个根文件系统:如yaffs文件系统的制作; 6)开发相关硬件的驱动程序:如LCD、Keypad等; 7)开发上层的应用程序:如QT GUI开发。 驱动程序的目的一般式驱动硬件正常工作,所以通常所说的驱动程序都是针对特定的硬件来编写的。驱动程序既可以工作在有操作系统的环境下,也可以工作在无操作系统的环境中。通常在做一些简单的硬件控制时,由于功能比较单一,不需要操作系统来管理,所以针对这种情况下的驱动程序相对来说也比较简单,但是作为一个嵌入式系统,他要实现的任务也相对比较多,比较复杂,所以需要有操作系统来对他进行管理。设备驱动程序是操作系统内核和及其硬件之间的接口。设备驱动程序为应用程序屏蔽了硬件的细节,这样在应用程序看来,硬件设备只是一个设备文件,应用程序可以像操作普通文件一样对硬件设备进行操作。Linux下的设备驱动程序是内核的一部分,运行在内核模式。也就是说,设备驱动程序为内核提供了一个I/O接口,用户使用这个接口实现对设备的操作。我们在这个实验中主要是将驱动程序的C文件交叉编译后添加进内核,同时,在文件系统中添加驱动测试程序。最后将生成的系统映像文件烧进开发板中。 对于驱动程序的使用,有静态编译和动态编译两种,静态编译指的是将驱动程序添加到内核中,动态编译是指将驱动程序编译成驱动模块。我们采用 第一种,即静态编译的方式添加驱动程序。驱动程序的开发步骤如下: 1)首先,用户在自己的驱动程序源文件中定义file_operations结构,并编写出设备需要的各种操作函数,对于设备不需要的操作函数用NULL初始化,这些操作函数将被注册到内核。当应用程序对相应的设备文件进行操作时,内核会找到相应的操作函数,并进行调用。如果操作函数使用NULL,操作系统就进行默认的处理。 2)设备驱动程序编写完成后,就可将其添加到linux内核中,这需要修改linux的源码,然后重新配置编译linux内核。 3)编写相应的驱动测试程序,下载到ARM板进行相应驱动的测试。 【实验步骤】 1.打开桌面上的虚拟机软件VMware Workstation,用户名为root,密码为123456,即以超级用户的身份登录。打开终端,学习一下Linux常用命令: # cd / 切换到根目录 # cd dir 切换到当前目录下的dir目录下 # cd .. 切换到上一级目录 # ls 显示当前目录下的文件列表 # vi file 编辑文件file # tar xzvf file.tgz 将文件file解压 # rm file 删除文件 # rm –fr dir 删除当前目录下叫dir的整个目录 # cp source target 将文件source复制为target,可以指定文件路径 # cat file 查看file的内容 # mv file /dir 将当前目录下的file文件移动到dir目录下 还有一些命令会在后面的使用中具体讲解。 2. 在终端里进入 /opt/FriendlyARM/Nano2410V2 目录下,其中有一个kernel文件夹,这就是我们要操作的LINUX的内核。进入kernel/drivers/char ,即内核驱动的字符型设备驱动文件夹,然后ls查看里面的文件列表,其中有一个 super2410-leds.c文件,这是一个led驱动程序,但此程序需要修改才能适用于我们的ARM板。 3. 输入 vi super2410-leds.c ,对此文件进行编辑。在vi

文档评论(0)

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

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

1亿VIP精品文档

相关文档