vxworks6.6-Workbench3.0仿真测试和调试指南_第1页
vxworks6.6-Workbench3.0仿真测试和调试指南_第2页
vxworks6.6-Workbench3.0仿真测试和调试指南_第3页
vxworks6.6-Workbench3.0仿真测试和调试指南_第4页
vxworks6.6-Workbench3.0仿真测试和调试指南_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、Workbench3.0-vxworks6.6仿真测试和调试指南VxWorks5.5只能创建静态库(.a),VxWorks6.0之后增加了动态链接库(.so)的功能,方便了多进程使用动态库。本文继承win32和linux编程入门的一贯风格,通过简单的动态库生成步骤,并编写RTP程序进行测试,让您初步认识VxWorks6.6强大的功能,同时也让我们注意到VxWorks6.6比VxWorks5.5在使用要复杂很多。我相信通过这些简单的编程知识点,您基本掌握了VxWorks6.6调试技巧,让我们后来者不必在调试过程中去探索黑暗。本文基本使用图形来描述操作流程:一副图低得上千言万语了。VxWorks6

2、.0之后版本新增引入了具有完全保护功能的实时进程RealTimeProcess简称RTP,首次完美的解决了内核保护与实时性和确定性之间的矛盾。用户可以根据需要动态的创建/删除RTP实时保护进程或仅将一部分程序运行在RTP实时保护进程中。RTP实时进程可以随时动态加载运行外部程序。每个RTP进程完全独立,程序在RTP进程内部出现的任何错误都被限制在RTP进程内部,删除RTP实时进程时自动释放所有资源。RTP与其他多进程OS不同的是,VxWorks的RTP实时进程具有完全的静态确定性,提供保护功能的同时提供最高的实时响应确定性和快速性,并且可以提供完全的存储错误检测和存储报告功能。动态链接库和共享

3、数据区功能也同时提供。RTP实时保护进程与VWorks原有的更高性能实时任务一起构成保护性和实时性兼备的超级设备平台.动态库生成1、选择工程工作路径2、正常打开的初始界面一般情况下左下角出现相似的界面,说明您的VxWorks6.6系统基本安装正常。需要注意的是系统安装了Tornado2.2会与WorkBench3.0冲突,最好要把Tornado2.2卸掉,操作系统Win7不支持两者的安装。3、创建动态库工程Troject.f-fWindRiverWorkbenchProjec七越VwVorksScotLoader/ESFFrc-jfictJT;yKftorksDoiirduaiiatileKe

4、rnelMuduleFrojectVhiii,dtIzeImageProjec:tg-VxfforksRUfilFSFileSystemProject匚VxAorkER屯alTirTieProcessPr:ject會orksEharedLibiraryFrojsetrt口Tkw55.DjwxJ.?:xd=ibl已Appli匚nti口几F厂口j即二tl_rilJE&tIlefineilTr:ject葩SatirgjlpplicatiotlFf站tEx:ajTiiile.Other.4、动态库名称5、编译选择这里我们选择diab工具编译,gnu编译工具在调试C+中的Class类有点问题,具体原因我

5、没有去研究。6、其余默认,按完成即可7、添加inc和src文件夹A、Inc包含demo.h和stdafx.h;B、src包含demo.cpp和stdafx.cpp。cppviewplaincopystdafx.h/stdafx.h:includefileforstandardsystemincludefiles,/orprojectspecificincludefilesthatareusedfrequently,but/arechangedinfrequently/6.#if!defined(AFX_STDAFX_H_E5CE9468_AAF9_46A6_979B_9C125F6E9D00_

6、INCLUDED_)#defineAFX_STDAFX_H_E5CE9468_AAF9_46A6_979B_9C125F6E9D00_INCLUDED_9.#if_MSC_VER1000#pragmaonce#endif/_MSC_VER100013.14.#defineWIN32_LEAN_AND_MEAN/Excluderarely-usedstufffromWindowsheaders15.16.#include17.18./TODO:referenceadditionalheadersyourprogramrequireshere19.20./AFX_INSERT_LOCATION21

