Генератор кода реализует предположения, которые зависят, например, на настройках аппаратной реализации для вашей модели. Важно проверять, что предположения допустимы для вашего целевого компьютера. Используйте buildStandaloneCoderAssumptions
функция, чтобы создать приложение, которое выполняет проверки предположения на вашем целевом компьютере.
Когда вы конфигурируете свою модель, попытайтесь задать аппаратную реализацию и настройки конфигурации сборки, которые совпадают с вашим целевым компьютером. Затем к предположениям генератора контрольного кода для вашего целевого компьютера используйте этот рабочий процесс:
С GenerateReport
установите на 'on'
, создайте (Ctrl+B) свою модель.
Чтобы просмотреть список предположений генератора кода, что можно проверять, откройте отчет генерации кода и щелкните по ссылке Coder Assumptions.
Для получения дополнительной информации см. Список Предположений Кодера.
Запустите buildStandaloneCoderAssumptions
, который использует сгенерированный код в папке сборки, чтобы создать приложение, которое осуществляет проверки предположения генерации кода.
Загрузите приложение на целевой компьютер или целевое окружение, и затем запустите приложение.
В то время как выполнение приложения, используйте отладчик, чтобы просмотреть результаты проверки, которые находятся в структуре данных.
Если целевой компьютер является, например, вашим компьютером Windows®development, можно использовать Microsoft® Visual Studio®, чтобы запустить и отладить приложение:
Чтобы открыть модель, в Командном окне, вводят rtwdemo_sil_topmodel
.
В диалоговом окне Model Configuration Parameters, в панели Hardware Implementation, задают настройки, чтобы совпадать с целевым компьютером. Например, для 64-битного компьютера Windows задают эти установки параметров:
Device vendor – Intel
Device type – x86-64 (Windows 64)
Параметр конфигурации модели Clear Enable portable word sizes.
Создайте модель (Ctrl+B).
Чтобы просмотреть список предположений генератора кода, откройте отчет генерации кода и щелкните по ссылке Coder Assumptions.
Из Командного окна, в рабочей папке, запуске:
buildStandaloneCoderAssumptions('rtwdemo_sil_topmodel_ert_rtw')
coderassumptions\standalone
подпапка, которая содержит целевое приложение, rtwdemo_sil_topmodel_ca
.Открытый Microsoft Visual Studio и выбирает File> Open> Project/Solution
Используя диалоговое окно Open Project, перейдите к coderassumptions\standalone
подпапка и выбирает rtwdemo_sil_topmodel_ca
. Затем нажмите Open.
Выберите File> Open> File. Используя диалоговое окно Open File, выберите coderassumptions\standalone\rtwdemo_sil_topmodel_ca.c
В return
оператор, вставьте точку останова.
Выберите Debug> Start Debugging.
Чтобы проверить предположения генератора кода, используйте окно Watch, чтобы смотреть Results
структура данных:
В rtwdemo_sil_topmodel_ca.c
код, щелкните правой кнопкой по Results
.
Из контекстного меню выберите Add Watch.
Переменные в структуре данных содержат:
Проверяйте результаты (TestResults
)
Истины целевого компьютера (ActualValues
)
Предположения генератора кода (ExpectedValues
)
Например, если предположение генератора кода для bitsPerChar
точно, вы видите CA_PASS
значение в status
переменная.
Раздел содержимого отчета генерации кода имеет ссылку на страницу Coder Assumptions. Страница предоставляет список:
Предположения генерации кода, что можно проверять
Ожидаемые результаты для проверок предположения
Эта таблица описывает метки, которые вы видите в списке.
Категория | Метка | Предположение можно проверять |
---|---|---|
Настройка Языка C/C++ для Целевого компьютера или Компьютера разработчика |
| Количество битов на |
| Количество битов на | |
| Количество битов на | |
| Количество битов на | |
| Размер | |
| Размер | |
| Количество битов на | |
| Количество битов на | |
| Количество битов на | |
| Порядок байтов ( | |
| Поведение знакового бита ( | |
| Округление поведения для целочисленного деления ( | |
Стандарт Языка C/C++ |
| Нулевая инициализация памяти ( |
Числа с плавающей запятой |
| Обработка номера поднормали сброса к нулю |
| Обработка номера поднормали Denormals-are-zero |
buildStandaloneCoderAssumptions