Генерация кода

hisl_0051: Параметры конфигурации> Генерация кода> Оптимизация> порог Развертывания цикла

ID: Заголовокhisl_0051: Параметры конфигурации> Генерация кода> Оптимизация> порог Развертывания цикла
Описание

Чтобы поддержать однозначный код, установите минимальный сигнал или ширину параметра для генерации цикла for установкой Configuration Parameter Loop unrolling threshold к 2 или больше.

Примечания

Loop unrolling threshold задает размер массивов, в котором генератор кода начинает использовать цикл for, вместо отдельных операторов присваивания, присваивать значения элементам или массива параметров сигнала. Значением по умолчанию является 5.

ОбъяснениеПоддержите однозначный сгенерированный код.
Проверки Model Advisor
  • By Task> Modeling Standards for DO-178C/DO-331> High-Integrity Systems> Configuration> Check safety-related optimization settings for Loop unrolling threshold

  • By Task> Modeling Standards for IEC 61508> High-Integrity Systems> Configuration> Check safety-related optimization settings for Loop unrolling threshold

  • By Task> Modeling Standards for IEC 62304> High-Integrity Systems> Configuration> Check safety-related optimization settings for Loop unrolling threshold

  • By Task> Modeling Standards for EN 50128> High-Integrity Systems> Configuration> Check safety-related optimization settings for Loop unrolling threshold

  • By Task> Modeling Standards for ISO 26262> High-Integrity Systems> Configuration> Check safety-related optimization settings for Loop unrolling threshold

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

Ссылки
  • Раздел DO-331 MB.6.3.4.e — Исходный код прослеживаем к низкоуровневым требованиям.

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

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

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

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

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

Смотрите также

Порог развертывания цикла (Simulink Coder) в документации Simulink®

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

hisl_0052: Параметры конфигурации> Генерация кода> Оптимизация> инициализация Данных

ID: Заголовокhisl_0052: Параметры конфигурации> Генерация кода> Оптимизация> инициализация Данных
Описание

Поддержать полное определение данных и инициализировать внутренние и внешние данные, чтобы обнулить, в диалоговом окне Configuration Parameters:

AОчистите Remove root level I/O zero initialization.
BОчистите Remove internal data zero initialization.
Примечание

Явным образом инициализируйте все переменные. Если среда выполнения целевой системы обеспечивает механизмы, чтобы инициализировать весь ввод-вывод и переменные состояния, рассмотрите использование инициализации цели как альтернатива предложенным настройкам.

ОбъяснениеA, B Поддержка полностью задала данные в сгенерированном коде.
Проверки Model Advisor
  • By Task> Modeling Standards for DO-178C/DO-331> High-Integrity Systems> Configuration> Check safety-related optimization settings for data initialization

  • By Task> Modeling Standards for IEC 61508> High-Integrity Systems> Configuration> Check safety-related optimization settings for data initialization

  • By Task> Modeling Standards for IEC 62304> High-Integrity Systems> Configuration> Check safety-related optimization settings for data initialization

  • By Task> Modeling Standards for EN 50128> High-Integrity Systems> Configuration> Check safety-related optimization settings for data initialization

  • By Task> Modeling Standards for ISO 26262> High-Integrity Systems> Configuration> Check safety-related optimization settings for data initialization

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

Ссылки
  • 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:

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

hisl_0053: Параметры конфигурации> Генерация кода> Оптимизация> Удаляет код от с плавающей точкой до целочисленных преобразований, который переносит значения из области значений

ID: Заголовокhisl_0053: Параметры конфигурации> Генерация кода> Оптимизация> Удаляет код от с плавающей точкой до целочисленных преобразований, который переносит значения из области значений
Описание

Чтобы поддержать верифицируемый код, в диалоговом окне Configuration Parameters, выбирают Remove code from floating-point to integer conversions that wraps out-of-range values

Примечания