7、./MicrosoftVisualC+willinsertadditionaldeclarationsimmediatelybeforethe/previousline.22.23.#endif/!defined(AFX_STDAFX_H_E5CE9468_AAF9_46A6_979B_9C125F6E9D00_INCLUDED_)24.stdafx.cpp/stdafx.cpp:sourcefilethatincludesjustthestandardincludes/libdemo.pchwillbethepre-compiledheader/stdafx.objwillcontainth

8、epre-compiledtypeinformation29.30.#includestdafx.h31.32./TODO:referenceanyadditionalheadersyouneedinSTDAFX.H33./andnotinthisfile34.demo.h#ifndef_DEMO_H_#define_DEMO_H_38./Thefollowingifdefblockisthestandardwayofcreatingmacroswhichmakeexporting/fromaDLLsimpler.AllfileswithinthisDLLarecompiledwiththeA

9、E_DEMO_EXPORTS/symboldefinedonthecommandline.thissymbolshouldnotbedefinedonanyproject/thatusesthisDLL.Thiswayanyotherprojectwhosesourcefilesincludethisfilesee/AE_DEMO_ENTRYfunctionsasbeingimportedfromaDLL,wherasthisDLLseessymbols/definedwiththismacroasbeingexported.#ifdefWIN32#ifdefAE_DEMO_EXPORTS#d

10、efineAE_DEMO_ENTRY_declspec(dllexport)#else#defineAE_DEMO_ENTRY_declspec(dllimport)#endif#else#defineAE_DEMO_ENTRY#endif54./Thisclassisexportedfromthelibdemo.dllclassAE_DEMO_ENTRYCTestpublic:CTest();virtualCTest();public:intAdd(inta,intb);protected:intm_nCount;66.67.externAE_DEMO_ENTRYintnTest;68.69

11、.AE_DEMO_ENTRYintfnTest();70.71.#endif/_DEMO_H_72.demo.cpp#includestdafx.h#includedemo.h76.77./Thisisanexampleofanexportedvariable78.AE_DEMO_ENTRYintnTest=0 x64;79./Thisisanexampleofanexportedfunction.AE_DEMO_ENTRYintfnTest()return64;85./Thisistheconstructorofaclassthathasbeenexported./seedemo.hfort

12、heclassdefinitionCTest:CTest()91.CTest:CTest()95.intCTest:Add(inta,intb)return(a+b);8、添加inc路径9、刷新工程如图所示,按鼠标右键刷新工程,inc和src即可添加到工程中去。UpyninNewWimiijwCtrl+C雷勒*Ctrl+V只reletsDeleteEerLdJTieF2M穿.Q町Import.卩珥Uxprt.UpynWorkbenchHevcLijjimyritShell.*Bui1dPrijjEic:tCtrl+EIlltt+A山RebuildFrojectEui1dUptionE事Refr

13、eshF5Cli:-E_t!FrijjhjctCl:eeUrurelatedPrcjecisPf?j已阳tew卜BoATLlcail.QRun.耕Debug.EuiiAz卜IlybugAs卜Te:iJTi卜Conipai_eW1th卜EestorefruniLoiz:ilHiztorj:.Properti包三Al+4-ErL-terIrides卜10、编译工程从右键菜单中选择“buildproj完成编译,把编译好的动态库libdemo.so拷贝到$(FEPHOME)/bin下,方便后面的使用。注意:FEPHOME环境编译=c:/openSUSE3000/fep中的斜杠是反的。动态库调用VxWo

14、rks6.6调用比较麻烦,需要很多配置。1、创建工程肆VxTorksRealT&eProcessProjectProjectCr&ith!an&wcirks上巨注1tim屯prcic&eeprcij&ctwith:11iviilatilt:F:TFtiui1dspecs.匚叵冈projectatest已厂:Q;illocatinnCreateC_)CreateprojectitlvorkspacewLLthcorLtentateacteriLalloca:!_FinishCaneelDirectory:C:openSUSI3000epcodVtest_sys.testdemo2、编译选择3、默

