有没有像"预构建"回调函数?

Rod*_*uis 5 matlab code-generation simulink rtw

我有一个Simulink模型,其目的是自动生成代码.

我的模型使用S函数(由另一方开发),它具有关于路径的硬编码假设.例如,需要几个外部数据文件,它们通过相对路径在S函数中引用..\Bin\data\datafile.bin.这使得必须在运行模型之前将MATLAB的当前工作目录设置为特定路径.

我可以通过模型回调函数自动检查并设置正确的路径.但是,所有模型回调函数似乎只与模拟过程有关,而不是与构建过程有关.这意味着我可以运行模型而不管我在哪个目录中,但是当我尝试构建模型时,除非我手动将MATLAB导航回正确的目录,否则它总是会失败.

不用说,这很烦人.所以我想知道是否有类似"preBuildFcn"回调函数,一个在开始构建过程之前运行的函数?任何其他解决方案(不涉及修改S函数)也非常受欢迎.

pmb*_*pmb 4

Simulink / Embedded Coder 的构建过程中有很多挂钩(“entry”、“before_tlc”、“after_tlc”、“before_make”、“after_make”、“exit”和“error”)。我假设你想要一个“入口”钩子。

您需要做的就是编写一个名为your_system_target_file name _make_rtw_hook 的 M 函数,如文档中所述使用 STF_make_rtw_hook File 自定义构建过程

如果您无法打开在线文档(需要登录),以下是 MATLAB 安装中的 HTML 路径:MATLAB root \help\rtw\ug\customizing-the-target-build-process-with-the- stf-make-rtw-hook-file.html