为每个入口点函数生成单独的内部数据
描述
生成以相同速率作用于相同数据结构的块信号(块I/O)和离散状态(DWork)模型。根据模型有多少个速率,这些结构包含前缀FuncInternalData0
,FunctionInternalData1
等等。
类别:代码生成>接口
设置
默认值:从
-
在
-
在生成代码的一个数据结构中存储以相同速率运行的全局块信号数据(块I/O)和全局状态数据(DWork向量)。
-
从
-
不存储全局块信号数据(块I/O)和全局状态数据(DWork向量)在生成的代码中的一个数据结构中以相同的速率操作
提示
将此参数设置为在
在将模型部署到满足以下要求的多核硬件环境时提高缓存性能:
该模型具有多个速率,并且具有将每个离散速率视为单独的任务参数设置为
在
.该模型包含以不同速率运行的多个导出函数。
前面的模型具有不同核心可以调用的独立入口点函数。核心有自己的数据缓存。将单个入口点函数的数据放在同一个核心数据缓存中可以提高执行效率,因为缓存访问是连续的,而不是分散在多个核心上。
例子
对于生成以下代码的模型:
/*系统'<根>' */ typedef struct {real_T RTBS2F;/* '/RTBS2F' */ real_T UDS;/* '<根>/UDS' */ real_T Sum3;/* ' /Sum3' */ real_T Sum1;/* ' /Sum1' */ real_T UDF_DSTATE;/* ' /UDF' */ real_T UDS_DSTATE;/* '<根>/UDS' */ real_T RTBS2F_Buffer0;/* ' /RTBS2F' */ real_T MIXEDDSM;/* '<根>/DSMM' */ real_T SLOWDSM;/* ' /DSMS' */} DW_demo1_T;
如果您选择为每个入口点函数生成单独的内部数据,生成的代码现在看起来像这样的代码:
/*为系统'<根>'阻塞信号和状态(默认存储)*/ typedef struct {real_T RTBS2F_Buffer0;/* '/RTBS2F' */ real_T MIXEDDSM;/* ' /DSMM' */} DW_demo1_T;/*内部数据分组为相同的功能,为系统'<根>' */ typedef struct {real_T RTBS2F;/* ' /RTBS2F' */ real_T Sum3;/* ' /Sum3' */ real_T UDF_DSTATE;/* ' /UDF' */} FuncInternalData0_demo1_T;/*内部数据按相同功能分组,用于系统'<根>' */ typedef struct {real_T UDS;/* '<根>/UDS' */ real_T Sum1;/* ' /Sum1' */ real_T UDS_DSTATE; /* ' /UDS' */ real_T SLOWDSM; /* ' /DSMS' */ } FuncInternalData1_demo1_T;
依赖关系
此参数需要一个嵌入式编码器®生成代码时许可。
选项启用此参数结合信号/状态结构参数。
命令行信息
参数:GroupInternalDataByFunction |
类型:特征向量 |
值:“上” |“关闭” |
默认值:“关闭” |
推荐设置
应用程序 | 设置 |
---|---|
调试 | 没有影响 |
可追溯性 | 没有影响 |
效率 | 在 |
安全预防措施 | 没有影响 |