Генератор кода производит модули кода. Упаковка файлов строения управляет, где генератор кода помещает код в модули кода и заголовочные файлы.
Чтобы найти и изучить файлы сгенерированного кода, используйте представление Code или отчет о HTML генерации кода. Отчет о генерации кода содержит гиперссылки в комментариях, которые можно щелкнуть, чтобы просмотреть сгенерированный код в MATLAB® Браузер документации. Для получения дополнительной информации см. «Трассируемость в Сгенерированном коде».
Генератор кода создает папку сборки в рабочей папке для хранения сгенерированного исходного кода. Папка сборки содержит файлы объектов, make-файл и другие файлы, созданные в процессе генерации кода. Имя папки сборки по умолчанию
.model
_ert_rtw
Модули кода и файлы заголовков, затронутые упаковкой файлов, суммируют структуру исходного кода, который производит генератор кода.
Вы можете настроить сгенерированный набор файлов несколькими способами:
Форматы упаковки файлов: Управляйте количеством исходных файлов, сгенерированных для вашей модели. Выберите File packaging format параметра конфигурации модели. Для получения дополнительной информации см. раздел Настройка Сгенерированный код модулей.
Невиртуальная подсистема генерации кода: Инструктируйте генератор кода производить отдельные функции в отдельных файлах кода для невиртуальных подсистем. Вы можете управлять именами функций и файлов кода. Для получения дополнительной информации смотрите Генерация функций управления для подсистем.
Классы памяти: Задайте и используйте классы памяти, которые разделяют сгенерированные структуры данных на различные файлы на основе имен файлов, которые вы задаете. Для получения дополнительной информации смотрите Упорядочить данные параметра в структуру при помощи Класса памяти Struct.
Упаковка модуля: Направьте сгенерированный код в необходимый набор .c
или .cpp
и .h
файлы и управление внутренней организацией сгенерированных файлов. Для получения дополнительной информации смотрите Строение и интегрирование интерфейса кода.
Модули кода и файлы заголовков, затронутые упаковкой файлов
Файл | Описание |
---|---|
| Содержит точки входа для кода, реализующего алгоритм модели (для примера, |
| Содержит локальные макросы и локальные данные, которые требуются модели и подсистемам. Этот файл включен в |
| Объявляет структуры данных моделей и открытый интерфейс для точек входа модели и структур данных. Предоставляет интерфейс к структуре данных модели реального времени ( Генератор кода:
Если вы соединяете рукописный код с сгенерированным кодом для одной или нескольких моделей, включите |
| Содержит (если это условно сгенерировано) объявления для структуры данных параметров, структуры данных вводов-выводов постоянного блока и любых нулевых представлений для типов данных структуры модели. Если модель не использует эти структуры данных и представления нуля, |
| Предоставляет прямое объявление для структуры данных модели реального времени и структуры данных параметров. Объявления функций переиспользуемых функций могут потребовать этих объявлений. Предоставляет определения типов для пользовательских типов, используемых в модели. |
| Определяет типы данных, структуры и макросы, требуемые сгенерированным кодом. Для получения дополнительной информации смотрите Управление размещением rtwtypes.h для Общего кода утилиты. |
| Содержит определения типов для широких типов данных и их фрагментов. Файл генерируется при использовании многословных типов данных или при выборе одного или нескольких из следующих параметров конфигурации модели:
|
| Содержит определения типов для мостов синхронизации. Файл генерируется для модели-ссылки или модели, содержащей блоки Model. |
| Задает перечисляемый тип, соответствующий встроенным типам данных. Файл генерируется, когда ваша модель содержит Stateflow® график, которая использует сообщения или когда вы выбираете один или несколько из следующих параметров конфигурации:
|
| Содержит определения пересечения нулем для моделей с триггируемыми подсистемами, где триггер |
| (необязательный файл) Если вы выбираете параметр конфигурации модели Сгенерируйте пример основной программы, этот файл генерируется. Для получения дополнительной информации смотрите Сгенерировать пример основной программы. |
| (необязательный файл) Если вы очистите параметр конфигурации модели Сгенерируйте пример основной программы, этот файл генерируется. Для получения дополнительной информации смотрите Сгенерировать пример основной программы. Содержит Для получения дополнительной информации см. Раздел «Статический основной программный модуль» |
| (необязательный файл) Предоставляет структуры данных, которые позволяют выполняемой программе обращаться к сигналам модели, состояниям и параметрам без режима external mode. Чтобы узнать, как сгенерировать и использовать |
Код, который вы записываете в интерфейс с сгенерированным кодом модели, обычно включает в себя настроенный основной модуль. Базируйте этот модуль на основной программе, произведенной генератором кода. Этот настраиваемый основной модуль может также включать обработчики прерывания, блоки драйверов устройств и другие S-функции, а также другой диспетчерский или вспомогательный код. Шаги по настройке среды разработки для поддержки настраиваемого основного модуля включают в себя:
Создайте рабочую папку для собственных модулей кода.
Поместите рабочую папку в путь MATLAB.
Как минимум, сообщите процессу сборки о местоположении ваших исходных и объектных файлов с параметр конфигурации <reservedrangesplaceholder0> модели.
Процесс разработки может потребовать генерации кода для конкретного микропроцессора или платы разработки и развертывания кода на целевом компьютере с перекрестной системой разработки. Для достижения этих целей внесите более обширные изменения в основанный на ERT системный целевой файл.
Для получения информации о том, как настроить системный целевой файл на основе ERT для ваших производственных требований, смотрите Целевое развитие.
Model параметра конфигурации <reservedrangesplaceholder1> задает, как генератор кода упаковывает исходный код в файлы. Можно задать параметр равным Modular
, Compact (with separate data file)
, и Compact
. В этой таблице описываются сгенерированные файлы и удаленные файлы для каждого формата упаковки файлов.
Сгенерированные файлы в соответствии с форматом упаковки файлов
Формат упаковки файлов | Сгенерированные файлы | Удаленные файлы |
---|---|---|
Modular (по умолчанию) |
файлы подсистем (необязательно)
| Ничего |
Compact (with separate data file) |
|
|
Compact |
|
|
Эта таблица описывает размещение содержимого из удаленных файлов.
Удаленные файлы в соответствии с форматом упаковки файлов
Удаленный файл | Сгенерированное содержимое в файле |
---|---|
| и
|
|
|
|
|
Для каждой ссылочной модели можно задать другой формат упаковки файлов.
Модель параметра конфигурации <reservedrangesplaceholder2> взаимодействует с операциями упаковки файлов. Если вы задаете Shared code placement Shared location
генератор кода создает отдельные файлы для служебного кода в общем местоположении, независимо от формата упаковки файлов. Если вы задаете Shared code placement Auto
генератор кода генерирует код для утилит согласно выбору формата упаковки файлов.
Modular
: Некоторые общие файлы утилиты находятся в папке сборки.
Compact (with separate data file)
: Код утилиты генерируется в
.model
.c
Compact
: Код утилиты генерируется в
.model
.c
Форматы упаковки файлов Compact
и Compact (with separate data file)
сгенерировать
для моделей, содержащих:model
_types.h
Блок Variant Subsystem. The
файл включает директивы препроцессора, определяющие варианты объектов, сопоставленных с вариантом блока.model
_types.h
Классы памяти, генерирующие отдельный заголовочный файл.
Форматы упаковки файлов Compact
и Compact (with separate data file)
несовместимы с:
Модель, содержащая подсистему, которая сконфигурирована для генерации отдельных исходных файлов
Модель, содержащая нелинейную S-функцию
Модель, для которой Shared code placement установлено в Auto
, который использует объекты данных, для которых Data scope установлено в Exported