《基于嵌入式系统vxworks的设备驱动和网络通信.pdf》由会员分享,可在线阅读,更多相关《基于嵌入式系统vxworks的设备驱动和网络通信.pdf(68页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、西安电子科技大学硕士学位论文基于嵌入式系统VxWorks的设备驱动和网络通信姓名:景琦申请学位级别:硕士专业:信号与信息处理指导教师:李鹏20060101摘要随着嵌入式技术在军工、信息家电中的应用,如何在嵌入式实时系统下对开发的板卡进行驱动程序的设计以及实现网络通信和管理,成为非常重要的技术。本文完成了嵌入式实时操作系统V x W o r k s 下的设备驱动的设计,并实现了基于V x W o r k s 的网络通信及网络管理系统程序设计,重点可以分为三部分:第一,V x W o r k s 下设备驱动程序的开发。完成了项目开发板卡的驱动程序设计,实现了对该板卡的I 0 端口、双端口R A M
2、 的读写操作,以及基于信号量控制的中断服务程序。第二,V x W o r k s 下网络通信的实现。结合T(:P 口协议,利用s o c k e t 套接字,建立客户端服务器模式,对数据进行打包解压相关处理,实现了主机与目标机之间的网络数据传输。第三,基于G U I 的网管系统的实现。实现了M m 浏览器、配置管理、故障管理和性能管理四个功能模块,并结合W I N D M L 和Z I N C,在V x W o k r s 下实现了具有图形用户界面(G U I)的上述网管系统。关键词:嵌入式实时操作系统驱动程序V x l l o r k sS N M PA B S T R A C TA sE
3、m b e d d e ds y s t e ma r et h em o s tp o p u l a rt e c h n o l o g ya p p l i e di nw a ri n d u s t r y,i n f o r m a t i o na p p l i a n c e s,i th a sb e c o m ea ni m p o r t a n tt e c h n o l o g yh o wt od e s i g nt h ed e v i c ed r i v e r sa n di m p l e m e n tn e t w o r kc o m m
4、u n i c a t i o a n sa n dm a n a g e m e n tu n d e ra l le m b e d d e ds y s t e m T h i sp a p e ra c c o m p l i s h e st h ed e s i g n i n go ft h ed e v i c ed r i v e ru n d e rV x W o r k ss y s t e m,a n dt h ed e s i g n i n go ft h en e t w o r kc o m m u n i c a t i o n sa n dn e t w o
5、 r km a n a g e m e n t T h ep a p e ri sd e v i d e di n t of o l l o w i n gt h r e ep o i n t s:F i r s t l y,t h ed e v e l o p m e n to fd e v i c ed r i v e r su n d e rV x W o r k ss y s t e m I th a sf i n i s h e dt h ed r i v e r so ft h ep r o j e c t Sc a r d s I tc a nr e a da n dw r i
6、t ef r o mF Oa n dd o u b l ep o r tR A M,a n dc o n t r o lt h ei n t e r r u p ts e r v i c er o u t i n ew i t hs i g n a l s S e c o n d l y,t h ei m p l e m e n t a t i o no fn e t w o r kc o m m u n i c a t i o n su n d e rt h eV x W o r k ss y s t e mi sd i s c u s s e d T h em o d e lo fc l
7、i e n t s e r v ei se s t a b l i s h e db yt h eT C P I Pp r o t o c o la n ds o c k e t Z i p p e do ru n z i p p e d,d a t aa r et r a n s m i t t e dh e t w e e nt h eh o s ta n dt h et a r g e tt h r o u g ht h en e t w o r k F i n a l l y,t h ef u l f i l l m e n to fn e t w o r km a n a g e m
8、 e n tb a s e do nG U Ii sd c a J tw i t h T h ep r o g r a mi m p l e m e n t sf o u rf u n c t i o nm o d u l e s,i n c l u d i n gt h eM mb r o w s e r,t h ec o n f i g u r em a n a g e m e n t。t h et r o u b l em a n a g e m e n ta n dt h ep e r f o r m a n c em a n a g e m e n t,a 1 1o fw h i c
9、 ha r ea d d e dw i t hg r a p h i c a lu s e ri n t e r f a c e s(G u I)w i t ht h ea s s o c i a t i o no fW I N D M La n dZ I N C K e y w o r d:E m b e d d e dR O T SD r i v e rp r o g r a m m i n gV x W o r k sS N M P创新性声明本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含其他人已
10、经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说明并表示了谢意。申请学位论文与资料若有不实之处,本人承担一切相关责任。本人签名:垃日期型t!堡关于论文使用授权的说明本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。本人保证毕业离校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技大学。学校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内容,可以允许采用影印、缩印或其它复制
11、手段保存论文。(保密的论文在解密后遵守此规定)本学位论文属于保密,在年解密后适用本授权书。本人签名:啦导师签名:壹2 硷日期5 j f 圣第一章绪论第一章绪论1 1 引言现代武器装备系统对实时性和协同性都具有很高的要求,其复杂的功能需要依靠计算机系统来控制完成。D O S 及W i n d o w s 是目前普遍采用的操作系统,在一些实时性要求不高的应用场合基本能够满足使用要求。但由于它们本身不是实时多任务操作系统,因此在很多实时性要求严格的系统中往往不能满足应用需要。工业界曾经出现过的实时系统有上百种,这些操作系统基本上可以满足不同应用需要。但是它们的性能及开发的方便程度却存在着较大的差异V
12、 x W o r k s 是一种典型的嵌入式实时操作系统(R T O S),在实时性、内核的大小、开发的方便性等方面都具有鲜明的特点,其集成开发环境T o r n a d o 则为用户提供了一个完整的开发平台。1 2 项目来源和研究任务本项目为某研究课题中的一部分,该项目的软件平台采用的是V x W o r k s 嵌入式实时操作系统。实际中需要对自行开发设计的硬件板块完成驱动程序的设计、实现网络数据通讯以及对网络设备等资源的状态进行监视和有效的管理,以保证整个网络的各种部件正常、高效、稳定地运行。在此背景下,结合现有的技术条件,在V x W o r k s 系统中研究驱动程序、实现网络通信并
13、实现网络管理功能就是本课题的研究任务,具体可以分为以下六个方面:研究并掌握V x W o r k s 系统的原理和特点熟悉和掌握T o m a d o 开发环境和相应的调试工具了解并分析嵌入式系统V x W o r k s 下的图形用户界面开发方法,掌握其开发工具w i n d M L 和Z i n c分析、研究设备驱动程序结构,完成驱动程序的设计建立客户服务器模式,对数据进行打包解压实现数据报的网络传输设计开发有良好用户操作界面的网络管理程序,并具有方便的网管工具2基于嵌入式系统V x W o r k s 的设备驱动和网络通信1 3 研究内容和论文组织结构论文的主要内容安排如下;第一章绪论。
14、介绍嵌入式系统V x W o r k s 的运用背景,概述了本课题的项目来源及研究任务,最后给出论文的安排结构。第二章嵌入式实时操作系统V x w o r k s。本章首先概述了嵌入式实时操作系统的概念与特点;然后介绍了V x W o r k s 操作系统及其集成开发环境T o r n a d o,详细的介绍了组成T o r n a d o 的各种工具;最后介绍了T o r n a d o 交叉开发模型,并结合实际项目开发,给出了基于网口连接的主机一目标机交叉开发环境的建立方法。第三章V x W o r k s 下设备驱动的设计。本章首先概述了设备驱动程序的主要功能、组成部分及楣关概念,然后介
15、绍了在V x W o r k s 下的设备以及在其系统下的设备驱动,在驱动程序编写中要注意的中断问题以及信号量的使用,最后介绍了驱动程序的编写方法。第四章V x W o r k s 下网络通信。本章首先概述了T C P I P 的相关知识,包括它的优点、层以及协议,然后介绍了口协议家族,对T C P I P 的模型、网际协议、传输控制协议做了阐述,最后引入客户服务器模式,给出服务器程序结构。第五章网络管理设计与实现。本章首先介绍了嵌入式系统V x W o r k s 下的图形用户界面开发工具Z i n c 和W i n d M L;其次结合实际V x W o r k s 系统分析了网管程序各个
16、模块化的设计思想,将网管程序分成通信模块、M m 浏览器模块、配置管理模块、故障管理模块和性能管理模块;最后分析了项目中网管程序各个模块的具体实现过程。第二章嵌入式实时操作系统V x W o t k s第二章嵌入式实时操作系统V x W o r k s2 1 嵌入式实时操作系统2 1 1 嵌入式系统1 概述在计算机技术和信息技术高速发展的今天,计算机和计算机技术大量应用在我们的日常生活中。现代的计算机早已超出早期计算机的概念,广泛应用的嵌入式计算机(E m b e d d e dC o m p u t e r)便是其中的一种。嵌入式计算机或者叫嵌入式系统,源于2 0 世纪6 0 年代,是一种不
17、被用户所察觉的专用计算机。嵌入式系统,很难给其写出确切定义,多指深藏于工业系统、武器系统或一些机电仪表设备、消费电子类产品内部,完成一种或多种特点功能的计算机系统,是软硬件的紧密结合体。类似于B I O S 的工作方式。具有软件代码小,高度自动化,响应速度快等特点。特别适合于要求实时的和多任务的应用体系。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及特定的应用程序等四个部分组成,用于实现对其它设备的控制(C o n t r 0 1)、监视(M o n i t o r)或管理(M 柚a g c m e n t)等功能【切。2 嵌入式系统的定义(这里是指专用计算机系统)(1)以应用为中心
18、(2)以计算机技术为基础(3)软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求3 嵌入式系统的基本要素(1)嵌入式处理器系统硬件系统由四部分构成:嵌入式处理器、各种类型存储器、模拟电路及电源和接口控制器及接插件(2)嵌入式软件系统软件系统由五部分构成:实时操作系统(R T O S)、板级支持包(B S P)、设备驱动(D e v i c eD r i v e r)、协议栈(P r o t o c o lS t a c k)、应用程序(A p p l i c a t i o n)4 嵌入式系统的分类(1)按表现形式分:(硬件范畴)芯片级嵌入(含程序或算法的处理器)34基于嵌入
19、式系统V x W o r k s 的设备驱动和网络通信模块级嵌入(系统中的某个核心模块系统级嵌入(2)按实时性要求分:(软件范畴)非实时系统(P D A)软实时系统(消费类产品)硬实时系统(导引头等工业和军工系统)2 1 2 实时操作系统概述1 实时系统定义对于给定一个时间约束量e o,如果系统S 在T 1 时刻接受到输入,在亿时刻给出合理的输出,且使T 2-T I c。则称系统S 满足要求的时间e 的实时性,通常称系统S 为实时系统。2 实时操作系统的构成实时操作系统应该满足以下三点要素,图2。1 显示了实时操作系统的系统构成。(1)实时操作系统的应用程序应满足严格的时间要求(2)一个多任务
20、内核(K e r n e l)用来完成实时调度(基于优先级的抢占)、任务间通信、互斥的控制(3)其它功能作为库由K e r n e l 调度图2 1 实时操作系统的系统构成3 实时操作系统(1 S)的基本特征;(1)高效的任务管理支持多任务第二章嵌入式实时操作系统V x W o r k s优先级管理任务调度:基于优先级的抢占式调度、时间片轮转调度的算法支持快速而确定的上下文切换(2)快速灵活的任务间通信信号量:二进制、互斥、计数器通信机制:消息队列、管道等4 与非实时操作系统的区别(1)基于优先级抢占的调度(2)高效、快(3)小,可配置2 1。3 嵌入式实时系统的特征嵌入式计算机系统具有区别于
21、通用计算机系统的一些特征【1 0 l,主要有;专用的嵌入式C P u专用性和算法的唯一性多种技术的结合体硬件与软件的相互依赖性系统对用户是透明的嵌入式计算机系统大多数是实时控制系统系统配置专一,结构紧凑,坚固可靠,一般来说计算机资源(存储容量和速度)有限,这是由专用性、嵌入式(空间约束)以及适用环境所决定2 2V x W o r k s 及其开发环境T o r n a d o2 2 1V x W o r k s 系统概述V x W o r k s 操作系统是美国W i n d R i v e r 公司于1 9 8 3 年设计开发的一种嵌入式实时操作系统(R T O S),是嵌入式开发环境的关键
22、组成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。在美国的F-1 6、F A-1 8 战斗机、B 2 隐形轰炸机和爱国者导弹上,甚至连1 9 9 7 年4 月在火星表面登陆的火星探测器上也使用到了V x W o r k s l z o 56基于嵌入式系统V x W o r k s 的设备驱动和网络通信2 2 2V x W o r k s 的特点1 可靠性操作系统的用户希望在一个工作稳定,可以信
23、赖的环境中工作,所以操作系统的可靠性是用户首先要考虑的问题。而稳定、可靠一直是V x W o r k s 的一个突出优点。自从对中国的销售解禁以来,V x W o r k s 以其良好的可靠性在中国赢得了越来越多的用户。2 实时性实时性是指能够在限定时间内执行完规定的功能并对外部的异步事件作出响应的能力。实时性的强弱是以完成规定功能和作出响应时间的长短来衡量的。V x W o r k s 的实时性做得非常好,其系统本身的开销很小,进程调度、进程间通信、中断处理等系统公用程序精练而有效,它们造成的延迟很短。V x W o r k s 提供的多任务机制中对任务的控制采用了优先级抢占(P r e e
24、 m p t i v eP r i o r i t yS c h e d u l i n g)和轮转调度(R o u n d-R o b i nS c h e d u f i n g)机制,也充分保证了可靠的实时性,使同样的硬件配置能满足更强的实时性要求,为应用的开发留下更大的余地。3 可裁减性用户在使用操作系统时,并不是操作系统中的每一个部件都要用到。例如图形显示、文件系统以及一些设备驱动在某些嵌入式系统中往往并不使用。V x W o r k s由一个体积很小的内核及一些可以根据需要进行定制的系统模块组成。V x W o r k s内核最小为8 k B,即便加上其它必要模块,所占用的空间也很
25、小,且不失其实时、多任务的系统特征。由于它的高度灵活性,用户可以很容易地对这一操作系统进行定制或作适当开发,来满足自己的实际应用需要。2 2 3V x W o r k s 操作系统组成V x W o r k s 系统组成见图2 2,可以从六部分来说明【n I:1 高性能实时内核(w 缸dK e r n e l)V x W o r k s 的核心,一般称作W i n d,W i n d 使用中断驱动和基于优先级的调度方式。负责多任务调度、任务间的同步、进程间通信机制、中断处理、看门狗和内存管理机制。2 文件系统(F i l eS y s t e m)V x W o r k s 提供快速文件,它包
26、括几种支持使用块设备(如磁盘)的本地文件系统。这些设备都使用一个标准的接口,从而使得文件系统能够灵活地在设备驱动程序上移植。另外,V x W o r k s 也支持S C S I 磁带设备的本地文件系统。第二章嵌入式实时操作系统V x W o r k s图2 2V x W o r k s 系统体系结构3 设备驱动(D e v i c eD r i v e l s)V x W o r k s 系统提供B S P、N e t W o r kD r i v e r、S C S ID r i v e r 构成硬件抽象层。硬件抽象层是一个介于操作系统和底层硬件之间的软层次,包括了系统中大部分与硬件相关的
27、软件模块。在功能上包含两部分:系统初始化及与硬件相关的设备驱动。4 I O 系统(OS y s t e m s)V x W o r k s 提供了一个快速灵活的与A N S IC 兼容的加系统,包括U N I X 标准的缓冲I O 和P O S I X 标准的异步怕。5 网络堆栈(N e t W o r kS t a c k)V x W o r k s 提供了对其他网络和T C P I P 网络系统的“透明”访问,包括与B S D套接字兼容的编程接口,远程过程调用(R P C),远程文件访问以及B O O T I 和A R P代理。所有的V x w o r k s 网络机制都遵循标准的I n
28、t e r n e t 协议。2 2 4 T o r n a d o 的简介T o r n a d o 是风河公司推出的图像化的开发工具,包括调试器C r o s s W i n d、命令行界面W i n d S h e l l、资料查看器B r o w s e r、模拟器S i m u l a t o r 等工具。使用T o r n a d o及其开发调试工具,用户可以轻松地编译生产B o o t R o m,创建并配置V x w o r k s,编辑、编译、下载和调试代码,随时查看目标机的系统资源,帮助用户缩短交叉式开发的周期。1 9 8 4 年W I t S 公司推出它的第一个版本-V
29、x w 酬|【s 1 0 1,在1 9 9 7 年推出了它的最新版本V x W o r k s5 3 1。从1 9 9 5 年以后W I t S 公司推出了一套实时操作系78基于嵌入式系统V 椭r k s 的设备驱动和网络通信统开发环境T 0 m a d oI 版在1 9 9 7 年后又推出了T o r n a d oI 版的增强版T o r n a d oI I。美国W i n d R i v e r 公司提供的T o r n a d oI I 系统利用两个互为补充互相协作的操作系统(V x W o r k s 和U N,或V x W o r k s 和W i n d o w s)让它们各尽
30、所长。由V x W o r k s处理关键的实时部分,由主机进行程序开发。用户秘用开发主机进行编辑,编译,链接,存储实时代码,然后在V x W o r k s 上运行和调试该实时代码。最终V x W o f k s应用程序可以脱离主机系统,独立运行在R O M 中或磁盘上完成嵌入式系统的快速开发n2 2 5 T o r n a d o 的组成T o r n a d oI I 是一种交互式软件开发的集成环境,集成了设计开发和分析等特性,使之成为一有机整体。它提供一种有效的方式开发嵌入式实时应用程序,同时对目标机系统的影响做到最小。如图2 3 所示为T o r n a d o 主机和目标机系统的关
31、系原理:b 嘞嚣黢鲻凌(争髓撅鬃缝l i I d 辅,j酶m 攫群C r o s s|i n d冀恶卜E d i U rV x l o r l【sB r o r 3 e rT a n 3 e t瓢删C 耐I fA g e n t图2 3T o r n a d o 开发环境的组成T o r n a d o 系统包含一个高性能的嵌入式实时操作系统V x W o r k s 和交互式开发环境,这些环境包括:1 驻留于主机的T a r g e tS e r v e r:它是T o r n a d o 在主机上结构的核心。负责对目标机的通信策略,所有的交互式工具均是通过它连接刭目标机上的。2 驻留于目标
32、机上的T a r g e t A g e n t:负责连接T o r n a d o 工具和目标机运行系统。在一般的开发过程中T a r g e t A g e n t几乎是不可见的。T o r n a d o 工具通过T a r g e t S e r v e r 与之联系。A g e n t 驻留于内核之下,与硬件进行低级交互,因而可以剔除应用程序不需要的所有内核功能,而始第二章嵌入式实时操作系统V x W o r k s终保持T o r n a d o 全面的开发环境。3 集成的源码编辑器E d i t o r:类似于微软的V i s u a l S t u d i o 的开发环境,包括
33、下列特性,标准文本控制能力C 和c+语法元素用不同颜色调制集成:编辑窗口跟踪代码的执行编译集成:项目管理将编译警告和编译错误,并直接和编辑窗口中的相应代码对映4 项目管理器P T o j e c t:可定制的项目管理特性(P r o j e c tM a n a g e m e n tF a c i l i t y)。简化了V x W o r k s 应用开发中的组织、配置和创建工作。它包括配置V x W o r k s 特性的图形工具W i n d C o n f i g,允许用户在上百个可裁剪的特性中选择(包括选择编译选项分析代码相关性和大小1,构成适合用户特性的V x W o r k s
34、 操作系统运行环境,并生成相应的B S P(B o a r dS u p p o r tP a c k e t)配置。同样也提供一个通用设置管理工具C l e a r C a s e用来进行基本配置。还有一个具有动态链接特性的装载器L o a d e r,可在调试中动态加载用户模块或系统模块。5 浏览器B r o w s e r:用于监测目标机,允许用户对系统对象(任务、消息队列、信号量等)和存储器使用情况进行观察的浏览器。B r o w s e r 汇总了应用进程,内存消耗和一个目标内存的映射。通过B r o w s e r,用户可以观察信号量、消息队列、内存分配、看门狗计时器、堆栈使用情况
35、、目标机C P U 使用率,对象模块结构和符号表以及每个任务的详细信息。6 调试器(D e b u g g e r):由C r o s s W i n d 模块来具体实现,增强的图形方式源程序(C 或C+以及汇编程序等)的调试工具,提供图形方式或命令行方式的全面的调试特性,包括符合分解,任务级或系统级断点设置,单步运行,显示系统状态,异常处理等等;其实现类似微软的V i s u a l S t u d i o 的开发环境。7 S h e l l:是驻留于主机的C 表达式解释器,允许用户交互地执行已卸载到目标机上的所有函数。它是一种非常受用户欢迎的开发工具,其交互性和可操作性允许用户调用内存中的
36、应用程序模块或是V x W o r k s 模块中的任何例程。它不但具有一般命令语言的功能而且也具有C 语言的设计特点,能够解释几乎任何C 语言表达式,执行大多数c 语言算予,解析符号表数据。8 W i n d V i e w 软件逻辑分析仪:能以一个可视化的图形界面动态实时地提供导致发生上下文切换,事件的有91 0基于嵌入式系统V x W o r k s 的设备驱动和网络通信关信息,以及使用中的对象信息。9 目标模拟机V x S i m:可在主机系统上模拟运行目标机系统,这简化了T o r n a d o 环境和开发嵌入式系统之间的学习。更方便的是,对于一些应用开发,为开发者提供了一个不依赖
37、于专用硬件代码(B s P s)和目标机硬件的独立开发环境。这样可在硬件设备未完成之前,在主机上对应用程序进行仿真分析。2 3V x W o r k s 交叉开发环境的实现2 3 1 交叉开发方式T o r n a d o 环境采用主机目标机交叉开发模型,应用程序在主机的W i n d o w s环境下编译链接生成可执行文件,下载到目标机,通过主机上的目标服务器(T a r g e tS e r v e r)与目标机上的目标代理(T a r g e tA g e n t)的通信完成对应用程序的调试、分析,见图2 4。图2 4T o r n a d o 交叉开发模型在实时应用系统的开发调测阶段,
38、往往采用以P C 机作为目标机来调测程序。主机P C 和目标机P C 之间可采用串口或是网口进行连接。串口连接虽通信速率不高,但也有它自己的优点。由于大多数目标机配有网卡,网络连接成为最简单快速的连接方式,本项目中就采用的是网络连接方式。在X 8 6 系列的目标机上运行的V x W o r k s 系统包括两部分;引导文件b o o t r o m s y s 和操作系统映像文件V x W o r k s。1 引导文件b o o t r o m s y s其主要作用类似于B I O S,一般它存放在一张软盘或目标机硬盘或者目标机的F L A S H 盘上,由V x l d 或者其他程序加载到内
39、存。用于初始化目标机上的硬件,建立V x W o r k s 运行的环境,从引导设备上加载V x W o r k s 操作系统映像,并将C P U的控制权交给操作系统。第二章嵌入式实时操作系统V x W o r k s2 V x W o r k s 是操作系统的映像文件它是应用程序和目标代理程序运行的系统软件平台,一般由b o o t r o m s y s 的弓导加载到目标机内存。2 3 2 目标机启动设置1 11 配置目标机网卡设置其中断号和输入输出范围(I,O 地址),将网卡的工作模式设置为J U M P L E S S,并设置网卡的中断和I O 地址。2 在c o n f i g h
40、文件中修改相应网卡类型下面以C P U 为4 8 6,网卡为R T L 8 0 1 9(N E 2 0 0 0 的兼容网卡)的目标机为例,介绍实现的步骤:(1)修改通用配置文件1 b r n a d o t a r g c 岫n f i 醇p“8 乱湖嘣吕h(2)修改相应网卡类型的定义部分:#d e f m e l N C L U D E _ E N EPi n c l u d eE a g l e N o v e l lN E 2 0 0 0i n t e r f a c e|#d e f i n eI OA D R SE N E0 x 3 0 0。网卡M D 地址蒯e 矗m D 盯L V
41、LE N E0 x 0 5P 网卡中断号(3)修改#d e f i n eD E F A U L TB O O TL I N E 的定义:#d e f m eD E F A U L TB O O T _ L I N El”e n e(0,0)v x h o s tE:T o m a d o t a r g e t c o n f i g p c 4 8 6 v x w o r k sh=1 9 2 1 6 8 0 6e=1 9 2 1 6 8 0 4u=l i 4p w=l i 4t n-v x t a r g e t”各部分解释如下:e n e(0,o)严启动设备为网卡v x h o s t
42、P 主机标识,可以任意填写,不影响启动过程T o r n a d o t a r g e t c o n f i g p c 4 8 6 v x w o r k s尸需要从主机加载的映象文件,。h=1 9 2 1 6 8 0 6主机的球地址+e=1 9 2 1 6 8 0 4广目标机的m 地址+n ml i 4P 用户名,主机的F t p 服务器必须有相应的同名用户p w=1 i 4 尸密码,必须与主机的F t p 服务器相应的同名用户的密码相同,t n=v x t a r g e t尸目标名,可以任意设置,不影响启动过程,3 生成映像文件b o o t r o mu n c m p 和V x
43、 W o r k s在T o r n a d o 集成环境中点取P r o j e c t 菜单,选取B u i l tB o o tR o m,在B S P 选项中选择P C A 8 6,在右边框中选择要生成的映像文件b o o t r o mu n c m p,然后O K确认即可。再选取S t a n dB S PB u i l d s 选项,映像文件选择V x W o r k s,然后点击O K保存参数。基于嵌入式系统V x W o r k s 的设备驱动和网络通信4 制作启动软盘将T o m a d o t a r g e t c o n f i g p c 4 8 6 b o o t
44、 r o mu n c m p 文件拷贝到、l l o s 缸8 6 一w i n 3 2 b i准备一张已格式化的空盘插入软驱,在目录1 o r n a d o 恤o s 她8 6 w i n 3 2 b i n 下执行命令:m k b o o ta:b o o t r o m _ u n c m p。其中m k b o o t 命令的功能是刨建弓I 导文件b o o l r o m s y s。2 3 3 主机T o r n a d o 环境配置在T o r n a d o 集成环境中从T o o l s 菜单中选择T a r g e tS e r v e r,选取C o n f i g
45、u r e。l。在T a r g e tN a m e I PA d d r e s s 域输入目标机名称:1 i 4。2 使用工具条的C h a n g eP r o p e r t y 选择决定好的参数:选择B a c kE n d,在”A v a i l a b l eB a c k”窗口中选择w d b r p c,同时”T a r g e t l P A d d r e s s”窗口中输入目标机I P:1 9 2 1 6 8 04 选择C o r eF i l ea n dm b o l s,选择F i l e 为B S P 目标文件所在目录(本例为P C A 8 6 目录)的V x
46、 W o r k s 并选取为A l lS y m b o l s。3”C h a n g eP r o p e r t y”窗口中的其它各项可根据需要选择2 3 4 启动V x W o r k s 并建立连接1 启动T o m a d o 组件网口S e r v e:在W F T P D 窗口中选择菜单S e c u r i t y 中的U s e r r i g h t 选项。在其弹出窗口中选择N e wU s e r,根据提示信息输入登录用户名1 i 4 和口令l i t。并指定下载文件V x W o r k s 所在根目录e:t o r n a d o t a r g e t k:o
47、n f i g k p c 4 8 6,目标机会从此目录下载V x W o r k s。在主菜单t o g g i n g 下面的L o go p t i o n s 中,选取E n a b l eL o g g i n g、G e t s、t o g i n s、C o m m a n d s、W a r n i n g s 选项。这些选项用来控制在F r P 文件时显示的信息类型。将谁4 作的启动盘插入目标机软驱。加电启动目标机即可通过F 1 1 P 方式从主机下载V x W o r k s 系统。如图2 5图2 5目标机启动后从主机下载V x w o r k s 文件第二章嵌入式实时操作
48、系统V x W o r k s1 32 主机连接目标机在目标机启动后,你必须通过使用E l 标服务(T a r g e tS e r v e r)来使用T O R N A D O工具,目标服务提供了基于主机的目标资源管理的工具。在T o r n a d o 环境下,在T o o l s 菜单下T a r g e tS e r v e r 的C o n f i g u r e 选项中,点击L a u n c h 按钮,目标服务会连接目标机,全部出现s u c c e s s e d 后主机,目标机交叉开发环境建立【1 2 1。图2 6L a u n c h 成功后的画面第三章V x W o r
49、k s 下设备驱动的设计第三章V x W o r k s 下设备驱动的设计3 1 设备驱动程序3 1 1 设备驱动程序的主要功能设备驱动程序通常包含六个主要功能:1 对设备进行初始化。初始化的目的是使设备处于某种工作状态,以便用户程序访问该设备。2 打开设备操作。打开设备操作实际上是查询用户指定的设备,并查看用户是否可以使用该设备。因为设备是共享资源,当设备正在被使用时,系统要对它进行保护,禁止其它任务对设备进行操作,直到设备资源被释放3 关闭设备操作。关闭设备操作就是释放设备资源。任务对设备完成操作后,必须进行关闭设备操作,否则设备总是处于被占用状态,其他任务无法使用。与打开设备操作相对应,
50、有打开操作就应该有关闭操作。4 从设备上接收数据并提交给系统。这项功能通常就是所说的读操作,接收外部传输来的数据。接收数据采用的方式有查询方式、中断方式和D M A 方式。5 把数据从主机上发送给设备。这项功能对应通常的写操作,把主机上的数据传送给外界。通常系统主动调用该操作进行数据发送,有时也采取中断方式发送数据。6 对设备进行控制操作。在使用设备过程中,有时根据应用的需要对设备进行控制(例如改变设备某个状态),而控制操作就能提供这种功能。3 1 2 设备驱动程序的组成部分根据设备驱动的主要功能,设备驱动程序大致由下面几部分组成:1 设备驱动程序的注册函数。编写一个函数把相关的驱动程序(打开