主要内容

建立实时系统的过程工作流

构建过程包括从模型生成C或c++代码,并从生成的代码构建可执行程序。这个示例可以使用通用实时(GRT)或嵌入式实时(ERT)系统目标文件(STF)进行代码生成。由此产生的独立程序在您的开发计算机上运行,独立于外部计时和事件。

工作目录

的本地副本slexAircraftExample模型,存储在它自己的文件夹中,aircraftexample.设置您的工作目录如下:

  1. 在MATLAB®当前文件夹浏览器,导航到您有写访问权限的文件夹。

  2. 要创建工作文件夹,输入以下MATLAB命令:

    mkdir aircraftexample
  3. 使aircraftexample你的工作目录:

    cd aircraftexample
  4. 打开slexAircraftExample模型:

    slexAircraftExample

    模型出现在Simulink中金宝app®模型编辑器窗口。

  5. 在模型窗口中,选择文件>另存为.导航到您的工作文件夹,aircraftexample.保存副本的slexAircraftExample模型myAircraftExample

构建文件夹和代码生成文件夹

在生成代码时,代码生成器创建建立文件夹在您的工作文件夹中。构建文件夹名称为模型_目标_rtw,由源模型和选择的系统目标文件的名称派生。构建文件夹存储生成的源代码和构建过程中创建的其他文件。检查本示例末尾的构建文件夹内容。

当模型包含model块(对其他模型的引用)时,模型构建会在您的代码生成的文件夹组织引用模型的代码。这些代码生成文件夹与产品构建文件夹一起存在并被命名slprj.有关更多信息,请参见为模型引用层次结构生成代码

slprj文件夹,子文件夹名为_sharedutils包含可在模型之间共享的生成代码。

设置代码生成的模型参数

要从模型生成代码,您必须更改一些模型配置参数。特别是,通用实时(GRT)系统目标文件和大多数其他系统目标文件要求模型指定一个固定步求解器进行求解。

请注意

对于指定可变步长求解器的模型,代码生成器只在模型也指定快速模拟的情况下生成代码(rsim)或s功能系统目标文件。

  1. 打开myAircraftExample如果尚未打开,则进行建模。

  2. 在“配置参数”对话框中,指定求解器的配置参数值:

    • 开始时间0.0

    • 停止时间60

    • 类型固定步

    • 解算器ode5 (Dormand-Prince)

    • 固定步长(基本样本时间)0.1

    • 将每一个离散的速率视为一个单独的任务

  3. 点击应用

  4. 保存模型。

配置构建过程

配置模型的构建过程,选择一个系统目标文件,一个工具链或模板生成文件,以及使命令。

在这些示例和大多数应用程序中,不需要分别指定这些参数。这些示例使用准备运行的通用实时目标(GRT)配置。GRT系统目标文件构建了一个运行在桌面计算机上的独立的可执行程序。

选择GRT系统目标文件。

  1. 打开myAircraftExample如果尚未打开,则进行建模。

  2. 在“配置参数”对话框中系统目标文件字段中,输入grt.tlc.然后单击应用

    你可以看到工具链自动定位已安装的工具链),构建配置更快的构建).

  3. 保存模型。

请注意

如果您点击浏览,系统目标文件浏览器打开并显示系统目标文件在MATLAB路径上。一些系统目标文件需要额外的产品。下载188bet金宝搏例如,ert.tlc需要嵌入编码器®

设置代码生成参数

  1. 打开myAircraftExample如果尚未打开,则进行建模。

  2. 在“配置参数”对话框中,指定设置:

    1. 使用默认设置代码生成高级参数,控制构建的冗长和调试:

      • 详细的构建RTWVerbose

      • 保留.rtw文件RetainRTWFile

      • 剖面薄层色谱ProfileTLC

      • 在生成代码时启动TLC调试器TLCDebug

      • 在生成代码时启动TLC覆盖TLCCoverage

      • 使TLC断言TLCAssert

    2. 使用默认的代码生成>评论设置。

    3. 代码生成>标识符选项控制生成代码的外观和感觉。使用默认设置。

    4. 选择代码生成>接口

      1. 共享代码的位置列表中,选择共享位置.构建过程将生成的实用程序代码放在代码生成的文件夹

      2. 先进的参数、清晰的经典的调用接口复选框。

      3. 先进的参数,选择单输出/更新功能复选框。

    5. 代码生成>报告中,选择创建代码生成报告自动打开报告.此操作使软件能够为myAircraftExample模型。

  3. 点击应用保存模型。

构建和运行一个程序

