Генератор кода создает модули кода. Конфигурация упаковки файлов определяет, где генератор кода помещает код в модули кода и файлы заголовков.
Чтобы найти и проверить созданные файлы кода, используйте представление «Код» или отчет о создании кода HTML. Отчет о создании кода содержит гиперссылки в комментариях, которые можно щелкнуть для просмотра созданного кода в браузере справки MATLAB ®. Дополнительные сведения см. в разделе Отслеживание в сгенерированном коде.
Генератор кода создает папку построения в рабочей папке для хранения созданного исходного кода. Папка построения содержит файлы объектов, make-файл и другие файлы, созданные в процессе создания кода. Имя папки построения по умолчанию: .model_ert_rtw
Модули кода и файлы заголовка, на которые влияет упаковка файлов, суммируют структуру исходного кода, создаваемого генератором кода.
Сгенерированный набор файлов можно настроить несколькими способами:
Форматы упаковки файлов: Управление количеством исходных файлов, созданных для модели. Выберите параметр конфигурации модели Формат упаковки файлов. Дополнительные сведения см. в разделе Настройка модулей сгенерированного кода.
Создание кода невиртуальной подсистемы: Инструктировать генератор кода создавать отдельные функции в отдельных файлах кода для невиртуальных подсистем. Можно управлять именами функций и файлов кода. Дополнительные сведения см. в разделе Управление генерацией функций для подсистем.
Классы хранения: определение и использование классов хранения, которые секционируют созданные структуры данных в различные файлы на основе указанных имен файлов. Дополнительные сведения см. в разделе Организация данных параметров в структуру с помощью класса Struct Storage.
Упаковка модуля: Направить сгенерированный код в требуемый набор .c или .cpp и .h и управлять внутренней организацией созданных файлов. Дополнительные сведения см. в разделе Конфигурирование и интеграция интерфейса кода.
Модули кода и заголовочные файлы, на которые влияет упаковка файлов
| Файл | Описание |
|---|---|
| Содержит точки входа для кода, реализующего алгоритм модели (например, |
| Содержит локальные макросы и локальные данные, необходимые модели и подсистемам. Этот файл включен в |
| Объявляет структуры данных модели и открытый интерфейс с точками входа модели и структурами данных. Обеспечивает интерфейс со структурой данных модели в реальном времени ( Генератор кода:
При интерфейсе рукописного кода с сгенерированным кодом для одной или нескольких моделей включите |
| Содержит (если генерируется условно) объявления для структуры данных параметров, структуры данных постоянного блока ввода-вывода и любых нулевых представлений для типов данных структуры модели. Если модель не использует эти структуры данных и нулевые представления, |
| Предоставляет форвардные объявления для структуры данных модели в реальном времени и структуры данных параметров. Объявления функций многократно используемых функций могут требовать этих объявлений. Предоставляет определения типов для пользовательских типов, используемых моделью. |
| Определяет типы данных, структуры и макросы, необходимые для созданного кода. Дополнительные сведения см. в разделе Управление размещением rtwtypes.h для общего служебного кода. |
| Содержит определения типов для широких типов данных и их фрагментов. Файл создается при использовании многословных типов данных или при выборе одного или нескольких из следующих параметров конфигурации модели:
|
| Содержит определения типов для мостов синхронизации. Файл создается для ссылочной модели или модели, содержащей блоки модели. |
| Определяет перечисляемый тип, соответствующий встроенным типам данных. Файл создается, когда модель содержит диаграмму Stateflow ®, использующую сообщения, или при выборе одного или нескольких из следующих параметров конфигурации:
|
| Содержит определения пересечения нулей для моделей с запускаемыми подсистемами, где триггер |
| (необязательный файл) Если выбран параметр конфигурации модели Генерация примера основной программы (Generate a example main program), этот файл будет создан. Дополнительные сведения см. в разделе Создание примера основной программы. |
| (необязательный файл) Если очистить параметр конфигурации модели Создать пример основной программы, этот файл будет создан. Дополнительные сведения см. в разделе Создание примера основной программы. Содержит Дополнительные сведения см. в разделе Статический основной программный модуль. |
| (необязательный файл) Предоставляет структуры данных, которые позволяют запущенной программе получать доступ к модельным сигналам, состояниям и параметрам без внешнего режима. Чтобы узнать, как создать и использовать |
Код, записываемый в интерфейс с сгенерированным кодом модели, обычно включает настраиваемый основной модуль. Базируйте этот модуль на основной программе, созданной генератором кода. Этот настраиваемый основной модуль может также включать в себя обработчики прерываний, блоки драйверов устройств и другие S-функции, а также другой управляющий или поддерживающий код. Шаги по настройке среды разработки для поддержки настраиваемого основного модуля:
Создайте рабочую папку для собственных модулей кода.
Поместите рабочую папку в путь MATLAB.
Как минимум, сообщите процессу сборки местоположение исходного файла и файла объекта с параметром конфигурации модели Дополнительная информация о построении.
Процесс разработки может потребовать создания кода для конкретного микропроцессора или платы разработки и развертывания кода на целевом оборудовании с системой перекрестной разработки. Для достижения этих целей внесите более обширные изменения в целевой файл системы на основе ERT.
Дополнительные сведения о настройке целевого файла системы на основе ERT в соответствии с производственными требованиями см. в разделе Целевая разработка.
Параметр конфигурации модели Формат упаковки файлов указывает, как пакеты генератора кода создавали исходный код в файлы. Можно задать для параметра значение Modular, Compact (with separate data file), и Compact. В этой таблице описываются созданные файлы и удаленные файлы для каждого формата упаковки файлов.
Созданные файлы в соответствии с форматом упаковки файлов
| Формат упаковки файлов | Созданные файлы | Удаленные файлы |
|---|---|---|
Modular (по умолчанию) |
файлы подсистемы (необязательно)
| Ничего |
Compact (with separate data file) |
|
|
Compact |
|
|
В этой таблице описывается размещение содержимого из удаленных файлов.
Удаленные файлы в соответствии с форматом упаковки файлов
| Удаленный файл | Созданное содержимое в файле |
|---|---|
| и |
| |
| |
Для каждой ссылочной модели можно указать другой формат упаковки файлов.
Параметр конфигурации модели Shared code placement взаимодействует с операциями упаковки файлов. Если для параметра Размещение общего кода задано значение Shared locationгенератор кода создает отдельные файлы для служебного кода в общем расположении, независимо от формата упаковки файлов. Если для параметра Размещение общего кода задано значение Autoгенератор кода генерирует код для утилит в соответствии с выбором формата упаковки файлов.
Modular: Некоторые общие файлы утилит находятся в папке построения.
Compact (with separate data file): Служебный код генерируется в .model.c
Compact: Служебный код генерируется в .model.c
Форматы упаковки файлов Compact и Compact (with separate data file) произвести для моделей, содержащих:model_types.h
Блок подсистемы вариантов. файл содержит директивы препроцессора, определяющие объекты исполнения, связанные с блоком исполнения.model_types.h
Классы хранения данных, генерирующие отдельный файл заголовка.
Форматы упаковки файлов Compact и Compact (with separate data file) несовместимы с:
Модель, содержащая подсистему, которая настроена на создание отдельных исходных файлов
Модель, содержащая неинлинированную S-функцию
Модель, для которой для параметра Размещение общего кода (Shared code placement) задано значение Auto, который использует объекты данных, для которых для области данных установлено значение Exported