15、认完成4、编译属性5、编译属性-linker6、选中Createadynamicexecutable7、设置LIBPATH和LIBS8、包含路径这里包含$(FEPHOME)/code/include,因为libdemo.h需要放在这里,它是一个隐式调用的方式。以上设置好即可编译,编译方式如上比较简单。把编译好的动态库testdemo.vxe拷贝到$(FEPHOME)/bin下,方便后面的使用。9、启动仿真丽vxsimO13问区Ih|Deve1opTiientSystemVsUorks6.6SMPKERNEL:WINDversion2.11CopyrightWindRiverSystems,In

16、c.,1904-20073.Processor#0.BSPversion2.0/3.CPU:Windows5.1ServicePackMemorySize:Oslf00000.Created:Dec12007,13:00EDfisRPolicyIfode:DeployedUDECommType:UDB_COMM_PIPEUDB:Ready.10、调试因为动态链接库是给RTP使用的,我们只能选择DebugRTPOnTarget在目标机上运行。UperLinNewltiirLiluw_iSCopyCtrl+C酋FteCtrl+V冀DeleDeleteRen:iiTieF2Move.f?a,nIrT

17、iport.F/TE:prt.UperLlililLirktiHrichHevelupnierLtShell.*Bui1dPrujectCtri+Ehit+X6RebuildFrojectBm1dUptionsRefreshF5CloE.t!Fmj色已tCloseUm-elat己dPrcjecisFrujectReferemzesDebugAzTe:=jTiC;Tipai_eWithResturefrriFTiLlic:i1HiEtory-.PropertieeAlt+EnterIndex11、设置运行程序路径12、执行Debug执行上面的Debug按钮之后,将出现如下的画面。2订Lfisir

