一.认识Tornado II和Vxworks
VxWorks是一种嵌入式的实时操作系统,所谓嵌入式系统就是用户自己开发设计板子,板子上通常有一颗CPU,VxWorks支持32位的CPU,包括Intel公司的x86、Motorola公司的68k和PowerPC、MIPS、ARM、Intel公司的i960、Hitachi公司的SH。我们设计的板子通常没有软件的自开发能力,所以我们需要一台通用机来辅助开发,这台通用机可以是PC或工作站,我们称辅助我们软件开发的通用机为宿主机(Host),用户自己开发的板子为目标机(Target)。宿主机上要有一个集成开发环境(IDE)来辅助我们的软件开发,这套集成开发环境可以运行在Windows95/NT或 UNIX下,包括交叉编译器(Cross Compiler)和交叉调试器(Cross Debugger),所谓交叉编译器就是在宿主机上编译生成可以在目标机上运行的代码IMAGE,交叉调试器就是通过宿主机和目标机之间的某种耦合方式实现前后台调试。我们称宿主机上的这套集成开发环境为Tornado,编译生成的目标机上的可执行代码IMAGE为VxWorks。在系统安装的时候,集成调试环境和VxWorks的原材料(一些obj文件)都安装到宿主机上,编译生成的在目标机上运行的IMAGE内包含操作系统。
二.Tornado IIIDE的主要组成
Tornado IIIDE的主要组成部分有:
1.集成的源代码编辑器(可惜不支持汉字输入)。
2.工程管理工具。
3.集成的C和C++编译器和make工具。
4.浏览器,用于收集可视化的资源,监视目标系统。
5.CrossWind,图形化的增强型调试器。
6.WindSh,C语言命令外壳,用于控制目标机。
7.VxSim,集成的vxworks目标机仿真器。
8.WindView,集成的软件逻辑分析仪。
9.可配置的各种选项,可以改变归Tornado GUI的外观等。
Tornado IIIDE运行在我们的宿主机(Host)上。主界面如下图所示。包括菜单、工具栏、主工作区和程序编辑区。主工作区(workspace)中可以集中管理所有的工程项目。
工程有两种格式:bootable和downloadable。第一种经编译后生成的映象文件已经包括了vxworks内核,可直接在目标板上完成自启动、装入内核并运行应用程序。所以一般作为生产用映象。第二种则只是纯粹的动用程序,生成的映象文件不包括vxworks内核,一般为.out格式文件,所以不能在目标板上自动运行。它要求目标板上要有固化的bootrom通过网络或串口下载vxworks内核到目标板,并建立相关的运行环境。然后通过宿主机上的target Server下载到目标机上运行。所以它一般用在工程调试阶段。下面以arm为例分别就两种格式作一个详细的论述。
创建bootable格式的工程。启动tornado后进入”file->new project…”出现如下的界面:
选择“Creat a bootable VxWorks image”后点击OK,并按要求输入工程名称和位置。出现如下界面:
此时要选择你工程所基于的BSP目录。然后系统自动为你在工作区生成一个你指定名称(Project0)的工程。如下所示:
工程下的文件为系统文件,大部分为bsp文件,一般不需要去修改。如何添加自己的应用文件到该工程中呢?将鼠标“Project0”上,点击右键。出现如下的界面:
左键点击“add Files”选择文件的所在目录,就可以添加你的文件了。只添加不和系统提供的文件“连”起来是没有用的,在usrAppInit.c中加入一条任务生成的语句,如下图所示:
其中“myDemoTask”为你应用程序中的第一个入口程序。当然在usrAppInit()之前应加上必要的include头文件,才能在后面的编译中通过。接下来就应该编译了,选择“BuildRebuild All”或点击 后,系统就开始为你生成包含vxworks内核的映象文件vxworks_rom.hex了。如下图所示。
创建downloadable工程格式。新建时选择“Create downloadable application modules”然后按提示输入工程名和位置。“下一步”后出现如下图所示界面,在toolChain中选择“ARM7TDMI.gnu”编译工具。完成后你会发现工程(project1)下什么程序也没有。
按上面的方法照样添加你的应用程序,并进行编译,生成project1.out文件。就可以调试了。
调试之前必须保证你的目标机已经上电并通过网络或串口与宿主机相连。
下载.out文件之前还要先配置你的target server。按下图所示进行操作:
配置如目标机的IP,和映象文件所在的目录就基本上OK了。结果如下图所示。
以网络下载vxworks映象为例:启动tornado自带的tftpServer,,打开超级终端,设置好波特率。目标机复位,很快超级终端就有一些信息打出来,当出现如下的提示时表示vxworks内核已经在目标机上成功运行下来了。
在Tornado II的tools菜单中启动刚才配置好的targetSever.成功后就会有一个靶状的红色小东西出现的window任务栏右下角。双击它,出现如下的提示则表示成功和目标机连接。
点击 选择代理名,点击 并启动debug,点击 下载.out文件到目标机。点击 并输入任务名,就可以开始应用程序的调试了,调试界面如下图所示:
点击 可以在代码行设置断点。
调试好的程序就可以按bootable的生成方式作成最终生产用映象,烧入目标机就可以了,当然还应该观察程序是否正常运行,输出结果是否符合要求。
(完)