嵌入式实时操作系统VXWORKS6.6集成环境使用指导_第1页
嵌入式实时操作系统VXWORKS6.6集成环境使用指导_第2页
嵌入式实时操作系统VXWORKS6.6集成环境使用指导_第3页
嵌入式实时操作系统VXWORKS6.6集成环境使用指导_第4页
嵌入式实时操作系统VXWORKS6.6集成环境使用指导_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

1、嵌入式实时操作系统嵌入式实时操作系统风河风河VXWORKS6.6集成环境使用指导集成环境使用指导目录 第一部分 VxWorks/worksbench3.0简介 第二部分 worksbench3.0/Tornado2.2比较 第三部分 worksbench3.0的工程视图 第四部分 建立一个例子工程 第五部分 建立交叉开发环境第一部分 VxWorks简介 workbench介绍嵌入式实时操作系统嵌入式实时操作系统VXWORKS VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS) 涉及的领域包括涉及的领域包括: 过程控制(化工、食品加工);

2、机器人(制造、自动操作控制); 航空电子(飞行管理、GPS、喷气发动机控制); 军事(武器管理、密码); 数据处理(采集、信号处理); 通信(税收机、数字电话); 家电(微波炉、洗衣机、空调) 计算机外围设备(打印机、Modem)等。一、一、VxWorks的特点的特点*可靠性*实时性 *可裁减性二、二、对一个实时内核的要求对一个实时内核的要求*多任务*抢占调度*任务间的通讯与同步*任务与中断之间的通信三、VxWorks的基本结构 板级支持包BSP 微内核wind 网络系统 文件系统 I/O系统Wind River Workbench 一、风河workbench3.0的特征 风河workbenc

3、h3.0是基于Eclipse平台发展出的开发工具,提供非常有效的方式去开发实时嵌入式的应用程序,而不必过多的依赖于目标系统。 风河Workbench可运行在 Windows 、Linux、和 Solaris主机上。而本文档只介绍在Windows主机上使用Workbench3.0 。使用Wind River Workbench的好处Workbench的“七多”优势: 多任务 多目标 多模式 多OS 多CPU 多连接形式 多主机环境二、风河Workbench 3.0的应用组件三、基于Eclipse的概念 1.窗口( Window) 2.工作空间(Workspace) 3.Workspace的目录

4、4.包含多于一个的工作空间(workspace) 5.透视图(Perspectives) 6.视图(Views) 7.编辑器(Editors) 8.工程( Projects) 9.访问和查找workbench上下文关联的帮助信息四、理解四、理解Cross-Development(交叉开发)的概念(交叉开发)的概念主机系统需要足够大小 的RAM、磁盘空间、备份媒介、打印输出和其他外围设备。目标系统所需的资源用于实时的应用和一些的附加资源用于测试和调试2、要做的工作 A.在主机上的工作在主机上的工作 如果你在主机系统编写代码,那么就要管理工程文件;编辑、编译、链接,保存你自己的各种格式的实时代码,

5、并且配置操作系统以便于最终能够在目标系统上运行这些代码。 B.连接目标系统到主机连接目标系统到主机 有很多可供选择的方案用于连接目标系统到主机,比如:通过网络、串口、或者JTAG。 C.运行应用程序运行应用程序 运行期间(Run-time)的代码代表着最终的应用,其中包括:内核、开发者自己的具有特殊功用的代码,和选择调用的与库文件有关的代码。 运行期间的代码并不一定属于目标代理(target agent),即使在一个典型的开发和调试中包含它。 第二部分worksbench3.0/Tornado2.2比较Workbench3.0平台相对于 Tornado2.2 平台来说,各项功能均有所增强,也有

6、不少新加入的功能,主要的功能对比如下: 工程管理 工程项目 编辑器 断点设置 仿真环境 目标连接 下载的代码量 目标操作系统 目标系统数目 多任务调试 第三方工具 第三部分 工程视图一、Workspace/Project 的设置二、各工程类型结构三、创建一个新工程四、组织工程结构五、工程的特殊执行环境一、Workspace/Project 的设置1.在workspace建立工程 所建的工程还没有建立源文件;所建的工程已经存在源文件,但需要添加进工程;所建的工程不允许设置在源文件目录处。2.在workspace外部建立工程; 所建的工程建立在已有的源文件之上,改变工程目录之后需要对源文件进行添加