构建过程从模型生成C代码。然后编译并链接生成的程序,以创建一个可执行的映像。要构建和运行该程序:

  1. myAircraftExample模型打开,执行以下操作之一:

    • 应用程序选项卡,打开金宝app仿真软件编码器的应用程序。C代码选项卡上,单击构建

    • 新闻Ctrl + B

    • 运行slbuild命令从MATLAB命令行。

    • 运行slbuild命令从MATLAB命令行。

    中的代码生成和编译消息命令窗口。最初的消息是:

    ###启动模型的构建过程:myAircraftExample

    许多后续消息的内容取决于编译器和操作系统。最后的信息包括:

    ### create HTML report file myAircraftExample_codegen_rpt.html ###创建HTML报告文件

    代码生成文件夹现在包含一个可执行文件,myAircraftExample.exe(微软®窗户®平台)或myAircraftExample(UNIX®平台)。此外,构建过程已经创建了slprj文件夹和一个myAircraftExample_grt_rtw文件夹在您的代码生成的文件夹

    请注意

    的代码生成之后myAircraftExample模型时,构建过程将显示代码生成报告。看到报告生成有关如何创建和使用代码生成报告的详细信息。

  2. 要查看构建之后工作文件夹的内容,请输入dirls命令:

    >>dir.myAircraftExample。基金slprj . .myAircraftExample.slx.autosave myAircraftExample.exe myAircraftExample_grt_rtw
  3. 运行可执行文件,输入myAircraftExample !.的字符将后面的命令传递给运行独立程序的操作系统myAircraftExample程序。

    >>myAircraftExample !**启动模型** ** created myAircraftExample。垫* *
  4. 看到在构建文件夹中创建的文件,使用dirls再次命令。生成的文件的确切列表因MATLAB平台和版本而异。下面是一个来自Windows平台的示例列表:

    >>dir myAircraftExample_grt_rtw.rt_main。obj myAircraftExample_data.c . .rtmodel.h myAircraftExample_data。obj buildInfo。垫rtw_proj。tmw myAircraftExample_private.h codeInfo。垫myAircraftExample.bat myAircraftExample_ref。rsp definitions .txt myAircraftExample.c myAircraftExample_types.h html myAircraftExample.h modelsources.txt myAircraftExample.h可rt_logging。obj myAircraftExample.obj

构建文件夹的内容

构建过程创建一个构建文件夹并命名它模型_目标_rtw,在那里模型源模型的名称是和吗目标为模型选择的系统目标文件。在本例中,生成文件夹被命名为myAircraftExample_grt_rtw

构建文件夹包括以下生成的文件。

文件 描述

myAircraftExample.c

实现模型的独立C代码

myAircraftExample.h

包含参数和状态变量定义的包含头文件

myAircraftExample_private.h

头文件包含公共包括定义

myAircraftExample_types.h

代码中使用的数据类型的前向声明

rtmodel.h

主头文件,用于在静态主程序中包含生成的代码(它的名称不改变,它只是包含myAircraftExample.h

的代码生成报告myAircraftExample模型显示了每个文件的链接。您可以单击链接查看文件内容。

生成文件夹包含生成过程中使用的其他文件。它们包括:

  • myAircraftExample.mk-使用指定的工具链生成可执行文件。

  • 对象(.obj)文件

  • myAircraftExample.bat-批处理控制文件

  • rtw_proj.tmw——标记文件

  • buildInfo.mat-构建用于将生成的代码重新定位到另一个开发环境的信息

  • defines.txt编译生成的代码所需的预处理器定义

  • myAircraftExample_ref.rsp-作为命令行参数包含的数据墨西哥人(仅Windows系统)

构建文件夹还包含一个子文件夹,超文本标记语言,其中包含构成代码生成报告的文件。有关更多信息,请参见用于代码生成的报告

定制的Makefile代

在生成代码之后,代码生成器生成一个定制的makefile,模型楼上.生成的makefile指示使系统实用程序编译和链接从模型生成的源代码,任何必需的工具程序,库,或用户提供的模块。代码生成器生成文件模型楼上不管您使用何种方法进行构建过程控制:

  • 如果使用工具链方法,代码生成器将创建模型楼上基于这个模型工具链设置.属性可以修改makefile的生成rtwmakecfg.mAPI。

  • 如果使用模板生成文件方法,代码生成器将创建模型楼上从系统模板文件中,系统.tmf(系统表示所选的系统目标文件名)。系统模板makefile是为系统目标文件设计的。您可以修改模板makefile,以指定编译器、编译器选项和用于创建可执行文件的附加信息。

有关更多信息,请参见选择生成方法和配置生成过程

相关的话题