Блокируйте использование

hisl_0020: Блоки, не рекомендуемые для соответствия MISRA C:2012

ID: Заголовокhisl_0020: Блоки, не рекомендуемые для соответствия MISRA C:2012
Описание

Улучшить соответствие MISRA C:2012 сгенерированного кода:

A

Использование только блокирует ту генерацию кода поддержки, как зарегистрировано в Таблицу Simulink® Block Support.

BНе используйте блоки, которые перечислены как “Не рекомендуемый для производственного кода” в Таблице Поддержки блока Simulink.
C

Не используйте блоки Интерполяционной таблицы с помощью методов экстраполяции или интерполяции кубическим сплайном. Определенные блоки:

DНе используйте удержанные от использования блоки Интерполяционной таблицы. Блоками Интерполяционной таблицы устаревшими является Поиск и Lookup2D.
EНе используйте Разработчика S-функции блоки в модели или подсистеме.
FНе используйте От блоков Рабочей области в модели или подсистеме.
G

Не используйте эти блоки Строки в модели или подсистеме:

Примечания

Если вы следуете за этим и другими инструкциями по моделированию, можно устранить образцовые построения, которые не подходят для генерации производственного кода C/C++, в то же время, увеличьте вероятность генерации кода, который выполняет стандарт MISRA C:2012.

Выберите Simulink Help> Simulink> Block Data Types & Code Generation Support> All Tables, чтобы просмотреть блочную таблицу поддержки.

Блоки со сноской (4) в Блочной Таблице Поддержки классифицируются как “Не Рекомендуемый для производственного кода”.

ОбъяснениеA, B, C, D, E, F, GУлучшите качество и соответствие MISRA C:2012 сгенерированного кода.
Образцовые проверки советника

Проверять модель на условия A, B, C, D, E, F, и G:

  • Задачей> Моделирование Инструкций для MISRA C:2012> Код> Проверка на блоки, не рекомендуемые для MISRA C:2012

  • Задачей> Моделирование Стандартов для DO-178C/DO-331> Системы Высокой Целостности> Код> Проверка на блоки, не рекомендуемые для MISRA C:2012

  • Задачей> Моделирование Стандартов для IEC 61508> Системы Высокой Целостности> Код> Проверка на блоки, не рекомендуемые для MISRA C:2012

  • Задачей> Моделирование Стандартов для IEC 62304> Системы Высокой Целостности> Код> Проверка на блоки, не рекомендуемые для MISRA C:2012

  • Задачей> Моделирование Стандартов для EN 50128> Системы Высокой Целостности> Код> Проверка на блоки, не рекомендуемые для MISRA C:2012

  • Задачей> Моделирование Стандартов для ISO 26262> Системы Высокой Целостности> Код> Проверка на блоки, не рекомендуемые для MISRA C:2012

Для получения дополнительной информации проверки смотрите Проверку на блоки, не рекомендуемые для MISRA C:2012.

Проверять модель на условия A и B:

  • Задачей> Моделирование Инструкций для MISRA C:2012> Проверка на блоки, не рекомендуемые для производственного развертывания C/C++ кода

  • Задачей> Моделирование Стандартов для DO-178C/DO-331> Системы Высокой Целостности> Simulink> Проверка на блоки, не рекомендуемые для производственного развертывания C/C++ кода

  • Задачей> Моделирование Стандартов для IEC 61508> Системы Высокой Целостности> Simulink> Проверка на блоки, не рекомендуемые для производственного развертывания C/C++ кода

  • Задачей> Моделирование Стандартов для IEC 62304> Системы Высокой Целостности> Simulink> Проверка на блоки, не рекомендуемые для производственного развертывания C/C++ кода

  • Задачей> Моделирование Стандартов для EN 50128> Системы Высокой Целостности> Simulink> Проверка на блоки, не рекомендуемые для производственного развертывания C/C++ кода

  • Задачей> Моделирование Стандартов для ISO 26262> Системы Высокой Целостности> Simulink> Проверка на блоки, не рекомендуемые для производственного развертывания C/C++ кода

