matlab代码库替换,代码替换库开发快速入门 - Simulink - MATLAB & Simulink - MathWorks 中国...
前提条件
要完成此示例,请安装以下软件:
MATLAB®
MATLAB Coder™
Simulink®
Simulink Coder™
Embedded Coder®
Compiler
有关安装 MathWorks® 产品的说明,请参阅 MATLAB 安装文档。如果您已安装 MATLAB 并想查看还安装了哪些其他 MathWorks 产品,请在命令行窗口中输入 ver。
打开 Code Replacement Tool
1.启动一个 MATLAB 会话。
2.创建或浏览 (cd) 到一个空文件夹。
3.在命令提示符下,输入 crtool 命令。Code Replacement Tool 窗口将打开。
创建代码替换表
1.在 Code Replacement Tool 窗口中,选择 File > New table。
2.在右侧窗格中,将表命名为 crl_table_sinfcn 并点击 Apply。保存表时,工具将使用文件名 crl_table_sinfcn.m 保存它。

创建表条目
创建一个表条目,将具有 double 输入和 double 输出的 sin 函数映射到一个自定义实现函数。
1.在左侧窗格中,选择表 crl_table_sinfcn。然后,选择 File > New entry > Function。条目显示在中间窗格中,最初没有名称。
2.在中间窗格中,选择新条目。
3.在右侧窗格中的 Mapping Information 选项卡上,从 Function 菜单中选择 sin。
4.保留 Algorithm 设置为 Unspecified,并保留 Conceptual function 组中的参数设置为默认值。
5.在 Replacement function 组中,将替换函数命名为 sin_dbl。
6.保留 Replacement function 组中的其余参数设置为默认值。
7.点击 Apply。工具会更新 Function signature preview 以反映指定的替换函数名称。
8.滚动到 Mapping Information 选项卡的底部,然后点击 Validate entry。工具会验证您的条目。
下图显示完成的映射信息。

指定替换代码的编译信息
1.在 Build Information 选项卡上,对于 Implementation header file 参数,输入 sin_dbl.h。
2.保留其余参数设置为默认值。
3.点击 Apply。

4.您也可以重新验证条目。返回 Mapping Information 选项卡,然后点击 Validate entry。
创建另一个表条目
创建一个条目,将具有 single 输入和 double 输出的 sin 函数映射到名为 sin_sgl 的自定义实现函数。通过复制和粘贴 sin_dbl 条目创建该条目。
1.在中间窗格中,选择 sin_dbl 条目。
2.选择 Edit > Copy。
3.选择 Edit > Paste。
4.在 Mapping Information 选项卡上的 Conceptual function 部分,将输入参数 u1 的数据类型设置为 single。
5.在 Replacement function 部分中,将函数命名为 sin_sgl。将输入参数 u1 的数据类型设置为 single。
6.点击 Apply。请注意所显示的关于 Function signature preview 的更改。
7.在 Build Information 选项卡上,对于 Implementation header file 参数,输入 sin_sgl.h。将其余参数设置为默认值,然后点击 Apply。
验证代码替换表
1.选择 Actions > Validate table。
2.如果工具报告错误,则修复它们并重新运行验证。反复修复和验证错误,直到工具不再报错为止。下图显示了验证报告。

保存代码替换表
将代码替换表保存到工作文件夹中的 MATLAB 文件。选择 File > Save table。默认情况下,工具使用表名称来命名文件。对于此示例,工具将表保存在文件 crl_table_sinfcn.m 中。
查看代码替换表定义
以查看代码替换表定义的 MATLAB 代码为例。使用工具创建表定义文件的初始版本后,您可以在文本编辑器中更新、增强或复制文件。
要查看它,请在 MATLAB 或其他文本编辑器中,打开文件 crl_table_sinfcn.m。
生成注册文件
您必须将代码替换表注册为代码替换库的一部分,才能使用它。使用 Code Replacement Tool 生成注册文件。
1.在 Code Replacement Tool 中,选择 File > Generate registration file。
2.在 Generate registration file 对话框中,编辑对话框字段以匹配下图,然后点击 OK。

3.在 Select location to save the registration file 对话框中,指定注册文件的位置。该位置必须位于 MATLAB 路径上或当前工作文件夹中。保存文件。工具将文件另存为 rtwTargetInfo.m。
注册代码替换表
在命令提示符下,输入:
RTW.TargetRegistry.getInstance('reset');
查看和测试代码替换
应用您的代码替换库。验证代码生成器是否能按照您的预期执行代码替换。
1.检查错误。在命令行中,调用表定义文件。例如:
tbl = crl_table_sinfcn
tbl =
TflTable with properties:
Version: '1.0'
ReservedSymbols: []
StringResolutionMap: []
AllEntries: [2x1 RTW.TflCFunctionEntry]
EnableTrace: 1|
如果定义文件中存在错误,则调用会触发消息。修复错误,然后重试。
crviewer('Sin Function Example')
在查看器中,选择表中的条目,并验证内容是否符合您的期望。查看器可以帮助您检测问题,例如:
参数顺序不正确。
概念参数名称与代码生成器的预期不匹配。
优先级设置不正确。
3.确定现有模型,或创建一个包含 Trigonometric 模块且该模块被设置为 sin 函数的模型。例如:

4.打开模型并将其配置为使用 Embedded Coder(基于 ERT)目标进行代码生成。
5.查看您的库是否被列为 Code Generation > Interface > Code replacement library 模型配置参数的一个可用选项。如果已列出,请选择它。

如果未列出,请打开注册文件 rtwTargetInfo.m。查看在创建文件时是否输入了正确的代码替换表名称。如果将光标悬停在所选库上,将显示工具提示。此提示包含从代码替换库注册文件派生的信息,例如库描述及其中包含的表的列表。
6.要快速查找参数,请在 Configuration Parameters 对话框的 Search 字段中键入参数名称。通过选择以下参数来配置用于代码替换分析的代码生成报告:
Create code generation report
Open report automatically
Code-to-model
Model-to-code
Summarize which blocks triggered code replacements
Include comments
Simulink block comments
Simulink block descriptions
7.将模型配置为仅生成代码。在编译可执行程序之前,请确认代码生成器能够按预期替换代码。
8.为模型生成代码。
9.在代码生成报告的 Code Replacement Report 部分中查看代码替换结果。

该报告指示代码生成器找到一个匹配项并应用了函数 sin_dbl 的替换代码。
10.查看代码替换。在模型窗口中,右键点击 Trigonometric Function 模块。选择 C/C++ Code > Navigate to C/C++ Code。代码生成报告将打开,并突出显示 my_sin_func.c 中的代码替换。在本例中,代码生成器用 sin_dbl 替换了 sin。

有关详细信息
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)