主要内容

代码生成

hisl_0052:配置参数>代码生成>优化>数据初始化

ID:标题 hisl_0052:配置参数>代码生成>优化>数据初始化
描述

要支持万博1manbetx完整的数据定义,并将内部和外部数据初始化为零,请清除以下配置参数:

一个 删除根级I/O零初始化
B 删除内部数据零初始化
请注意

显式地初始化所有变量。如果目标系统的运行时环境提供了初始化I/O和状态变量的机制,那么可以考虑使用目标的初始化作为建议设置的替代方法。

配置参数仅在以下情况下适用代码生成配置参数如下:

  • 系统目标文件是一个仅基于ert的目标。(不适用于autosar.tlc目标类型)。

  • 接口代码接口打包设置为那种一次性的功能可重用的功能

基本原理 A、B 万博1manbetx在生成的代码中支持完全定义的数据。
Model Advisor检查 检查与数据初始化相关的安全优化设置(万博1manbetx仿真软件检查)
参考文献
  • DO-331, MB.6.3.3节。b“软件架构是一致的”

  • IEC 61508-3,表A.4 (3)“防御性编程”

  • IEC 62304, 5.5.3 -软件单元验收标准

  • ISO 26262-6,表1 (1d)“使用防御性实现技术”

  • EN 50128,表A.3 (1)“防御性编程”

另请参阅

Simulink中以下参数的相关信息万博1manbetx®文档:

最后的改变 R2021a

hisl_0053:配置参数>代码生成>优化>从包装超出范围值的浮点到整数转换中删除代码

ID:标题 hisl_0053:配置参数>代码生成>优化>从包装超出范围值的浮点到整数转换中删除代码
描述

若要支万博1manbetx持可验证代码,请选择配置参数删除从浮点到整数转换中包装超出范围值的代码

笔记

避免溢出,而不是使用包装器代码处理溢出。

对于那些饱和整数溢出清除配置参数,取消选择删除从浮点到整数转换中包装超出范围值的代码可以添加包装超出范围值的代码,从而导致无法测试的不可访问代码。

基本原理 万博1manbetx支持生成可验证的代码。
Model Advisor检查 检查数据类型转换的安全相关优化设置(万博1manbetx仿真软件检查)
参考文献
  • DO-331, MB.6.3.1节。g“算法是准确的”
    DO-331, MB.6.3.2节。g“算法是准确的”

  • IEC 61508-3,表A.4 (3)“防御性编程”

  • IEC 62304, 5.5.3 -软件单元验收标准

  • ISO 26262-6,表1 (1d)“使用防御性实现技术”

  • EN 50128,表A.3 (1)“防御性编程”

  • MISRA C:2012,规则2.1

  • INT32-C。确保对有符号整数的操作不会导致溢出

另请参阅 删除从浮点到整数转换中包装超出范围值的代码(万博1manbetx仿真软件编码器)在Simuli万博1manbetxnk文档中
最后的改变 R2021b

hisl_0054:配置参数>代码生成>优化>删除除法算术异常保护代码

ID:标题 hisl_0054:配置参数>代码生成>优化>删除除法算术异常保护代码
描述

为支持万博1manbetx操作的稳健性,明确配置参数删除防止除法算术异常的代码

请注意

避免零除异常。如果你清除了删除防止除法算术异常的代码,代码生成器将生成防止对定点数据除零的代码。

仅当系统目标文件是基于ert的目标。

基本原理 防止定点代码的零除异常。
Model Advisor检查 检查除法算术异常的安全相关优化设置(万博1manbetx仿真软件检查)
参考文献
  • DO-331, MB.6.3.1节。g“算法是准确的”
    DO-331, MB.6.3.2节。g“算法是准确的”

  • IEC 61508-3,表A.3 (3)的语言子集
    表A.4 (3)“防御性编程”

  • IEC 62304, 5.5.3 -软件单元验收标准

  • ISO 26262-6,表1(b)“语言子集的使用”
    ISO 26262-6,表1(d)“使用防御性实现技术”

  • EN 50128,表A.4 (11)的语言子集
    EN 50128,表A.3 (1)“防御性编程”

  • MISRA C:2012, Dir 4.1

  • INT33-C。确保除法和余数操作不会导致除零错误

另请参阅 删除防止除法算术异常的代码(嵌入式编码)在Simuli万博1manbetxnk文档中
最后的改变 R2021b

hisl_0056:配置参数>代码生成>优化>使用指定的最小值和最大值进行优化

