快速开始代码替换库开发- Simulink®金宝app
这个示例展示了如何开发一个代码替换库,其中包含用于为数学函数生成替换代码的条目罪
。使用代码替换工具。
先决条件
要完成本例,请安装以下软件:
MATLAB®
MATLAB编码器™
金宝app仿真软件®
金宝app仿真软件编码器™
嵌入式编码器®
编译器
有关安装MathWorks®产品的说明,请参阅MATLAB安装文档。下载188bet金宝搏如果您已经安装了MATLAB并想要查看安装了哪些MathWorks产品,请在命令窗口中输入下载188bet金宝搏版本
。
有关受支持的编译器的列表,请金宝app参见//www.tatmou.com/金宝appsupport/compilers/current_release/
。
打开代码替换工具
1.启动MATLAB会话。
2.创建或浏览(cd
)转到空文件夹。
3.在命令提示符下,输入crtool
命令。的代码替换工具窗口打开。
创建代码替换表
1.在代码替换工具窗口中,选择File >新建表
2.在右侧窗格中,为表命名crl_table_sinfcn
并点击应用。保存表时,该工具将使用文件名保存它crl_table_sinfcn.m
。
创建表项
创建映射罪
函数与双
输入和双
输出到自定义实现函数。
1.在左侧窗格中,选择tablecrl_table_sinfcn
。然后,选择文件>新建条目>功能。该条目出现在中间窗格中,最初没有名称。
2.在中间窗格中,选择新条目。
3.在右侧窗格的映射信息Tab,从函数菜单中,选择罪
。
4.离开算法设置为未指明的
,并在概念功能组设置为默认值。
5.在替换函数组,命名替换函数sin_dbl
。
6.中保留其余参数替换函数组设置为默认值。
7.点击应用。该工具更新功能签名预览以反映指定的替换函数名。
8.滚动到底部映射信息选择并单击验证输入。该工具验证您的输入。
完成后的映射信息如下图所示。
为替换代码指定生成信息
1.在构建信息选项卡,用于实现头文件参数,输入sin_dbl.h
。
2.其余参数保持默认值。
3.点击应用。
4.您可以选择重新验证条目。回到映射信息选择并单击验证输入。
创建另一个表项
创建映射的条目罪
函数与单
输入和双
输出到名为sin_sgl
。控件创建条目sin_dbl
条目。
1.在中间窗格中,选择sin_dbl
条目。
2.选择编辑> Copy。
3.选择编辑>粘贴。
4.在映射信息选项卡,在概念功能节中,设置输入参数的数据类型u1
来单
。
5.在替换函数节,为函数命名sin_sgl
。设置输入参数的数据类型u1
来单
。
6.点击应用。属性所出现的更改功能签名预览。
7.在构建信息选项卡,用于实现头文件参数,输入sin_sgl.h
。其余参数保持默认值,单击应用。
验证代码替换表
1.选择Actions >验证表。
2.如果工具报告错误,请修复它们,并重新运行验证。重复修正和验证错误,直到工具没有报告错误。下图显示了一个验证报告。
保存代码替换表
将代码替换表保存到工作文件夹中的MATLAB文件。选择文件>保存表。默认情况下,该工具使用表名来命名文件。对于本例,工具将表保存在文件中crl_table_sinfcn.m
。
检查代码替换表定义
考虑为您的代码替换表定义检查MATLAB代码。使用该工具创建表定义文件的初始版本后,您可以在文本编辑器中更新、增强或复制该文件。
要查看它,请在MATLAB或其他文本编辑器中打开该文件crl_table_sinfcn.m
。
生成注册文件
在使用代码替换表之前,必须将其注册为代码替换库的一部分。使用“代码替换工具”生成注册文件。
1.在“代码替换工具”中,选择文件>生成注册文件。
2.在生成注册文件对话框,将对话框字段编辑为与下图匹配,然后单击好吧。
3.在选择保存注册文件的位置对话框中,指定注册文件的位置。位置必须在MATLAB路径或当前工作文件夹中。保存文件。工具将文件保存为rtwTargetInfo.m
。
注册代码替换表
在命令提示符下输入:
RTW.TargetRegistry.getInstance(“重置”);
审查和测试代码替换
应用代码替换库。验证代码生成器是否执行您所期望的代码替换。
1.检查错误。在命令行中,调用表定义文件。例如:
|tbl = crl_table_sinfcn . txt
台=
TflTable与属性:
版本:'1.0' ReservedSymbols: [] StringResolutionMap: [] AllEntries: [2x1 RTW.]TflCFunctionEntry] EnableTrace: 1|
如果定义文件中存在错误,调用将触发一条消息。请修复错误并重试。
2.使用代码替换查看器检查您的代码替换条目。例如:
crviewer('Sin函数示例')
在查看器中,选择表中的条目,并验证内容是否符合您的期望。查看器可以帮助您检测问题,如:
参数顺序不正确。
与代码生成器期望的不匹配的概念参数名称。
优先级设置错误。
3.标识现有模型或创建包含Trigonometric块的模型罪
函数。例如:
4.打开模型并配置它以使用嵌入式Coder(基于ert)目标生成代码。
5.方法的可用选项中是否列出了您的库代码生成>接口>代码替换库模型配置参数。如果是,请选中。
如果没有列出,打开注册文件,rtwTargetInfo.m
。查看在创建文件时是否输入了正确的代码替换表名。如果将光标悬停在所选库上,将出现一个工具提示。本技巧包含来自代码替换库注册文件的信息,例如库描述及其包含的表列表。
6.若要快速查找参数,请在“配置参数”对话框中搜索字段,键入参数名称。通过选择以下参数配置用于代码替换分析的代码生成报告:
创建代码生成报告
自动打开报表
Code-to-model
模型到代码的
总结哪些块触发了代码替换
包括评论
金宝appSimulink块注释
金宝appSimulink块描述
7.将模型配置为只生成代码。在构建可执行程序之前,请确认代码生成器正在按预期替换代码。
8.为模型生成代码。
9.在代码生成报告的“代码替换报告”部分中检查代码替换结果。
该报告指出代码生成器找到了匹配项,并为函数应用了替换代码sin_dbl
。
10.检查代码替换。在模型窗口中,右键单击三角函数块。选择C/ c++代码>导航到C/ c++代码。中的代码生成报告将打开并突出显示代码替换my_sin_func.c
。在本例中,替换了代码生成器罪
与sin_dbl
。