如果Task内没有所要的task,直接键入;
可以看到任务已经启动, 并停在任务入口处。
? 设置断点
可以直接在相应的行设置断点—F9;
? 调试工具:
基本同其他的一样。
2.2 bootable project
下列情况时需要创建bootable project:
? 产品的正式版; ? 定制vxWorks image;
每个bootable project都是基于一个特定的BSP,在bootable project里,应用程序代码同vxworks内核是静态联接在一起的。
创建bootable project步骤: step1: 同上
20
step2: 同上
step3: 选择工程环境
根据自己的bsp选择相应的环境配置,有两种情况:选An existing project可以继承以前的工程环境配置,无须重新配置,选A BSP则自动重新配置。(建议选此项)
step4:
到此已经生成了基本程序框架,可以加入相应的应用;
21
工程有三个属性表,Files, Vxworks, Builds,下面一一介绍: Files:
? linkSyms.c and prjConfig.c----工程动态产生的配置文件,包含组件初始化和
缩放支持;
? romInit.c, sysAlib.s, sysLib.c, romStart.c----总的开始文件;
? usrAppInit.c----初始化用户程序,用户需要修改此文件来满足自己要求; ? prjComps.h and prjParams.h----工程动态产生的头文件,包含组件选择和参数
值。
22
这个层次面板显示了vxworks image的所有可加载的部件和功能,黑体显示的是已包含的部件,浅平显示的是未包含进来的部件,斜体显示的是无效的部件。在选中每个部件时,通过单击鼠标右键,在弹出的快捷菜单上,可include 或exclude 此部件,并可修改此部件的属性。建议大家仔细看一下有哪些可选的部件,部件如没有被选上,则相应的功能就没有,所以当大家调试程序时,如出现一些问题,要仔细的看看对应的部件有没有被include进来,如你要在目标机上装shell程序你就得include 上“target shell components”部件。
Build(见2.4节)
2.3 集成模拟器vxsim
VxSim是VxWorks提供的在实验与测试环境下仿真VxWorks目标机的程序,而无需硬件的支持。在某些方面,VxSim和运行在目标机硬件上的真实VxWorks环境相同,用户连接应用、rebuild VxWorks映像,就好象在真实的使用标准BSP的VxWorks交叉开发环境一样。
VxSim中,image作为宿主机的一个过程执行。由于代码在宿主机本地CPU结构中,因而没有指令的竞争。 由于不存在与目标机的交互作用,故不适合开发设备驱动程序。 具体区别如下:
1、 Drivers:由于设备驱动程序需要与硬件的交互作用,许多VxWorks的设备驱动程序在VxSim下不可用。
2、 文件系统:VxSim缺省使用pass-through 文将系统(passFs)直接访问工作站上的文件。 3、 Networking :Tornado内置的VxSim不能使用网络功能;额外购买的增强功能组件可以
支持网络功能。
Tornado包含了一个目标机仿真的有限版本,每用户运行一个实例,无网络支持。
23
需注意的是,一些可选的产品如STREAMS, SNMP,和Wind Foundation Classes在此版本下不可使用。 使用VxSim
启动:当请求一个需要连接到目标机上的功能时,VxSim自动启动。例如:当请求下载模
块时,如果VxSim尚未启动,那末目标机服务器VxSim会自动启动。 当然也可以使用命令行、菜单或工具条启动VxSim。 重新启动:在Shell中健入CTRL+X 退出:在windows下,关闭窗口。
2.4 Bulid 说明
双击default图标,打开编译属性页,如上图,用户可根据自己情况修改参数。在C/C++ compiler页上定义了debug Flags:
各意义如下:
? Include debug info控件sets the debug flag(-g);
? Optimization level设置编译器优化级(O,-O1,-O2);
? Flags vary with CPU architecture. Some flags shown here are:
-O0 No optimization
-g Source debugging support
24