您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 嵌入式代码自动生成-周玲-mathworks
1©2014TheMathWorks,Inc.嵌入式代码自动生成周玲/Ling.Zhou@mathworks.cn应用工程师2014062目录代码生成概述代码结构控制模型数据管理代码生成的优化代码生成相关3目录代码生成概述代码结构控制模型数据管理代码生成的优化代码生成相关4核心算法的代码自动生成CoreSoftwareAlgorithmsandLogicABCMINPUTBLUEGREENREDPOWERRGBSplit-4BLACKBOXVRCSInputDriversOutputDriversSpecialDeviceDriversCommDriversScheduler/OperatingSystemAndSupportUtilitiesCommunicationInterfacesSensorsActuatorsSpecialInterfacesASAP2CCPMostDevelopmentisonCoreSoftwareAlgorithms5代码量的爆炸式增长EstimatedSourceLinesofCode(LOC)Today’spowertrain:500,000LOCToday’svehicles:1,000,000LOC2015vehicles:100,000,000LOCManagementtrends:High-levelarchitecturalplanningAlgorithmdevelopmentwithmodelsAutomaticgenerationofcodefrommodelsIndustry-widestandardizationofinterfacesandcommonfunctionalityAutomotiveEngineering,“ManagingforSoftwareSuccess”–Aug2006sae.org/automag/electronics/08-2006/1-114-8-34.pdf“Growthoftopendautomotiveembeddedsoftwarehasbeenexponential.”RobertGeeDirectorofStrategyforMotorolaAutomotive“…Nolongerpossibletovalidateandverifyfunctionalitybybruteforcetestingalone.”JimKolhoffDirectorofSoftwareEngineeringatGMPowertrain6使用更高效的算法开发平台7代码自动生成8代码自动生成工具MATLAB®Coder™GenerateCandC++fromMATLABSimulink®Coder™GenerateCandC++fromSimulinkandStateflowEmbeddedCoder™GenerateCandC++fromMATLABandSimulinkoptimizedforembeddedsystemsSimulinkCoderMATLABCoderEmbeddedCoder9代码自动生成已成为行业趋势ClickforUserStory10代码自动生成基本流程模型被充分测试验证以后:•运行ModelAdvisor•配置代码生成选项•生成代码•查看代码报告•代码测试11示例-简单滤波器算法的代码生成12示例-代码生成报告Hyperlinkbetweencodeandmodel.HyperlinkwithinCcodefiles.13示例-可配置的代码生成14目录代码生成概述代码结构控制模型数据管理代码生成的优化代码生成相关15默认入口函数原型model_initialize()–initializesignals,statesandparameterspriortofirsttimestepmodel_step()–executeonetimestepmodel_terminate()–Optional.Cleanupafterlastsimulationstep.16可配置入口函数原型17子系统生成单独函数VirtualAtomic18被多次引用的子系统代码重用19参数化调用被引用模型20代码生成文件控制21目录代码生成概述代码结构控制模型数据管理代码生成的优化代码生成相关22Simulink里的数据DatainSimulinkSignalParameterStateDatacharacteristicsMemorysizeStorageclassExternalInternalLocalGlobalReusabilityFormatexportabilityFloatFixed-pointBuilt-inIntegerPrecisionWordsizeSigned/unsignedWordsizeSigned/unsignedScalingDatatypeOrganizationScalarArrayBus23定义数据类型24定义存储类型model_private.hmodel.c25算法模型与数据保持独立NameDescriptionValueStorageclassDatatypeRestofmodel(algorithm,systemdynamics,etc.)26定义数据对象关联模型数据SimulinkDataObjects–whichspecifycharacteristics–datatype,dimensions…SignalsStatesparametersDataAlgorithmSourceofdata(M-filesorMAT-files)27自定义信号的存储类型Createasignaldataobject.Usetheobjectnametolabelasignalinthemodel.Indicatethesignalmustresolvetoasignaldataobject.28自定义参数的存储类型Createaparameterdataobject.Usetheparameterasablockparameterinthemodel.Enable“Inlineparameters”inthemodel’sconfigurationparameters.29目录代码生成概述代码结构控制模型数据管理代码生成的优化代码生成相关30代码生成统计报告31移除不需要的代码或数据支持Removinginitializationcode(Optimizationpane)Removingterminationcode(Interfacepane)Removingdatasupport(Interfacepane)DisablingMAT-FileLogging(Interfacepane)ConditionalInputBranchExecution(Optimizationpane)Noterminationfunction32优化数据存储结构SignalStorageReuse(SignalsandParameterspane)EnablingLocalBlockOutputs(SignalsandParameterspane)ReusingBlockOutputs(SignalsandParameterspane)ExpressionFolding(SignalsandParameterspane)ReusingGlobalVariables(SignalsandParameterspane)InliningParameters(SignalsandParameterspane)BlockReduction(Optimizationpane)BooleanLogic(Optimizationpane)33代码优化工具34目录代码生成概述代码结构控制模型数据管理代码生成的优化代码生成相关35其它话题SchedulerMulti-rateMulti-taskingOptimizingCodeCustomerCodeIntegrationCustomerStorageClassTargetLanguageCompilerAUTOSARSupport……LearnmorefromMathWorksTrainingService-EmbeddedCoderforProductionCodeGeneration(3days)36MathWorks在中国的技术支持体系在中国提供多层次的技术支持应用工程师:负责产品层面的支持,有丰富产品和行业知识Pilot工程师:结合用户实际项目,提供指导支持,有实际项目经验同时对工具链熟悉技术咨询顾问团队:全部是行业和产品专家,有着丰富的实际项目经验,目前主要在北美和欧洲,服务于全球,在中国已经开始建立团队培训服务:提供公开课和现场的收费培训,可以针对行业定制。技术支持热线:对服务期内正版用户提供5×8的电话技术支持联系我们官方网站:官方微博:MATLAB官方社区(英文):中文社区:联系电话(总机):010–59827000联系地址:迈斯沃克软件(北京)有限公司北京市海淀区科学院南路2号融科资讯中心C座南楼3层301迈斯沃克软件(北京)有限公司上海分公司上海市浦东新区竹林路101号陆家嘴基金大厦1702单元
本文标题:嵌入式代码自动生成-周玲-mathworks
链接地址:https://www.777doc.com/doc-5743719 .html