exponenta event banner

Проверка допущений создания кода

Генератор кода реализует допущения, которые зависят, например, от параметров аппаратной реализации модели. Важно проверить правильность допущений для целевого оборудования. Используйте buildStandaloneCoderAssumptions создание приложения, выполняющего проверку предположений на целевом оборудовании.

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

  1. С GenerateReport установить в значение 'on', создайте (Ctrl + B) модель.

  2. Для просмотра списка допущений генератора кода, которые можно проверить, откройте отчет о создании кода и щелкните ссылку Предположения кодера.

    Дополнительные сведения см. в разделе Список предположений кодера.

  3. Управляемый buildStandaloneCoderAssumptions, который использует созданный код в папке сборки для создания приложения, выполняющего проверку предположений создания кода.

  4. Загрузите приложение на целевое оборудование или в целевую среду, а затем запустите приложение.

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

Проверить допущения генератора кода для компьютера разработки

Если целевым оборудованием является, например, компьютер для разработки Windows ®, для запуска и отладки приложения можно использовать Microsoft ® Visual Studio ®:

  1. Для открытия модели в окне команд введите rtwdemo_sil_topmodel.

  2. В диалоговом окне Параметры конфигурации модели (Model Configuration Parameters) на панели Реализация оборудования (Hardware Implementation) укажите параметры, соответствующие целевому оборудованию. Например, для 64-разрядного компьютера Windows задайте следующие параметры:

    • Поставщик устройства -- Intel

    • Тип устройства -- x86-64 (Windows 64)

  3. Очистить параметр конфигурации модели Включить переносимые размеры слов.

  4. Создайте модель (Ctrl + B).

  5. Чтобы просмотреть список предположений генератора кода, откройте отчет о создании кода и щелкните ссылку Предположения кодера.

  6. В окне команд в рабочей папке выполните следующее:

    buildStandaloneCoderAssumptions('rtwdemo_sil_topmodel_ert_rtw')
    В папке построения функция создает coderassumptions\standalone подпапка, содержащая целевое приложение, rtwdemo_sil_topmodel_ca.

  7. Откройте Microsoft Visual Studio и выберите Файл > Открыть > Проект/решение

  8. С помощью диалогового окна «Открыть проект» перейдите к coderassumptions\standalone подпапка и выберите rtwdemo_sil_topmodel_ca. Затем нажмите кнопку Открыть.

  9. Выберите меню «Файл» > «Открыть» > «Файл». В диалоговом окне «Открыть файл» выберите coderassumptions\standalone\rtwdemo_sil_topmodel_ca.c

  10. На return , вставьте точку разрыва.

  11. Выберите Отладка > Начать отладку.

  12. Для проверки предположений генератора кода используйте окно «Просмотр» для проверки Results структура данных:

    1. В rtwdemo_sil_topmodel_ca.c код, щелкните правой кнопкой мыши Results.

    2. В контекстном меню выберите «Добавить наблюдение».

Переменные в структуре данных содержат:

  • Проверка результатов (TestResults)

  • Целевые аппаратные истины (ActualValues)

  • Допущения генератора кода (ExpectedValues)

Например, если предположение генератора кода для bitsPerChar является точным, вы видите CA_PASS значение в поле status переменная.

Перечень допущений кодера

Раздел содержимого отчета о создании кода имеет ссылку на страницу Предположения кодера. На этой странице представлен список:

  • Предположения создания кода, которые можно проверить

  • Ожидаемые результаты для проверок допущений

В этой таблице описываются метки, отображаемые в списке.

КатегорияЭтикеткаПредположение, которое можно проверить
Настройка языка C/C + + для целевого оборудования или компьютера разработки

BitPerChar

Количество битов на char (ProdBitPerChar)

BitPerShort

Количество битов на short (ProdBitPerShort)

BitPerInt

Количество битов на int (ProdBitPerInt)

BitPerLong

Количество битов на long (ProdBitPerLong)

BitPerFloat

Размер float (Только если PurelyIntegerCode является 'off')

BitPerDouble

Размер double (Только если PurelyIntegerCode является ‘off’)

BitPerPointer

Количество битов на pointer (ProdBitPerPointer)

BitPerSizeT

Количество битов на size_t (ProdBitPerSizeT)

BitPerPtrDiffT

Количество битов на ptrdiff_t (ProdBitPerPtrDiffT)

Endianess

Порядок байтов (ProdEndianess)

Shift right for signed integer is arithmetic shift

Поведение бита знака (ProdShiftRightIntArith)

Signed integer division rounds to

Поведение округления для целочисленного деления (ProdIntDivRoundTo)

Стандарт языка C/C + +

Initial value of a global integer variable and dynamically allocated memory is zero

Нулевая инициализация памяти (ZeroExternalMemoryAtStartup, ZeroInternalMemoryAtStartup, и GenerateAllocFcn)

Числа с плавающей запятой

Flush-to-zero computed subnormal values (FTZ)

Обработка субнормальных чисел «заподлицо с нулем»

Flush-to-zero incoming subnormal values (DAZ)

Обработка субнормальных чисел Denormals-are-zero

См. также

Связанные темы