为应用程序使用应用程序编译器,包括 rtwbuild()

Using Application Compiler for app including rtwbuild()

我想在我的 MATLAB 应用程序上使用应用程序编译器(Appdesigner --> 独立桌面应用程序)。此应用程序调用一个 .m 文件,该文件使用 rtwbuild 命令将 Simulink 模型部署到 arduino。该应用程序在 MATLAB 中运行 运行 时运行良好,但编译后我收到 rtwbuild:

错误
Error using rtwbuild
The Matlab Path must have these directories for Simulink to function:
toolbox/simulink/blocks, toolbox/simulink/simulink
Matlab cannot continue. Please restore the path and restart Matlab

文档说,MATLAB 编译器不支持任何 Simulink 函数(请参阅 here) and the rtwbuild function seems to be a Simulink function, since it is in the documentation in the category "Simulink Coder" (see here)。但是,我没有 Simulink Coder 工具箱,而且应用程序在 MATLAB 中 运行ning,所以我不确定 rtwbuild 是否真的是一个 Simulink 函数. 简而言之,我的问题如下: "Is it possible to use the Application Compiler on .m scripts including the rtwbuild command?"

感谢您的帮助!

rtwbuild毫无疑问是Simulink Function,也就是说MATLAB-Coder不能生成代码。更一般地说,您不能部署代码生成器。从 M 或 Simulink 生成代码需要完整的 MATLAB (Simulink) 运行。如果没有 MATLAB(Simulink)许可就让你使用这样一个关键特性是愚蠢的(个人意见)。

关于您对 rtwbild 是 Simulink Coder 的一部分的困惑。 Arduino 硬件支持包允许您使用某些部署功能。例如,您可以获得二进制文件,如果没有 Coder License,您将无法访问 C 代码。有关详细信息,请参阅 documentation 中的 "Additional Capabilities with Simulink Coder and Embedded Coder"。

文档没有反映这些特殊情况,但显然 TMW 在为 Arduino 提供支持包时并没有重新发明轮子。相反,某些 "Simulink Coder" 函数在与代码生成目标 Arduino 一起使用时不需要 Simulink Coder License。 Raspberry 和(快速)加速器模式的有限扩展也是如此。