主要内容

块使用

hisl_0020:块不建议用于MISRA - C: 2012

ID:标题 hisl_0020:块不建议用于MISRA - C: 2012
描述

改进MISRA - C: 2012合规生成的代码:

一个

只使用块支持代码生成,在仿真软件中进行文档金宝app化金宝app®块表支持。金宝app

B 不要使用块被列为“不建议用于生产代码”模型块表支持。金宝app金宝app
C

不要使用查找表块使用三次样条内插或外推方法。具体的模块是:

D 不要使用弃用查找表块。弃用查找表块查找Lookup2D
E 不要使用s函数生成器块的模型或子系统。
F 不要使用从工作空间块的模型或子系统。
G

模型中不使用这些字符串模块或子系统:

笔记

如果你遵循这个和其他建模指南,你可以消除模型结构不适合C / c++代码生成生产,与此同时,增加生成代码的可能性符合MISRA - C: 2012标准。

使用块支持表金宝app块的块表支持。金宝app块与块的脚注(4)支持表被列为“不建议用于生产代码”。金宝app

基本原理 A, B, C, D, E, F, G 提高质量和MISRA - C: 2012合规生成的代码。
模型顾问检查

为A, B, C, D, E, F, G:检查块不建议用于MISRA - C: 2012(金宝app仿真软件检查)

A和B:检查块不建议用于C / c++代码部署生产(金宝app仿真软件检查)

引用
  • ——331年,部分MB.6.3.2。b的低级需求是准确和一致的
    ——331年,部分MB.6.3.2。e的低级需求符合标准
    ——331年,部分MB.6.3.4。d '源代码符合标准的

  • IEC 61508 - 3、表(3)——由语言子集

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

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

  • EN 50128表各(11)-语言子集

  • MISRA - C: 2012

最后的改变 R2018b

hisl_0101:避免操作导致死亡的逻辑来改善代码合规

ID:标题 hisl_0101:避免操作导致死亡的逻辑来改善代码合规
描述

提高合规生成的代码,避免操作导致死亡或不可访问的代码。

基本原理 提高清晰度和预防死代码。
模型顾问检查 检查访问和死代码(金宝app仿真软件检查)
引用
  • ——331年,部分MB.6.3.2。b -低级需求是准确和一致的

  • ——331年,部分MB.6.3.2。d -低级需求可核查的

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

  • ISO 26262 - 6,表6 (1 h) -没有隐藏的数据流和控制流

  • MISRA - C: 2012,规则14.3

    MISRA - C: 2012,规则2.1

最后的改变 R2022a
例子

不推荐:

下面的例子显示的操作导致死代码或不可访问的代码。

Stateflow:

MATLAB函数:

金宝app仿真软件:

hisl_0102:数据类型的循环控制变量改进MISRA - C: 2012合规

ID:标题 hisl_0102:数据类型的循环控制变量改进MISRA - C: 2012合规
描述

改进MISRA - C: 2012合规的生成的代码,使用整数数据类型变量用作循环控制计数器变量:

  • 在Stateflow循环构造®和MATLAB®

  • 对迭代器块。

基本原理 改进MISRA - C: 2012合规生成的代码。
模型顾问检查 检查循环控制变量的数据类型(金宝app仿真软件检查)
引用
  • ISO 26262 - 6,表1 (1 c) -强类型的实施

  • ——331年,部分MB.6.3.2。g -算法是准确的

  • MISRA - C: 2012,规则14.1

最后的改变 R2018a