TargetLink

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

北京九州恒润科技有限公司©12020年6月13日星期六TargetLink3.0——目标代码生成工具2恒润科技有限公司©dSPACE公司介绍dSPACE公司概况dSPACE公司产品范围部分客户列表3恒润科技有限公司©2020年6月13日星期六成立于1988年总部位于Paderborn在Detroit、Paris、Cambridge设立分公司在Stuttgart和Munich设立办事处全球总计超过800名员工世界顶级的ECU软件开发和机械控制的开发工具供应商Pfaffenhofen/MunichHolzgerlingen/StuttgartPaderborndSPACE公司4恒润科技有限公司©2020年6月13日星期六dSPACEInc.Detroit,USAdSPACEGmbHPaderborn,GermanyNetherlands:Sweden:Poland:India:CzechRepublicandSlovakRepublic:Israel:dSPACELtd.Cambridge,UnitedKingdomdSPACESarlParis,FranceJapan:Korea:China:Taiwan:Australia:在12个国家设立代理商恒润科技公司为中国独家代理55%的产品销往德国以外目前全球总计超过13,000套产品系统dSPACE公司5恒润科技有限公司©dSPACE公司产品的范围系统构架快速原型自动代码生成硬件在回路测试标定工程服务6恒润科技有限公司©客户列表2020年6月13日星期六AUDIBMWBoschBridgestoneContinentalTevesDAFDaimlerEatonFEVFiatFordGeneralMotorsHellaBehrHitachiHondaHyundaiMotorCo.IAVIsuzuJaguarMAGNASTEYRMagnetiMarelliMANMazdaMitsubishiNipponSokenNissanOpelPorschePeugeotRenaultSKFTRWValeoVisteonVolkswagenVolvoWABCOZFLenksystemeZFFriedrichshafenZFSachs汽车客户列表航空客户列表BAESystemsBoeingDLREuropeanSpaceAgencyEADSKamanAerospaceLiebherr-AerospaceLindenbergNASANationalAerospaceLaboratoryNLRTheAerospaceCorporationVeridian其他一些客户ABBNikonBoabardierPhilipsCEASeagateFujitsuToshiba7恒润科技有限公司©课程内容1.TargetLink介绍2.Code优化原则3.TargetLink开发流程4.TargetLink模块5.Data记录6.Data定标7.Software-in-the-Loop仿真8.Processor-in-the-Loop仿真9.TargetLinkAPI10.Variable管理11.Look-UpTables12.Function划分13.Document生成14.CustomCode集成15.StateFlow16.Modelconversionwithlibmaps17.TargetLinkCodeandExternalCode集成8恒润科技有限公司©2020年6月13日星期六1.TargetLink介绍背景TargetLink简介TargetLink组成安装要求9恒润科技有限公司©2020年6月13日星期六传统开发方法问题:信息交流规范含糊不清资源冲突大量的调试时间功能开发者算法知识#includemath.hif(a0)ki=0.4*x+z1;软件专家代码实现和编程知识时间产品代码规范10恒润科技有限公司©2020年6月13日星期六代码生成方法功能开发者算法知识软件专家代码实现知识代码实现知识:•ANSI-C•语言特性•汇编语言•处理器特性…如何优化代码!TargetLink代码生成器代码实现知识11恒润科技有限公司©2020年6月13日星期六什么是TargetLink?前端-MATLAB,Simulink,Stateflow-ASAMMCD2文件生成器-文档生成器后端ANSI-C后端处理器定制C&汇编后端处理器定制ANSI-C代码生成器-模型分析-模块间优化-产品级代码OSEK/VDXPartner12恒润科技有限公司©2020年6月13日星期六TargetLink模块TBSTOMTSMDD汽车定制模块13恒润科技有限公司©2020年6月13日星期六TargetLink安装要求硬件最小系统:PentiumIV1.6GHz(orequivalent),2GB内存,350MB硬盘空间目标仿真:仿真板,COM口软件系统:XPSP2MathWorks:MATLAB2006a+至2008aMex编译器:MicrosoftVisualC++5.0/6.0/7.0WatcomVersion11.0LCCasshippedwithMATLAB目标编译器(只用于目标仿真)不需要RTW和StateflowCoder!14恒润科技有限公司©2020年6月13日星期六TargetLink的安装InstallationManager用于管理dSPACE软件安装和维护多个安装版本在安装版本之间进行切换可以在同一PC上安装多个版本的TargetLink!Licensing单机版:WibuDongle浮动网络版:GLOBEtrotterFLEXlm15恒润科技有限公司©2020年6月13日星期六2.代码优化原则代码要求模块间优化代码优化模板16恒润科技有限公司©2020年6月13日星期六代码要求1.速度和存储器占有效率比手写代码低过20%是不可接受的。2.生成代码具有可读性并且易于检查。3.生成的代码是效率和可读性的折中。No’trick’programming。4.当要求满足时,可以生成ANSIC代码以及选择使用非ANSIC或汇编代码。TargetLink17恒润科技有限公司©2020年6月13日星期六模块间优化Stateflow和Simulink模块的混合模型优点:无缝的整合Stateflow和Simulink将Simulink函数嵌入Stateflow,反之亦然将模块代码和少量C代码线间结合消除中间变量通用的内部表现形式18恒润科技有限公司©2020年6月13日星期六模块间优化的例子-没有不必要的代码-不浪费执行时间-没有临时变量bool1=(In=10);bool2=(In=-10);bool3=bool1||bool2;tmp1=table_lookup(Table,In);tmp2=In;if(bool3)out=tmp1;elseout=tmp2;RCP代码if((In=UT)||(In=LT))out=table_lookup(Table,In);elseout=In;TargetLink代码19恒润科技有限公司©2020年6月13日星期六不同的建模方案不同的建模方案生成相同的代码if((in=UT)||(in=LT))out=table_lookup(Table,in);elseout=in;TargetLink代码:20恒润科技有限公司©2020年6月13日星期六模块优化C16xCPU32...SH2解决方法:代码模板库对于每个编译器/处理器都有最佳代码模板可以选择:•ANSIC•汇编语言和定制C编译器例子:16bitSaturatedAddition++问题:同一中算法存在多种不同实现方式不同的编译器/处理器之间的最优实现方式不同21恒润科技有限公司©2020年6月13日星期六例子:SaturatedAdditionInt16x1,x2,y;/*declaration*/Int32dummy;dummy=(Int32)x1+(Int32)x2;/*addition*/if(dummy32767)/*saturation*/y=32767;elseif(dummy-32768)y=-32768;elsey=(Int16)dummy;Int16x1,x2,y;/*declaration*/Int32dummy;dummy=(Int32)x1+(Int32)x2;/*addition*/if(dummy32767)/*saturation*/y=32767;elseif(dummy-32768)y=-32768;elsey=(Int16)dummy;Solution2:ANSIC,增加字宽(increaseofwordwidth)Int16x1,x2,y;/*declaration*/y=x1+x2;/*addition*/if((x1=0)&&(x2=0)&&(y0))/*saturation*/y=32767;elseif((x10)&&(x20)&&(y=0))y=-32768;Solution1:ANSIC,真实性检测(plausibilitycheck)22恒润科技有限公司©2020年6月13日星期六例子:SaturatedAdditionregisterInt16tmp_s1=s1;/*declaration*/registerInt16tmp_s2=s2;r=asm(Int16,move.w‘tmp_s1‘,D0,;additionadd.w‘tmp_s2‘,D0,bvc*+16,;saturationtst.wD0,blt*+8,move.w#-#csatval-1,D0,bra*+6,move.w##csatval,D0);registerInt16tmp_s1=s1;/*declaration*/registerInt16tmp_s2=s2;r=asm(Int16,move.w‘tmp_s1‘,D0,;additionadd.w‘tmp_s2‘,D0,bvc*+16,;saturationtst.wD0,blt*+8,move.w#-32768,D0,bra*+6,move.w#32767,D0);Solution3:Assemblycode,溢出标志检测(overflowflagcheck)Macro:AC__I16ADDI16I16_SAT(x1,x2,y);Solution4:Languageextensions,saturationtypey=(_satInt16)x1+(_satInt16)x2;y=(_satInt16)x1+(_satInt16)x2;/*addition*/23恒润科技有限公司©2020年6月13日星期六SaturatedAddition的对比Solution1:ANSIC,plaus

1 / 146
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功