7、和链接;所建的工程需要版本控制,而被放置在workspace之外。3.将工程建立在workspace之内但是连接到外部位置 所建的工程不允许设置在源文件目录处;所建的工程因为开发团队的成员有自己的工程,并且共享了部分源文件(通常为只读的)。这种选择就避免在团队成员之间通过Workbench互相配合工作是需要建立的象征性的连接。二、各工程类型结构1.VxWorks Image Project(VIP)2.VxWorks Boot Loader/BSP Project(BSP)3.VxWorks Downloadable Kernel Module Project(DKM)4.VxWorks Re

8、al-time Process Project(RTP)5.VxWorks Shared Library Project(Libs)6.VxWorks ROMFS File System Project(ROMFS)7.User-Defined Projects(UDP)8.Native Application Project(NAP)三、创建一个新工程(Projects) 点击工具按钮或者选择 FileNewWind River Workbench Project 创建一个之前配置好的工程,或者是创建一个特殊类型的工程;也可以选择File New Example 打开一个例子工程。1.工程创

9、建之后的修改 在相应工程的 project properties界面进行修改。2.工程的结构设置 选中Project References Add as Project Reference,在弹出的菜单里就可以设定个工程之间的结构关系。3.工程与应用程序(Application Code) 工程以一种或几种类型管理应用程序文件。可以将一个与Workbench兼容的工程整个加入,也可以添加新的或者已经存在的源程序文件。选择 File Import 打开“Import File ”。四、工程和工程结构 所有独立的工程内部都包含和其他任一工程无关的模块,在系统开始是都是单个的和没有经过组织的。所以使

10、用者可以在workbench下通过工程之间的依赖关系和编译命令整体组织各个工程。 通过workbench可以很方便的组织各工程,但是有的工程不能作为某个工程的子工程或者是同种类型的工程,这样的关联是不允许的。1.给一个工程加入子工程 Workbench可以通过多种的方式创建子工程或者超级工程(subproject/superproject)结构:A 、在Project Explorer窗口,选择Project References Add as Project Reference或者在Project 菜单选择 Add as Project Reference。B、在Project Explor

11、er窗口,选择Properties再选 Project References或者选择Project Properties。然后选择Project References,之后进行设置。 Workbench确认子工程和超级工程之间的关系是基于工程类型和目标操作系统的。有些关系是不允许的。比如,Real-time Process 工程不能作为VxWorks Image工程的子工程,但是可以加入到ROMFS工程。通常,一个user-defined 工程在选用一个合适的目标操作系统的情况下可以作为任一工程的子工程或是超级工程。2.移除子工程 A、在Project Explorer窗口,选择Project

12、 References Remove Project Reference或者在Project 菜单选择 Remove Project Reference。 B、在Project Explorer窗口,选择Properties再选 Project References或者选择Project Properties。然后选择Project References,之后进行移除。3.工程结构和主机文件系统结构 Workbench工程在树状目录的顶部,其他子目录会自动包含在此树状目录之下。不要试图通过子目录建立工程建的连接关系,这样是不允许的,因为会造成工程的重叠。4.工程结构和编译系统 编译先从顶部开始

13、,再逐层深入到内部的枝叶最后回到顶部,完成编译5.工程结构和共享子工程工程结构和共享子工程 一个实际的工程可以关联任意数量的逻辑工程。产品的升级或者编译共享工程亦或组件的变化,都会影响到关联共享工程的工程结构。6.自定义编译共享工程自定义编译共享工程 一个单独的文件系统文件夹可以像子工程一样添加到多个逻辑工程结构。这种情况下,可以根据需要为每个工程指定不同的依赖编译规格。 同一个文件夹可以在同一个工程中指定不同的编译规格。 如果为工程整体制定了一种编译规格,那么子文件夹也会运行这种编译规格,为其指定的特殊的编译规则自然就被排除在外。五、工程的特殊执行环境 如果需要为每个工程保存不同的编译和外部

14、工具执行的环境,Workbench 允许使用者创建一个 perties文件,为每个工程定义工具、工具版本、环境变量等内容。1.在shell中使用perties文件 选择projectsopen workbench development shell,在打开的shell中,选择一个工程模板,从一个已经存在的properties文件中往模版中加入相应的内容。2.使用perties文件的局限*不能去除已经包含的内容;*不做在文件中设置的路径(PATH)扩展。*不能够把perties 文件用在 Native App

