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

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

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

Установить минимальный сигнал или ширину параметра для генерации for цикл, параметр конфигурации набора Loop unrolling threshold к 2 или больше.

Примечания

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

ОбъяснениеПоддержите однозначный сгенерированный код.
Проверки Model AdvisorПроверяйте связанный с безопасностью цикл for настроек оптимизации, разворачивающий порог (Simulink Check)
Ссылки
  • Раздел 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: Параметры конфигурации> Генерация кода> Оптимизация> инициализация Данных
Описание

Чтобы поддержать полное определение данных и инициализировать внутренние и внешние данные, чтобы обнулить, очистите эти параметры конфигурации:

ARemove root level I/O zero initialization.
BRemove internal data zero initialization.
Примечание

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

Эти параметры конфигурации применимы только, когда Системный конечный файл является основанной на ERT целью.

ОбъяснениеA, B Поддержка полностью задала данные в сгенерированном коде.
Проверки Model AdvisorПроверяйте связанные с безопасностью настройки оптимизации на инициализацию данных (Simulink Check)
Ссылки
  • 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: Параметры конфигурации> Генерация кода> Оптимизация> Удаляет код от с плавающей точкой до целочисленных преобразований, который переносит значения из области значений
Описание

Чтобы поддержать верифицируемый код, выберите параметр конфигурации 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Проверяйте связанные с безопасностью настройки оптимизации на преобразования типа данных (Simulink Check)
Ссылки
  • 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: Параметры конфигурации> Генерация кода> Оптимизация> Удаляет код, который защищает от арифметических исключений деления
Описание

Чтобы поддержать робастность операций, очистите параметр конфигурации Remove code that protects against division arithmetic exceptions.

Примечание

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

Этот параметр конфигурации применим только, когда Системный конечный файл является основанной на ERT целью.

ОбъяснениеЗащитите от исключений деления на нуль для фиксированной точки.
Проверки Model AdvisorПроверяйте связанные с безопасностью настройки оптимизации на арифметические исключения деления (Simulink Check)
Ссылки
  • 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

Смотрите такжеУдалите код, который защищает от арифметических исключений деления (Embedded 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Проверяйте связанные с безопасностью настройки оптимизации на заданные минимальные и максимальные значения (Simulink Check)
Ссылки
  • Раздел 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, выбирают эти параметры:

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Проверяйте связанные с безопасностью настройки генерации кода на комментарии (Simulink Check)
Ссылки
  • 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Проверяйте связанные с безопасностью настройки интерфейса генерации кода (Simulink Check)
Ссылки
  • 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, устанавливает эти параметры:

A

Установите уровень Круглых скобок (Embedded Coder) на Maximum (Specify precedence with parentheses).

B

Выберите порядок операнда Preserve в выражении (Embedded Coder).

ПримечаниеЭти параметры конфигурации доступны, когда Системный конечный файл параметра конфигурации (Simulink Coder) установлен в ert.tlc.
ОбъяснениеA

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

B

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

Проверки Model AdvisorПроверяйте связанные с безопасностью настройки генерации кода на стиль кода (Simulink Check)
Ссылки
  • 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

Смотрите такжеПараметры конфигурации модели: стиль кода (Embedded Coder)
В последний раз измененныйR2019b

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

ID: Заголовокhisl_0049: Параметры конфигурации> Генерация кода> Идентификаторы
ОписаниеМинимизировать вероятность, что параметр и имена сигнала изменятся во время генерации кода, когда модель изменится, параметр конфигурации набора Minimum mangle length к 4 или больше.
Объяснение

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

Проверки Model AdvisorПроверяйте связанные с безопасностью настройки идентификатора генерации кода (Simulink Check)
Ссылки
  • 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) 'языковое подмножество'

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