18、Loj:dclifkiDL?nlls:FrafirUiE耳虹L4.g山Lkaid*E|哎丿曲:占“臨叭皿出*0.祈憧Jiscitt-?,tisij-iEldcqID.阴魂(ti-u-al号皿jEifrriEgIhanriswidrso:i:JKElIlULlCfEfTeJtllHK11EILllTESt;|Fret0:CTwttwt;int曲血=IMt-ida卩即;prifttt(,&=1/Ii=2,5(=nnk.d5ib|:Z阻帥4站何_冊SFiTMM苗tt机址:1:灯1生I】ml9SiMOI3t匚rd弼五gi&e-巴SBHHZMiL讣-31?禺mi*itfUlWIkkEilit二卫th注仃

19、-T旺I咖F【FullSltrtaJErj-H*iiKfeJiM*:i:lessL-arLtdmtiUKi:Eit:Lle5fimdKfiEp/M*c/listnis/Ustla+iSIITEFniM.iA-.UPdueSraiibEI-:JJS!JW3j,fni,Kd4i,i45triyL.ii:b5l.iciflflrEfZLftdjilKJEVil1JaualciLbTeNccL51匕EtILQF2S!JQ53:10(ELMiITi匸:E;QEML-BiBCjtHMkhf匚InLda.MWliMF阳如bEE爺订T丹码皿丹可幵Ll:G!fihip常*-*血乂g九即护is.冉匕姐51匕匸Lt

20、EUH-J=T&轴If.;与僅|苟护PpuitmaiiM.irA協壷匸”1蓝奄卜t/ieH!iitiadEflirts&b盟=上岁応如制世!皿&?!,出Nj.nnJ.MtCciKhir-1百tsstiffli?7imudtT?旳j-irp-l-唏iTLdtMihLiELf3那川-lfit7:.!dlti:iE1MialItElkii:-.qip10E1jtirtD-GriSE胸If屬5口1135皿即竹板矯:ttmiQj|keiwU如2环:;BoKH-和牙1屮0耳冃Lxtlfhb*-唏HnJFiETb?ishi+T“”iinJLClMiJUafc證mudHidtiwrA0-TiihJRinrT中

21、hlQIliiiVdwks2EvrxLTuzdti显习寸|rCTttwt;iniis3uk*eui.jbldilj!町召PL1JLUr沪IrtFE.JZ-Vli旷115mii3冃知】dTtrp汕百吭ZTTHi直月3liSLiaH*LtildtJXnt)i忒Dim也K匚;-.”ijtn.5仏月Slqj.tuurladr3Wtii.,ti+l-LiwlliMt“MdV:,肿”rr-7i:-a-ftractDbujg-t-trtd4xi-/PED/ttfrtdti.aiopp-1i*dEimVcHncFilEifiiKr辭*I*血四*北rij-wlLuJ*!TuT|.b1帥n曲黏1”IZei.iL.

22、tTii_k.Zui-sJ.=riiiukliL号皿Lit心山cuiAJji丄山町“mapaTcat-lMLHJCIflR-5t|lEeCUTH6t旦:目LwsJi%lw?ilFihbtJihiJEtriLi-ilLiwEtLajjis4EmJj.CLpciJMM)-*VE-itUraid3;映TshrfcLEBl-議WizriRiwrFu賈ID*?hewOTif衬SHUTfty-jnE.S)LHKo-mLtukai#F-4tPHTri?册讯为wrlsQu硏刚-沁C撷rssirpu4RitwVihrks66?tdzn-Mi-iKk-二-ID电Ttp-lI1:irfpnEZ%40.:p!kE.!

23、his:ihimb讯二芷旳LO#护昌1圍舉左0-甘Lr”二i.-LJi*fcCh谊3dIRMeiE乩心likIr#p*缶时mJtl呷*i7KUVbpiaLjp*iaIQ哼jjj&m4j匚(HitdTcc:ecibtii乩处二itnTust|pIttWID;i黑iUwLatrl占im-rnisDEffFinTarpt二胡hg曲Ef軌山时阳#“4和tU冷血ID=監iTE.huQxliffilJUD口叩M丰耐口。IIJ.JT宙比P型阳期小川耐畑IS和JtLil縊41。TjptTl.utdmOaJX-fEn:叵7;“肚扌:伫讦価:如|日l吨1峑為輒hELfl.dliJ*B14、执行后的仿真器:rTas

24、kJslbSztt+LxLae.U+EUzcilttiLc)VxVorx-zCPUnuitcT:Z/Ilc-s-ZrUnuii.bcr:Ll.-rii-ncsyml-nlT.fhImTniihnst.-L.Winrlyitr-Sh”rHvnkw-S.Cldit-proj-3lnnpz_d1上_3九匚“duEjyii.to.znTTPii-.Syshn:二:Tlll二11:I二i.:i二11:lI;IITT二Illi:111:11111:III:II11:二1JJ:J.:1:llllllllllllIT:III:II::i.:.:11111T1:11:1:Jh11:nIl:111:J.:1JJ.

25、1JJJJJJJJJ二二111111111Jillyd-.rk-n-7RKEEiTZL.7IUD2.11-pyri7k-TJind别如广=严卜=応Irm.:q=!一:?】17KiiidzT-rs.1ServicePack3ProzEss-orftl.KejLUL.SiitDbIID3CC0.BS?e2iiun2.“J.treatedDec12337,L3:OEEo.izviDdejrplovedtlB:cn.nType:VD2_:01M_E:PZ(CIB:F.eadv.-OjiII-024+0E3d+0k53-0s5e-Usber:Lc_dctug_stc.tcDxl0547ddD(iTcztdcz;zrr半:-0m.uTaikDxl0547ddD(iTuHldc:IL_;zrr半.DjilSOOlcalJi.olLLj7a-kDjil0547ddD(iTcldc:iL_;:rry.1TdiikDxl0547ddDiTu=lLlu.lL_;2ET7.1k13031kl:i1Tdi-kDxl0547ddD(iTu=LLlu.iL_;DK13001ee3.aidDK10547ddD(ilemtden二:LET4:ii丄JODleee.aidDsl0547ddD(iTestdez:ZET4:JKlJUJleienainDK

温馨提示

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

评论

0/150

提交评论