ID:标题 hisl_0056:配置参数>代码生成>优化>使用指定的最小值和最大值进行优化
描述 若要支万博1manbetx持可验证代码,请清除配置参数使用指定的最小值和最大值进行优化
笔记 选择使用指定的最小值和最大值进行优化可能导致没有相关代码的需求,并违反可追溯性目标。
基本原理 万博1manbetx支持模型和生成代码之间的可追溯性。
Model Advisor检查 检查指定的最小值和最大值的安全相关优化设置(万博1manbetx仿真软件检查)
参考文献
  • DO-331 MB.MB.6.3.4。e“源代码可追溯到低级需求”

  • IEC 61508-3,表A.4 (3)“防御性编程”

  • IEC 62304, 5.5.3 -软件单元验收标准

  • ISO 26262-6,表1 (1d)使用防御性实施技术

  • EN 50128,表A.3 (1)“防御性编程”

另请参阅
最后的改变 R2018b

hisl_0038:配置参数>代码生成>注释

ID:标题 hisl_0038:配置参数>代码生成>注释
描述

在“配置参数”对话框中,在代码生成>注释窗格中,选择以下参数:

一个

包括评论

B

万博1manbetxSimulink块注释

C

显示已消除的方块

D

“Model default”存储类的详细注释

E

块注释中的需求

基本原理 一个

包含注释提供了代码和模型之间良好的可追溯性。

B

包括描述代码块的注释,可以在代码和模型之间提供良好的可跟踪性。

C

包括描述从模型中删除的代码块的注释,可以在代码和模型之间提供良好的可跟踪性。

D

在模型参数结构声明中包括参数变量和源块的名称作为注释模型_prm.h在代码和模型之间提供良好的可跟踪性。

E

将分配给Simulink块的需求描述作为注释提供了代码和模型之间良好的可追溯性。万博1manbetx

Model Advisor检查 检查与安全相关的代码生成设置以获取注释(万博1manbetx仿真软件检查)
参考文献
  • DO-331, MB.6.3.4节。e“源代码可追溯到低级需求”

  • IEC 61508-3,表A.3 (3)的语言子集

  • IEC 62304, 5.5.3 -软件单元验收标准

  • ISO 26262-6,表1 (1e)“使用可靠的设计原则”

  • EN 50128,表A.4 (11)的语言子集

另请参阅 型号配置参数:备注(嵌入式编码)
最后的改变 R2021a

hisl_0039:配置参数>代码生成>接口

ID:标题 hisl_0039:配置参数>代码生成>接口
描述

对于用于开发高完整性系统的模型,请在“配置参数”对话框中代码生成>接口窗格中,设置软件环境代码接口,数据交换接口参数如下:

一个

清晰的万博1manbetx支持:非有限数

B

清晰的万博1manbetx支持:绝对时间

C

清晰的万博1manbetx支持:连续时间

D

清晰的万博1manbetx支持:非内联s函数

E

清晰的经典调用接口

F

选择单输出/更新功能

G

清晰的需要终止函数

H

选择删除实时模型数据结构中的错误状态字段

清晰的MAT-file日志

基本原理 一个

万博1manbetx对于实时安全相关系统,不建议支持非有限数。

B

万博1manbetx对于实时安全相关的系统,不建议支持绝对时间。

C

万博1manbetx不建议实时安全相关系统支持连续时间。

D

万博1manbetx对非内联s函数的支持需要对非有限数的支持,不推荐用于实时安全相关的系统。

E

消除与2012a前GRT目标的主程序模块兼容的模型函数调用,不推荐用于实时安全相关系统;使用基于ERT的目标代替。

F

通过创建对输出和更新函数的单个调用,简化到实时操作系统(RTOS)的接口,并简化生成代码的验证。

G

消除模型_terminate函数,不建议用于与实时安全相关的系统。

H

消除用于记录和监视可能无法用于测试的错误状态的额外代码。

消除将测试点记录到嵌入式目标不支持的MAT文件的额外代码。万博1manbetx

Model Advisor检查 检查与安全相关的代码生成接口设置(万博1manbetx仿真软件检查)
参考文献
  • DO-331, MB.6.3.1.c节“高级要求与目标计算机兼容”
    DO-331, MB.6.3.2.c节低级要求与目标计算机兼容

  • IEC 61508-3,表A.3 (3)的语言子集

  • IEC 62304, 5.5.3 -软件单元验收标准

  • ISO 26262-6,表1 (1b)“语言子集的使用”

  • EN 50128,表A.4 (11)的语言子集

