配置文件代码执行速度
通过分析生成代码的执行速度,您可以帮助验证代码是否满足执行速度要求。
分析在开发周期的早期特别重要,因为它可以识别潜在的体系结构问题,在开发过程的后期处理这些问题可能会花费更大的代价。分析还可以识别瓶颈和过程问题,这些问题表明需要优化,例如,使用内部循环或内联代码。
请注意
如果你有嵌入式编码器®许可证,看到代码执行分析(Embedded Coder)提供了一种基于软件在环(SIL)或处理器在环(PIL)模拟的替代和更简单的方法。
使用Profile钩子函数接口
通过使用目标语言编译器(TLC)钩子函数接口,您可以分析使用代码生成技术生成的代码。
使用profile钩子函数接口:
对于您的系统目标文件,创建一个定义以下钩子函数的TLC文件。编写函数,以便它们指定分析代码。代码生成器将钩子函数代码添加到为模型中的原子系统生成的代码中。
函数 输入参数 输出类型 描述 ProfilerHeaders
无效
头文件名数组 返回将包含在生成的代码中的头文件名的数组。 ProfilerTypedefs
无效
typedef
为分析器类型定义生成代码语句。 ProfilerGlobalData
系统
的全局数据 系统
生成声明全局数据的代码语句。 ProfilerExternDataDecls
系统
走读生
指定的系统
生成创建全局的代码语句 走读生
声明。ProfilerSystemDecls
系统
,functionType
指定的 系统
对于指定的functionType
在原子子系统的范围内为所需的变量声明生成代码 输出
,更新
,OutputUpdate
,或衍生品
函数。ProfilerSystemStart
系统
,functionType
指定的分析器启动命令 系统
而且functionType
生成在原子子系统范围内启动分析器的代码 输出
,更新
,OutputUpdate
,或衍生品
函数。ProfilerSystemFinish
系统
,functionType
指定的分析器结束命令 系统
而且functionType
属性范围内停止分析器的代码 输出
,更新
,OutputUpdate
,或衍生品
原子子系统的功能。ProfilerSystemTerminate
系统
指定的分析器终止代码 系统
为原子子系统生成终止分析(并可能报告结果)的代码。 在你的
文件中,定义以下全局变量。目标
.tlc方法定义全局变量的一种快速方法是使用
——一个
选择。方法应用此选项set_param
命令,设置模型配置参数TLCOptions
.例如,>> set_param(gcs,'TLCOptions',…“-aProfileGenCode = 1 -aProfilerTLC =“rtwdemo_profile_hook.tlc”)
考虑为生成代码生成报告设置配置参数。然后,您可以在为模型生成的代码的上下文中检查分析代码。
构建模型。构建过程将分析代码嵌入到为模型生成的代码中的钩子函数位置。
运行生成的可执行文件。在MATLAB命令窗口中输入
!
.您将看到您在创建的分析TLC文件中编写的分析报告。例如,概要报告可以列出对模型中每个系统的调用次数,以及在每个系统中花费的CPU周期数。模型名称
有关编程的详细信息a.tlc
文件和定义TLC配置变量,请参见目标语言编译器.
接口限制
用于分析代码执行速度的TLC钩子函数接口不支持s函数系统目标文件(金宝apprtwsfcn.tlc
).
相关的话题
- 实时系统的构建过程工作流
- 代码执行分析(嵌入式编码)