15、lication 工程;第四部分 建立一个例子工程 一、创建一个例子工程并运行程序 二、编辑和调试源程序 三、使用编辑器的高级特性一、创建一个例子工程并运行程序1.创建一个例子工程创建一个例子工程 a.选择 File New Wind River Workbench Project。会出现 New Wind River Workbench Project 对话框。b.从Target operating system 下拉选择菜单选择 Wind River VxWorks 6.x ,点击 Next。 c.从 Build type 下拉选择菜单选择 Downloadable Kernel Modu

16、le 点击Click Next 。d.在Project Name区域,输入ball 。在本指导说明中都保持Create project in workspace 选项,点击 Finish 。一个名称为“ ball ” 的工程出现在workbench的工程窗口。2.把源文件添加到工程a. 鼠标右击ball工程文件夹, 然后选择“Import.”出现一个添加导航界面。b. 选择General,然后是FileSystem, 然后点击Next。出现一个为Import导航的File System 界面。c.点击 Browse 按钮出现一个可做Import的选择目录。d.跳转到installDirwork

17、bench-3. xsamples目录,选择ball , 然后点击OK,这时Filesystem 页面出现, ball文件夹在左面的小窗口,这个文件夹下的文件在右面的小窗口。e. 选择ball的相应选项自动添加文件到工程中,然后点击 Finish 完成添加。 f.在工程窗口的工程目录下:工程文件为黑色;编译的目标是绿色;灰色的是只读文件。3.编译工程A.右击工程文件夹,选择 Build Project。B.第一次编译一个工程时,会弹出一个询问workbench中生成编译目标的存储目录,通常不需要变化,所以选择Continue。C.这时Build Console窗口会打印编译信息,当编译完成后,

18、 ball.out文件会出现在 ball/SIMNTdiab/ball/Debug目录之下。D.说明: 工程中的目录名称“SIMNTdiab”反映当前起作用的编译规格,它包含vxworks的模拟器和编译器;目录名称“Debug”反映的是实际上的默认的调试模式标志。 如果需要改变编译规格,右击工程文件夹,选择Build Options Set Active Build Spec,选择合适的编译规格。4.建立一个定义到vxworks simulator的连接A.在remote system窗口中点击 “Define aconnection ”,或者在remote system窗口单击右键,出现 N

19、ew Connection选择窗口。B.选择VxWorks 6.x Wind River VxWorks 6.x Simulator Connection ,然后点击 Next。C.点击 Finish 完成,这是所建立的连接相关的设置都是默认的状态。因为 “Immediately connect to target if possible ”默认为选中状态,workbench会尝试连接到模拟器。5.下载程序和连接到调试器(Debugger)A.在Project Explorer窗口,右击编译的目标 ball/SIMNTdiab/ball/Debug/ball.out , 然后选择Debug K

20、ernel Task ,这时Debug 加载配置对话框出现。B.在main 窗口的填写Entry Point选项(或者点击Browse 并且选择Downloads ball.out main ),然后点击Debug。C.这时workbench会进行以下动作:自动编译“ball”工程;跳转到Device Debug透视图;在模拟器上执行“ball”工程的程序;连接到调试器(debugger);执行程序到main();然后停止( breaks)。6.设置Device Debug Perspective(透视图)A.在Memory view使用memory address 观察“ball”工程的“g

21、rid”变量在运行过程中的动作,所以选择Window Show View Other Debug Memory。B.在 Expressions视图右击Expression 标题栏并且选择Add Watch Expression输入grid 再点击 OK。grid变量的存储地址和它的值会出现在视图中。C.右击 Memory视图并选择 “Add Memory Monitor”。D.输入“grid”变量的存储地址,点击OK。E.在 Memory视图的Renderings侧空白处,单击右键,然后选择Cell Size 8 bytes。F.除了把Memory窗口调大之外,还需要调整Monitors 和R