另请参阅 型号配置参数:代码生成接口(嵌入式编码)
最后的改变 R2021a

hisl_0047:配置参数>代码生成>代码样式

ID:标题 hisl_0047:配置参数>代码生成>代码样式
描述

在“配置参数”对话框中,在代码生成>代码样式窗格中,设置以下参数:

一个

括号水平(嵌入式编码)标准(括号表示符合标准)最大值(用括号指定优先级)

B

选择保留表达式中的操作数顺序(嵌入式编码)

请注意 当configuration parameter系统目标文件(万博1manbetx仿真软件编码器)设置为ert.tlc
基本原理 一个

防止意想不到的结果。

B

提高生成代码的可追溯性。

Model Advisor检查 检查代码样式的安全相关代码生成设置(万博1manbetx仿真软件检查)
参考文献
  • DO-331, MB.6.3.1.c节“高级要求与目标计算机兼容”
    DO-331, MB.6.3.2.c节低级要求与目标计算机兼容
    DO-331, MB.6.3.4节。e“源代码可追溯到低级需求”

  • IEC 61508-3,表A.3 (3)的语言子集

  • IEC 62304, 5.5.3 -软件单元验收标准

  • ISO 26262-6,表1 (1b)“语言子集的使用”

  • EN 50128,表A.4 (11)的语言子集

  • MISRA C:2012,规则12.1

另请参阅 型号配置参数:代码样式(嵌入式编码)
最后的改变 R2019b

hisl_0049:配置参数>代码生成>标识符

ID:标题 hisl_0049:配置参数>代码生成>标识符
描述 当模型发生变化时,为了尽量减少代码生成过程中参数和信号名称发生变化的可能性,请设置配置参数最小轧辊长度4或更高版本。
基本原理

减少执行代码审查的工作。

Model Advisor检查 检查与安全相关的代码生成标识符设置(万博1manbetx仿真软件检查)
参考文献
  • DO-331, MB.6.3.4节。e“源代码可追溯到低级需求”

  • IEC 61508-3,表A.3 (3)的语言子集

  • IEC 62304, 5.5.3 -软件单元验收标准

  • ISO 26262-6,表1 (1b)“语言子集的使用”

  • EN 50128,表A.4 (11)的语言子集

另请参阅 模型配置参数:代码生成标识符(嵌入式编码)
最后的改变 R2021a

hisl_0074:配置参数>诊断>与变量相关的建模问题

ID:标题 hisl_0074:配置参数>诊断>与变量相关的建模问题
描述 将这些配置参数设置为错误:
  • 不同条件下的算术运算

  • 信号源和目标位置不匹配

基本原理 维护模拟和生成的代码之间的一致行为,并防止在生成的代码中创建未使用的变量。
Model Advisor检查 检查变种的安全相关诊断设置(万博1manbetx仿真软件检查)
参考文献
  • DO-331, MB.6.3.2节。b“低层次需求准确且一致”

  • IEC 61508-3,表A.4 (7)“使用可信/验证的软件模块和组件”

  • MISRA C:2012,规则2.2

  • ISO 26262-6,表1 (1c)“强类型强制执行”

    ISO 26262-6,表1 (1f)“使用明确的图形表示”

    ISO 26262-6,表1 (1e)“使用可靠的设计原则”

另请参阅
最后的改变 R2021b

hisl_0075:库链接的使用情况

ID:标题 hisl_0075:库链接的使用情况
描述 要维护模拟和生成代码之间的一致行为,请避免在模型中使用Disabled库链接和Parameterized库链接。
基本原理 避免意外的模拟结果。
Model Advisor检查 检查禁用的和参数化的库链接(万博1manbetx仿真软件检查)
参考文献
  • DO-331, MB.6.3.2节。b“低层次需求准确且一致”

  • DO-331, MB.6.3.3节。b“软件架构是一致的”

  • IEC 61508-3,表A.3 (3)的语言子集

  • IEC 62304, 5.5.3 -软件单元验收标准

  • ISO 26262-6,表1 (1b)“语言子集的使用”

  • ISO 26262-6,表1 (1f)“使用明确的图形表示”

  • EN 50128,表A.4 (11)的语言子集

最后的改变 R2022a
例子

推荐:

建议使用掩码库链接来更改库块内部的参数值,而不是创建参数化库链接。

改变模型中屏蔽参数的增益值并不会创建参数化链接。

不推荐:

在命令窗口中使用set_param更改增益值会导致参数化库链接。这将导致意想不到的行为。