Избегайте переполнения в противоположность обработке их с кодом обертки. Для блоков, которые имеют параметр Saturate on integer overflow очищенный, очищающийся параметр конфигурации, Remove code from floating-point to integer conversions that wraps out-of-range values может добавить код, который переносится из значений области значений, приводящих к недостижимому коду, который не может быть протестирован.

ОбъяснениеПоддержите генерацию кода, который может быть проверен.
Проверки Model Advisor
  • By Task> Modeling Standards for DO-178C/DO-331> High-Integrity Systems> Configuration> Check safety-related optimization settings for data type conversions

  • By Task> Modeling Standards for IEC 61508> High-Integrity Systems> Configuration> Check safety-related optimization settings for data type conversions

  • By Task> Modeling Standards for IEC 62304> High-Integrity Systems> Configuration> Check safety-related optimization settings for data type conversions

  • By Task> Modeling Standards for EN 50128> High-Integrity Systems> Configuration> Check safety-related optimization settings for data type conversions

  • By Task> Modeling Standards for ISO 26262> High-Integrity Systems> Configuration> Check safety-related optimization settings for data type conversions

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

Ссылки
  • 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

Смотрите такжеУдалите код от с плавающей точкой до целочисленных преобразований, который переносит значения из области значений (Simulink Coder) в документацию Simulink
В последний раз измененныйR2018b

hisl_0054: Параметры конфигурации> Генерация кода> Оптимизация> Удаляет код, который защищает от арифметических исключений деления

ID: Заголовокhisl_0054: Параметры конфигурации> Генерация кода> Оптимизация> Удаляет код, который защищает от арифметических исключений деления
Описание

Поддерживать робастность операций, в диалоговом окне Configuration Parameters, ясном Remove code that protects against division arithmetic exceptions.

Примечание

Избегайте исключений деления на нуль. Если вы очищаете Remove code that protects against division arithmetic exceptions, генератор кода производит код, который принимает меры против деления на нуль для данных фиксированной точки.

ОбъяснениеЗащитите от исключений деления на нуль для фиксированной точки.
Проверки Model Advisor
  • By Task> Modeling Standards for DO-178C/DO-331> High-Integrity Systems> Configuration> Check safety-related optimization settings for division arithmetic exceptions

  • By Task> Modeling Standards for IEC 61508> High-Integrity Systems> Configuration> Check safety-related optimization settings for division arithmetic exceptions

  • By Task> Modeling Standards for IEC 62304> High-Integrity Systems> Configuration> Check safety-related optimization settings for division arithmetic exceptions

  • By Task> Modeling Standards for EN 50128> High-Integrity Systems> Configuration> Check safety-related optimization settings for division arithmetic exceptions

  • By Task> Modeling Standards for ISO 26262> High-Integrity Systems> Configuration> Check safety-related optimization settings for division arithmetic exceptions

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

Ссылки
  • DO-331, Раздел MB.6.3.1.g 'Алгоритмы точен’
    DO-331, Раздел MB.6.3.2.g 'Алгоритмы точен’

  • IEC 61508-3, таблица A.3 (3) 'языковое подмножество'
    IEC 61508-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

Смотрите такжеУдалите код, который защищает от арифметических исключений деления (Simulink Coder) в документации Simulink
В последний раз измененныйR2018b

hisl_0056: Параметры конфигурации> Генерация кода> Оптимизация> Оптимизируют использование заданных минимальных и максимальных значений

ID: Заголовокhisl_0056: Параметры конфигурации> Генерация кода> Оптимизация> Оптимизируют использование заданных минимальных и максимальных значений
ОписаниеЧтобы поддержать верифицируемый код, очистите Параметр конфигурации Optimize using the specified minimum and maximum values.
ПримечанияВыбор Optimize using the specified minimum and maximum values может привести к требованиям без связанного кода и нарушает цели трассируемости.
ОбъяснениеПоддержите трассируемость между типовым кодексом и сгенерированным кодом.
Проверки Model Advisor
  • By Task> Modeling Standards for DO-178C/DO-331> High-Integrity Systems> Configuration> Check safety-related optimization settings

  • By Task> Modeling Standards for IEC 61508> High-Integrity Systems> Configuration> Check safety-related optimization settings

  • By Task> Modeling Standards for IEC 62304> High-Integrity Systems> Configuration> Check safety-related optimization settings

  • By Task> Modeling Standards for EN 50128> High-Integrity Systems> Configuration> Check safety-related optimization settings

  • By Task> Modeling Standards for ISO 26262> High-Integrity Systems> Configuration> Check safety-related optimization settings

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

