文档

自定义存储课程简介

在构建过程中,存储类信号,可调参数,块状态或数据对象的规范指定如何在生成的代码中声明,存储和表示该实体。请注意,在构建过程的上下文中,术语“存储类”不是C语言中使用的术语“存储类规范”一词的代名词。

代码生成器定义了四个内置存储类,用于系统目标文件:汽车,,,,出口global,,,,进口Extextern, 和ImportedExternPointer。这些存储类提供了对用于数据引用的代码形式的有限控制。例如,存储类的数据汽车通常被声明并访问为结构的元素,而存储类的数据出口global被声明并访问为非结构化的全局变量。有关内置存储类的信息,请参阅通过应用存储类来控制代码中的信号和状态(金宝appSimulink编码器)和生成代码中的块参数表示(金宝appSimulink编码器)。

如果内置存储类未提供您应用程序所需的数据表示,则可以定义自定义存储类(CSC)。嵌入式编码器®CSC扩展了由金宝app®CODER™。CSC可以提供对代表嵌入式算法中数据所需构造所需的构造的特定控制。例如,您可以使用CSC来:

  • 定义用于存储参数或信号数据的结构。

  • 通过将布尔数据存储在位字段中来节省内存。

  • 将生成的代码与无法修改接口的旧软件集成。

  • 生成符合您组织的安全至关重要代码软件工程指南的数据结构和定义。

自定义存储类仅影响针对ERT目标生成的代码。什么时候配置参数>代码生成>目标选择>系统目标文件指定一个GRT目标,自定义存储类的名称有时出现在对话框中,但是选择CSC与选择的功能相同汽车。有关ERT和GRT目标的信息,请参见比较系统目标文件支持金宝app(金宝appSimulink编码器)。

自定义存储类存储部分

每个自定义存储类都有关联内存部分定义。内存部分是与对象在内存中放置有关的属性的命名集合;例如,在RAM,ROM或闪存中。内存部分属性让您为数据对象指定存储指令。例如,您可以指定const声明或针对编译器的#pragma在ROM或闪存部分中分配存储的语句。

创建和编辑内存部分定义有关使用自定义存储类设计器定义内存部分的详细信息。尽管内存部分通常与自定义存储类中的数据一起使用,但也可以与其他各种构造一起使用。看通过插入布拉格斯来控制记忆中的数据和功能放置有关使用自定义存储类使用内存部分的更多信息,以及有关将内存部分与其他构造一起使用的信息。

自定义存储类和数据类软件包

CSC与Simulink数据类软件包关联(例如金宝app金宝app软件包)和包装中的课程(例如金宝appsimulink.parameter金宝appsimulink.signal课程)。自定义存储类仅适用于由关联软件包定义的数据类。

您不能添加或更改与内置软件包和类关联的CSC,但是可以创建自己的软件包和子类,然后将自定义的CSC与这些软件包关联。要创建自己的软件包和自定义存储类,请参阅设计自定义存储类和内存部分

自定义存储类示例

这些示例显示自定义存储类功能:

通过应用自定义存储类配置数据接口- 显示自定义存储类如何支持数据对象驱动的建模金宝app

RTWDEMO_CSCPREDEF- 显示预定义的自定义存储类和嵌入式信号对象

RTWDEMO_IMPORTSTRUCT- 显示用于有效访问导入数据的自定义存储类

单击上面的链接,或在MATLAB中输入名称®命令窗口。

相关话题

这个话题有帮助吗?