22、enderings窗口的大小,以便能够更加清楚的看到相应存储的值。7.设置和运行到断点(Breakpoint)A.在main.c的三个初始化for循环之后的while中加入断点:在相应行的左侧边栏双击左键;出现一个蓝色的小圆点,还有一个Breakpoints视图显示断点的名称和行号。B.断点设置以后在Debug 窗口点击Resume按钮,workbench会在运行之后停在断点处。C.在Memory窗口,程序运行后,会有六个符号出现。二、编辑和调试源文件1.在源程序中设置一个错误(在源程序中设置一个错误(Error)A.在Project Explorer窗口,双击main.c,打开编辑器。B.在

23、 Outline视图中选中main(),编辑器就会跳转显示这个函数。C.删除gridInit( )后面的分号 “;” 。D.保存并关闭文件。2.跟踪一个编译错误(Build Failure)A.在Project Explorer窗口选择编译“ball”工程。B.当编译到main.c中设置的错误时,编译就会失败,这时workbench用一个红色圆点里面一个白色的查“x”在以下地方显示错误:(a).Build Console窗口会在前端显示,怀疑出错位置以及出错的信息。(b).在Project Explorer窗口提示“ball”工程编译出错和main.c就是包含错误的文件。(c).在Proble

24、ms视图中会对错误进行描述,包括文件名、文件夹、行号。(d).点击这些位置的红色按钮,就会在编辑器中打开 main.c 文件,在红色的标记附近就是出错的所在。(e).在gridInit ()函数之后加上分号“;”。(f).保存并关闭文件。3.更改错误后,重新编译工程。右键点击“ball”工程,选择Rebuild Project。三、使用编辑器的高级特性1.使用代码完整(使用代码完整(Code Completion)在文)在文件中加入符号(件中加入符号(Symbols) 在编辑器中任意位置单击右键,在下拉菜单中选择 Source Content Assist 。2.使用参数隐藏信息 在编辑器中想

25、要使用参数隐藏信息,在编辑器的代码中的某一处单击右键,在下拉菜单中选择Source Content Assist或者使用快捷键CTRL+SHIFT+SPACE 。3.使用括弧配对使语法清晰 使用括弧配对特性时,当鼠标放在括号的一边,与之配对的另一边就会被一个矩形框起来,还可以使用快捷键 CTRL+SHIFT+P,跳转到矩形框的位置,可以进行括弧配对操作的符号有: (), , , , /* */ , (C/C+ only)。4.在源文件中查找标志符号(Symbols) 在Outline视图中可非常容易的查找符号标志,点击符号就可以跳到对应的位置。但是在函数内部引用的符号和函数名在Outline视

26、图中是不显示的。*符号高级查找打开一个高级的符号查找对话框,其步骤如下:A.Navigate Open Element 。B.在弹出的对话框中,输入要找的符号并选择其类型。C.在“matching elements”框中,双击相应的符号就会跳转到对应位置,或者点击“cancel”退出。5.在文件中跟踪特定项(Items) 添加一个书签和定位一个书签方法是一样的: 都可以在短时间内找到感兴趣的名目(Items),打开书签(Bookmarks)窗口的方法:选择Window Show View Bookmarks。可以在文件的内部的特殊行设置一个书签,也可以为文件自身设定一个书签。 在文件内部的某一

27、行设置一个书签(在文件内部的某一行设置一个书签(Bookmark) A .找到文件内部想要设置的行,在行号的左边单击右 键,在下拉菜单中选择Add Bookmark,然后点击OK。 B.书签设置好后,可以在Bookmarks窗口点击 description 下方的书签名称进行修改。第五部分 建立交叉开发环境一、主机和目标的配置任务概述二、配置交叉开发环境三、启动VxWorks四、配置Workbench的Host-Target通信一、主机和目标的配置任务概述1.在主机上所要做的工作2.在目标上所要做的工作3.一般操作4.目标代理(Target Agents)和目标服务器(Target Serve

28、rs ) 5.目标代理(Target Agent)模式(1). 用户模式 代理(Agent)就像VxWorks的任务一样运行。调试的执行是基于单个任务的:可以使任务独立出来或者使任务不对目标系统的其他部分产生影响。(2). 系统模式 agent运行在VxWorks的外部,允许调试应用程序和vxworks就像单个的线程一样执行。当应用程序和vxworks在执行的过程中遇到断点,应用程序和vxworks就会停止执行并且中断锁定。使用这种模式的最大好处就是可以通过中断单步执行;另一方面,熟练操纵单个的任务是很难的。使用这种方法的缺点那就是干扰太多因为加入了大量的有意义的中断延时:当agent运行到中

29、断锁定时。(3). 双重模式 VxWorks映像对agent选择默认配置,一个用户模式的agent ( INCLUDE_WDB_TASK)和一个系统模式的 agent (INCLUDE_WDB_SYS)。但是同一时间只有其中一个agent运行,由workbench debugger或者主机shell控制两者之间的切换。二、配置交叉开发环境1.配置主机软件A.设置VxWorks Target名称和IP地址B.在Windows下配置FTP服务器C.认识Wind River Registry2.检验串口连接和电源检验串口连接和电源*静电保护;*在目标CUP设置切换和跳转;*连接串口线,如果允许网络连

30、接,还要连接网线;*连接电源。连接和终端界面的设置串口连接配置此终端界面的步骤:*停止其他任何正在使用串口的程序。*运行Workbench。*打开串口终端界面Window Show View Other, 在filter text field框中输入Terminal,再选中,点击OK完成。*为了个人能更好的看界面的信息,可以双击界面的标题栏,全屏显示;然后双击标题栏可以还原到原来的大小。Connection Type: SSH SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。 Host:要连接目标的主机的IP。 User:输入系统设置的用户名。 Password:输入系统

31、设置的密码。 Timeout (sec):所有平台默认为0。 Port:用于此链接的端口。Connection Type: Telnet 是Internet远程登陆服务的标准协议和主要方式。 Host:要连接目标的主机的IP。 Port:用于连接端口有telnet 和 tgtcons 两种选择, 或者输入一个用于此链接的端口号。 Timeout (sec):所有平台默认为10。D.设置一种启动方式通常都需要为系统设置以下的几种启动方式中的一种: ROM 大多数的目标板都从ROM 的方式启动,在建立启动ROMs的时候,需要注意一下问题: 建立每个设备的socket特征列表; 注意每个设备的 Pi

32、n 1方向; 在电路中工作时注意防静电措施; 软盘一些系统的BSP选择包含软盘方式的磁盘启动代替从ROM,而Pentium就是从磁盘启动。 Flash存储器 为了支持从flash启动,BSP必须要做把启动程序下载到flash的相关工作。三、启动VxWorksA.默认的启动顺序默认的启动顺序如果从一种默认的启动程序启动VxWorks,必须使boot loader提供能够帮助在主机上找到VxWorks的映像并把这个映像下载到目标系统的信息。默认的启动程序是通过网络,需要正确的配置主机和目标的IP地址,VxWorks启动映像的完全路径和名称,用户名,密码等等。 当目标上电或者重启,目标首先从ROM执

33、行启动程序,目标通过串口和终端或者工作站(workstation)相连。在执行过程中,启动程序会首先输出一个标志页和一个7到2的数秒信息,如果在7到2的数秒周期没有按下任意键,boot loader就会已默认的方式启动,并且不会由VxWorks启动目标。B.输入新的启动参数输入新的启动参数 在7到2的数秒周期按下任意键中断启动程序并且输入正确的启动参数。 启动程序显示如下VxWorks启动提示: VxWorks Boot: 选择查看当前的(默认)启动参数,输入p(小写)就像: VxWorks Boot: p 按下ENTER键,界面就会显示相关参数C.启动(程序的)命令启动(程序的)命令 在Vx

34、Works启动提示的后面输入h或者?,如: VxWorks Boot: ? 再按下ENTER键,就可以看到启动程序提供的命令列表D.启动参数描述boot device : 用作启动的设备的类型,存有 boot loader。unit number:启动设备的单元号,从0开始。processor number :一般设置为0。host name:是让VxWorks使用。file name :VxWorks 映像的完全路径名称。inet on ethernet (e) :目标的IP地址。inet on backplane (b) :目标系统的底板IP号。host inet (h) :主机的IP地址

35、。gateway inet (g) :网关的IP。user (u) :用户名。ftp password (pw) :密码。flags (f) :特殊配置的选项数值。target name (tn) :加入到主机列表的目标系 统的名称。startup script (s) :shell或者其它组件。other (o):用于应用程序。E.重启VxWorks重启VxWorks的方法有以下几种: 在Terminal 输入CTRL+X。 在shell中调用 reboot( )。 按目标系统上的reset按钮。 关闭再打开目标电源。 如果以其他方式重启VxWorks,auto-boot步骤将从倒计时(7到2的数秒)处,自动运行。四、配置Workbench的Host-Target通信 如果要开发应用程序,网络连接比较容易建立和使用。到现在大多数的 VxWorks目标都支持网络连接,不需要额外的目标设置。另一方面,网络接口是一个目标板最快速的连接通道。 可能需要JTAG 或者其他模拟器连接。A.网络连接点击 Remote Systems视图的 “Define a connection to

温馨提示

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

评论

0/150

提交评论