Ссылки
  • Раздел 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: Параметры конфигурации> Генерация кода> Комментарии
Описание

Для моделей, используемых, чтобы разработать системы высокой целостности, в диалоговом окне Configuration Parameters, на панели Code Generation > Comments, устанавливают Overall control, Auto generated comments и параметры Custom comments можно следующим образом:

A

Выберите Include comments.

B

Выберите Simulink block comments.

C

Выберите Show eliminated blocks.

D

Выберите Verbose comments for 'Model default' storage class.

E

Выберите Requirements in block comments.

ОбъяснениеA

Включая комментарии обеспечивает хорошую трассируемость между кодом и моделью.

B

Включая комментарии, которые описывают код для блоков, обеспечивает хорошую трассируемость между кодом и моделью.

C

Включая комментарии, которые описывают код для блоков, устраненных из модели, обеспечивает хорошую трассируемость между кодом и моделью.

D

Включая имена переменных параметра и исходных блоков как комментарии в описании структуры параметра модели в model _prm.h обеспечивает хорошую трассируемость между кодом и моделью.

E

Включая описания требования, присвоенные блокам Simulink как комментарии, обеспечивает хорошую трассируемость между кодом и моделью.

Проверки Model Advisor
  • By Task> Modeling Standards for DO-178C/DO-331> High-Integrity Systems> Configuration> Check safety-related code generation settings for comments

  • By Task> Modeling Standards for IEC 61508> High-Integrity Systems> Configuration> Check safety-related code generation settings for comments

  • By Task> Modeling Standards for IEC 62304> High-Integrity Systems> Configuration> Check safety-related code generation settings for comments

  • By Task> Modeling Standards for EN 50128> High-Integrity Systems> Configuration> Check safety-related code generation settings for comments

  • By Task> Modeling Standards for ISO 26262> High-Integrity Systems> Configuration> Check safety-related code generation settings for comments

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

Ссылки
  • 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) 'языковое подмножество'

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

hisl_0039: Параметры конфигурации> Генерация кода> Интерфейс

ID: Заголовокhisl_0039: Параметры конфигурации> Генерация кода> Интерфейс
Описание

Для моделей, используемых, чтобы разработать системы высокой целостности, в диалоговом окне Configuration Parameters, на панели Code Generation > Interface, устанавливают Software environment, Code interface и параметры Data exchange interface можно следующим образом:

A

Очистите Support: non-finite numbers.

B

Очистите Support: absolute time.

C

Очистите Support: continuous time.

D

Очистите Support: non-inlined S-functions.

E

Очистите Classic call interface.

F

Выберите Single output / update function.

G

Очистите Terminate function required.

H

Выберите Remove error status field in real-time model data structure.

I

Очистите MAT-file logging.

ОбъяснениеA

Поддержка неличных чисел не рекомендуется для связанных с безопасностью систем в реальном времени.

B

Поддержка в течение абсолютного времени не рекомендуется для связанных с безопасностью систем в реальном времени.

C

Поддержка в течение непрерывного времени не рекомендуется для связанных с безопасностью систем в реальном времени.

D

Поддержка невстроенных S-функций требует поддержки неличных чисел, которая не рекомендуется для связанных с безопасностью систем в реальном времени.

E

Устранить образцовые вызовы функции, совместимые с основным программным модулем pre-2012a цели GRT, которая не рекомендуется для связанных с безопасностью систем в реальном времени; используйте ERT базирующаяся цель вместо этого.

F