Для получения дополнительной информации проверки смотрите Проверку на блоки, не рекомендуемые для производственного развертывания C/C++ кода.

Ссылки
  • DO 331, Раздел MB.6.3.2.b ‘Низкоуровневые требования точен и сопоставим’
    DO 331, Раздел MB.6.3.2.e ‘Низкоуровневые требования соответствует стандартам
    DO 331, Раздел MB.6.3.4.d ‘Исходный код соответствует стандартам’

  • IEC 61508-3, Таблица A.3 (3) - Языковое подмножество

  • IEC 62304, 5.5.3 - критерии допустимости Программного блока

  • ISO 26262-6, Таблица 1 (1b) - Использование языковых подмножеств

  • EN 50128, таблица A.4 (11) - языковое подмножество

  • MISRA C: 2012

В последний раз измененныйR2018b

hisl_0101: Избегайте инвариантных операций сравнения, чтобы улучшить соответствие MISRA C:2012

ID: Заголовокhisl_0101: Избегайте инвариантных операций сравнения, чтобы улучшить соответствие MISRA C:2012
Описание

Чтобы улучшить соответствие MISRA C:2012 сгенерированного кода, избегайте операций сравнения с инвариантными результатами. Операции сравнения выполняются следующими блоками:

  • Если

  • Логика

  • Оператор отношения

  • Переключатель

  • Переключите случай

  • Сравните с постоянным

Примечание

Можно использовать функциональность поиска ошибок проектирования в Дизайне Simulink Verifier™, чтобы выполнить анализ. Для получения дополнительной информации смотрите Обнаружение Мертвой логики (Simulink Design Verifier). Если у вас есть лицензия Simulink Design Verifier, можно использовать Образцовую проверку Советника, Обнаруживают Мертвую логику.

ОбъяснениеУлучшите соответствие MISRA C:2012 сгенерированного кода.
Ссылки
  • MISRA C:2012, правило 14.3

  • MISRA C:2012, правило 2.1

В последний раз измененныйR2018a
Пример

Инвариантные сравнения могут произойти в простых или составных операциях сравнения. В составных операциях сравнения отдельные компоненты могут быть переменными, когда полное вычисление является инвариантным.

Простой: uint8 всегда больше, чем или равен 0.

Простой: uint8 не может иметь значения, больше, чем 256

Составной объект: операции сравнения являются взаимоисключающими

Stateflow® :

hisl_0102: Тип данных контрольных переменных цикла, чтобы улучшить соответствие MISRA C:2012

ID: Заголовокhisl_0102: Тип данных контрольных переменных цикла, чтобы улучшить соответствие MISRA C:2012
Описание

Чтобы улучшить соответствие MISRA C:2012 сгенерированного кода, используйте целочисленный тип данных для переменных, которые используются в качестве переменных счетчика управления циклом в:

ОбъяснениеУлучшите соответствие MISRA C:2012 сгенерированного кода.
Образцовые проверки советника
  • Задачей> Моделирование Стандартов для DO-178C/DO-331> Системы Высокой Целостности> Simulink> тип данных Проверки контрольных переменных цикла

  • Задачей> Моделирование Стандартов для IEC 61508> Системы Высокой Целостности> Simulink> тип данных Проверки контрольных переменных цикла

  • Задачей> Моделирование Стандартов для IEC 62304> Системы Высокой Целостности> Simulink> тип данных Проверки контрольных переменных цикла

  • Задачей> Моделирование Стандартов для EN 50128> Системы Высокой Целостности> Simulink> тип данных Проверки контрольных переменных цикла

  • Задачей> Моделирование Стандартов для ISO 26262> Системы Высокой Целостности> Simulink> тип данных Проверки контрольных переменных цикла

Для получения дополнительной информации проверки смотрите тип данных Проверки контрольных переменных цикла

Ссылки
  • MISRA C:2012, правило 14.1

В последний раз измененныйR2018a
Была ли эта тема полезной?