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

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

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

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

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

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

Параметры конфигурации применяются только, когда эти параметры конфигурации Code Generation установлены следующим образом:

  • System target file является только целевым объектом на основе ERT. (Не применяется для autosar.tlc целевой тип.)

  • Interface Code interface packaging установлено на Nonreusable function или Reusable function

ОбъяснениеA, BПоддержка полностью определенных данных в сгенерированном коде.
Проверки Model AdvisorПроверьте параметры оптимизации, связанные с безопасностью, для инициализации данных (Simulink Check)
Ссылки
  • DO-331, раздел MB.6.3.3.b 'Архитектура программного обеспечения согласована "

  • IEC 61508-3, Таблица A.4 (3) «Оборонительное программирование»

  • МЭК 62304, 5.5.3 - Критерии приемки Модуля ПО

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

  • EN 50128, таблица A.3 (1) 'Defensive Programming'

См. также

Информация о следующих параметрах в Simulink® документация:

Последнее изменениеR2021a

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

Идентификатор: Заголовок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, Section MB.6.3.1.g 'Алгоритмы точны "
    DO-331, Section MB.6.3.2.g 'Алгоритмы точны "

  • IEC 61508-3, Таблица A.4 (3) «Оборонительное программирование»

  • МЭК 62304, 5.5.3 - Критерии приемки Модуля ПО

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

  • EN 50128, таблица A.3 (1) 'Defensive Programming'

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

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

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

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

Чтобы поддержать робастность операций, очистите параметр конфигурации <reservedrangesplaceholder0>.

Примечание

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

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

ОбъяснениеЗащита от исключений из разделения на нули для кода с фиксированной точкой.
Проверки Model AdvisorПроверьте параметры оптимизации, связанные с безопасностью, для исключений из арифметики деления (Simulink Check)
Ссылки
  • DO-331, Section MB.6.3.1.g 'Алгоритмы точны "
    DO-331, Section MB.6.3.2.g 'Алгоритмы точны "

  • IEC 61508-3, Таблица A.3 (3) 'Подмножество языка "
    IEC 61508-3 Таблица A.4 (3) «Оборонительное программирование»

  • МЭК 62304, 5.5.3 - Критерии приемки Модуля ПО

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

  • EN 50128, таблица A.4 (11) 'Language Subset'
    EN 50128, таблица A.3 (1) 'Defensive Programming'

  • MISRA C:2012, Dir 4.1

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

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

Идентификатор: Заголовокhisl_0056: Параметры конфигурации> Генерация кода> Оптимизация> Оптимизируют использование указанных минимальных и максимальных значений
ОписаниеЧтобы поддержать проверяемый код, очистите параметр конфигурации <reservedrangesplaceholder0>.
ПримечанияВыбор 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) «Оборонительное программирование»

  • МЭК 62304, 5.5.3 - Критерии приемки Модуля ПО

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

  • EN 50128, таблица A.3 (1) 'Defensive Programming'

См. также
Последнее изменениеR2018b

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

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

В диалоговом окне Параметров конфигурации на панели 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) 'Подмножество языка "

  • МЭК 62304, 5.5.3 - Критерии приемки Модуля ПО

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

  • EN 50128, таблица A.4 (11) 'Language Subset'

См. такжеПараметры конфигурации модели: Комментарии (Embedded Coder)
Последнее изменениеR2021a

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

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

Для моделей, используемых для разработки систем высокой целостности, в диалоговом окне Параметров конфигурации, на панели 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.

Я

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

ОбъяснениеA

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

B

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

C

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

D

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

E

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

F

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

G

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

H

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

Я

Чтобы исключить дополнительный код для логгирования тестовых точек в файл 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) 'Подмножество языка "

  • МЭК 62304, 5.5.3 - Критерии приемки Модуля ПО

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

  • EN 50128, таблица A.4 (11) 'Language Subset'

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

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

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

В диалоговом окне Параметров конфигурации на панели Code Generation > Code Style установите следующие параметры:

A

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

B

Выберите Perve operand order in expression (Embedded Coder).

ПримечаниеЭти параметры конфигурации доступны, когда параметру конфигурации System target file (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) 'Подмножество языка "

  • МЭК 62304, 5.5.3 - Критерии приемки Модуля ПО

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

  • EN 50128, таблица A.4 (11) 'Language Subset'

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

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

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

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

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

Проверки Model AdvisorПроверьте настройки идентификатора генерации кода, связанного с безопасностью (Simulink Check)
Ссылки
  • DO-331, раздел MB.6.3.4.e «Исходный код прослеживается до низкоуровневых требований»

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

  • МЭК 62304, 5.5.3 - Критерии приемки Модуля ПО

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

  • EN 50128, таблица A.4 (11) 'Language Subset'

См. такжеПараметры конфигурации модели: Идентификаторы генерации кода (Embedded Coder)
Последнее изменениеR2021a