Workbench使用说明(2011.12.28V1.2)制作人:BCT•2Workbench使用说明索引1、Workbench简介2、Workbench安装与卸载3、应用环境简介4、创建应用工程5、管理工程6、连接目标板7、调试•31.1什么是Workbench?1.2为什么要使用Workbench?1.3Workbench的优点1.4Workbench的新功能•41.Workbench简介返回1.1什么是Workbench?Workbench是风河公司为开发VxWorks提供的新一代集成开发环境。•51.2有了Tornado为什么要使用Workbench?目前我们使用的处理器是飞思卡尔的PowerPC系列处理器,如MPC852,MPC8247等,使用的操作系统是VxWorks5.5,开发环境是tornado。随着产品的升级换代,CPU性能要提升,功能要扩展。往后我们将使用MPC8308,以及双核处理器P1020,P2020等。这些处理器只有VxWorks6及以上的操作系统才支持,而VxWorks6及以上的开发环境不再是Tornado,而是Workbench。•61.3Workbench相比Tornado有哪些优点?(1).以开放的Eclipse平台为框架,调试环境可充分进行客户化定制(2).单一的全功能平台,涉及到产品的整个开发周期(3).广泛的适用性,特别适合复杂的目标系统(4).丰富易用的调试手段,大大加快调试进度1.Workbench简介返回•71.Workbench简介返回1.4Workbench相比Tornado新加入的功能:•8VxWorks6.9保存在BCT内部服务器bctbak上,地址为\\bctbak\WindRiver\VxWorks_6.9安装之前请先自行安装虚拟光驱。安装前要求磁盘空间至少12G。首先执行DVD-R147826.1-1-00.ISO中的Setup.exe。•9执行setup.exe,选择安装路径,点击OK1.执行setup.exe2.选择安装的路径3.点击OK•10直接点击next4.点击Next•11继续点击next6.点击Next5.去掉默认的√选项•12待检查更新完后,进入安装激活方式选择界面,选择“permanentactivation”,路径上选择“\VxWorks_6.9\install.txt”,点击Next完成。7.选择Permanentactivation8.输入install.txt文件路径9.点击Next•13安装完成再安装update下的两个补丁:1.\VxWorks_6.9\update\DVD-R147826.1-5-00\setup.exe2.\Vxworks6.9\update\DVD-R158451.1-1-02\setup.exe补丁打好后从开始菜单-所有程序下找到WindRiver\ProductMaintenance\InstallationatDWindriver,点击后选择第一项进行在线升级。•14卸载时,从开始菜单-所有程序下找到WindRiver\ProductMaintenance\InstallationatDWindriver,•15弹出的对话框中选择Remove,点击下一步•16常用菜单和快捷键介绍主要用于工程创立、新建文件、导入导出文件、保存、选项设置等。主要用于复制粘贴、撤销、查找等常用操作。•17常用菜单和快捷键介绍用于文件、关键字等搜索。文件搜索用于搜.c、.h文件等,C/C++搜索用于代码关键字。1.选择搜索范围2.选择文件或C代码搜索3.输入搜索内容•18常用菜单和快捷键介绍搜索还可以选择help菜单中的search选项,搜索范围可以设置选择说明文档和系统函数等。•19常用菜单和快捷键介绍主要用于工程编译和编译选项的设置用于目标板调试时新建连接,屏幕左下角RemoteSystem作用一致用于程序的下载、运行和调试用于内存和性能分析•20常用菜单和快捷键介绍调试运行下载内存分析搜索文件搜索Shell窗口•21新建工程和工程简介选择file菜单下的New•22VxWorksBootLoader/BSPproject:启动引导BSP工程VxWorksDownloadableKernalModuleProject:单盘应用工程VxWorksImageProject:BSP测试时建立的测试工程VxWorksSourceBuild(KernalLibrary)Project:vxWorks内核镜像工程。压缩格式的用于打包下载,非压缩格式的用于单盘调联。•23选择file,new下的VxWorksDownloadbleKernelModuleproject1.选择File下的New2.选择DownloadableKernelModule•24输入创建的工程名称3.输入工程名称4.点击Next•25设置工程保存路径5.设置保存路径6.点击Next•26选择CPU型号,852选择PPC860sfgnu;8247和8308选择PPC603diab;仿真选择SIMNTdiab7.选择SelectAll8.选择当前使用的CPU•27创建完成新创建的工程•28新建的工程目录•295.1导入文件5.2加入文件5.3设置编译环境5.4编译工程•30选择工程,右击选择Import1.右击工程,选择Import•31选择General下的Next,点击Next导入文件2.选择General下的FileSystem3.点击Next•32选择文件夹,导入到工程4.选择导入的文件夹5.选择导入到哪个工程目录下•33导入完成。注意的是VxWorks6.9导入文件是文件夹的形式,此文件夹下的所有.c和.cpp都会被链接编译。在原有Tornado的工程目录下,目录结构可能需要调整,例如引用I2C模块时,src文件夹下的testbench和thirdparty文件夹及里面的.cpp文件应删除,否则编译时会报错。第二种方法,创建完工程后,在工程目录下创建文件夹,加入对应的文件,然后刷新工程即可。•34在工程目录下建立文件夹,加入文件1.手动建立文件夹并加入文件•35刷新工程,刚加入到文件夹的文件都被加入到工程2.右击工程,选择刷新3.刷新后文件夹被加入到工程•36选择BuildProperties下tools,删除-ansi。如果不删的话,后面编译时”//”的注释和屏蔽内容会报错1.右击工程,选择BuildProperties2.删除Tools下的-ansi•37库文件链接:Variables下LIB项输入.a库文件路径,注意用顺斜杠3.选择Variables4.在LIBS项中输入.a库文件路径•38选择工程,右击,选择BuildProject1.右击工程2.选择BuildProject•396.1连接目标板,新建连接•40在屏幕左下角RemoteSystems空白处点击鼠标右键,弹出选项中选择NewConection1.在RemoteSystems空白处点右键2.选择NewConnection•41在弹出的新建连接中选择VxWorks6.x下的TargetServerConection3.选择VxWorks6.x下的TargetServerConnection•42输入目标板的IP地址,选择对应的不带.z的vxWorks核文件4.输入IP地址5.选择核文件路径•43点击Finish完成新建连接。如下为连接成功的界面连接成功•447.1下载程序7.2运行和调试程序7.3Debug调试7.4设置和管理断点•45下载编译好的.out程序文件到目标板1.选择工程,右击2.选择DownloadVxWorksKernelTask•46在弹出对话框中点击OK到下一步3.点击OK到下一步•47弹出的DownloadConfigurations对话框中选择可用连接,点击Download4.选择可用连接5.点击Download•48可能会弹出提示框,直接点击yes完成下载6.点击yes完成下载•49下载完成后,可以运行程序和调试程序1.右击工程2.选择RunTask•50点击OK进入下一步3.点击OK•51选择入口函数,点击Run4.选择入口函数5.点击Run•52点击yes完成Run6.点击yes完成Run•53点击调试按钮,弹出shell窗口7.点击调试图标8.点击OK•54在调试窗口中调试出现调试窗口9.可输入调试命令•55右击工程,选择DebugTask1.右击工程,选择DebugTask•56点击OK进入下一步2.点击OK•57选择入口函数,点击Debug3.选择入口函数4.点击Debug•58点击OK进入下一步5.点击yes•59在弹出的Debug窗口中跟踪调试6.点击Nextstep跟踪程序7.观察参量的值是否符合预期•60设置断点1.双击代码行开头设置断点,再次双击可取消2.点击Debug调试3.点击StepReturn(F7)运行调试程序4.点击Resume(F8)可跳过断点•61VxWorks6以下的用Tornado编译,VxWorks6以上的用WorkBench编译。用WorkBnech编译8247的程序下载后会报WDB连接错误。原驱动下未直接引用的.c和.cpp不要加入WorkBnech的工程。WorkBench的语法检测相比Tornado严密很多,以前的驱动模块可能需要作部分修改,否则编译不能通过。如IIC下的LogMsg函数引用时,需要带全参数,不能缺省。•62目前使用WorkBench调试时,需要双网卡支持。因为WorkBench的license需从bctbak服务器获取,本地主机需要联网,同时本地主机要连接目标板调试,所以需要双网卡。•63修改生成文件格式,编译工具linker对应.out的格式,librarian对应.a格式,•64若要改为.a选择Target下Buildtool的Librarian