Упростить интерфейс до операционной системы реального времени (RTOS) и упростить верификацию сгенерированного кода путем создания одного вызова обоих функции вывода и обновления.

G

Устранить model функция _terminate, которая не рекомендуется для связанных с безопасностью систем в реальном времени.

H

Устранить дополнительный код для журналирования и контроля ошибочного состояния, которое не может быть достижимо для тестирования.

I

Устранить дополнительный код для журналирования тестовых точек к файлу MAT, который не поддержан целевыми процессорами.

Проверки Model Advisor
  • By Task> Modeling Standards for DO-178C/DO-331> High-Integrity Systems> Configuration> Check safety-related code generation interface settings

  • By Task> Modeling Standards for IEC 61508> High-Integrity Systems> Configuration> Check safety-related code generation interface settings

  • By Task> Modeling Standards for IEC 62304> High-Integrity Systems> Configuration> Check safety-related code generation interface settings

  • By Task> Modeling Standards for EN 50128> High-Integrity Systems> Configuration> Check safety-related code generation interface settings

  • By Task> Modeling Standards for ISO 26262> High-Integrity Systems> Configuration> Check safety-related code generation interface settings

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

Ссылки
  • 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) 'языковое подмножество'

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

hisl_0047: Параметры конфигурации> Генерация кода> Стиль кода

ID: Заголовокhisl_0047: Параметры конфигурации> Генерация кода> Код
Описание

Для моделей, используемых, чтобы разработать системы высокой целостности, в диалоговом окне Configuration Parameters, на панели Code Generation > Code Style, устанавливают параметры Code Style можно следующим образом:

A

Установите Parenthesis level на Maximum (Specify precedence with parentheses).

B

Выберите Preserve operand order in expression.

C

Выберите Preserve condition expression in if statement.

ОбъяснениеA

Предотвратить неожиданные результаты.

B, C

Улучшить трассируемость сгенерированного кода.

Проверки Model Advisor
  • By Task> Modeling Standards for DO-178C/DO-331> High-Integrity Systems> Configuration> Check safety-related code generation settings for code style

  • By Task> Modeling Standards for IEC 61508> High-Integrity Systems> Configuration> Check safety-related code generation settings for code style

  • By Task> Modeling Standards for IEC 62304> High-Integrity Systems> Configuration> Check safety-related code generation settings for code style

  • By Task> Modeling Standards for EN 50128> High-Integrity Systems> Configuration> Check safety-related code generation settings for code style

  • By Task> Modeling Standards for ISO 26262> High-Integrity Systems> Configuration> Check safety-related code generation settings for code style

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

Ссылки
  • 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

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

hisl_0049: Параметры конфигурации> Генерация кода> Символы

ID: Заголовокhisl_0049: Параметры конфигурации> Генерация кода> Символы
Описание

Для моделей, используемых, чтобы разработать системы высокой целостности, в диалоговом окне Configuration Parameters, на панели Code Generation > Symbols, устанавливают параметры Auto-generated identifier naming rules можно следующим образом:

A

Установите Minimum mangle length на 4 или больше.

ОбъяснениеA

Минимизировать вероятность, что параметр и имена сигнала изменятся во время генерации кода, когда модель изменится. Таким образом опция может уменьшить усилие выполнить рассмотрение кода.

Проверки Model Advisor
  • By Task> Modeling Standards for DO-178C/DO-331> High-Integrity Systems> Configuration> Check safety-related code generation symbols settings

  • By Task> Modeling Standards for IEC 61508> High-Integrity Systems> Configuration> Check safety-related code generation symbols settings

  • By Task> Modeling Standards for IEC 62304> High-Integrity Systems> Configuration> Check safety-related code generation symbols settings

  • By Task> Modeling Standards for EN 50128> High-Integrity Systems> Configuration> Check safety-related code generation symbols settings

  • By Task> Modeling Standards for ISO 26262> High-Integrity Systems> Configuration> Check safety-related code generation symbols settings

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

Ссылки
  • 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) 'языковое подмножество'

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