主要内容

快速开始代码替换库开发- 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

台=

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

更多关于

相关的话题