Генератор кода производит модули кода. Файл, группирующий управления конфигурацией, куда генератор кода помещает код в модули кода и заголовочные файлы.
Чтобы определить местоположение и исследовать файлы сгенерированного кода, используйте отчет генерации кода HTML. Отчет генерации кода обеспечивает гиперссылки в комментариях, что вы щелкаете, чтобы просмотреть сгенерированный код в Браузере документации MATLAB®. Для получения дополнительной информации смотрите Трассируемость в Отчете Генерации кода.
Генератор кода создает папку сборки в вашей рабочей папке, чтобы сохранить сгенерированный исходный код. Папка сборки содержит объектные файлы, make-файл и другие файлы, созданные во время процесса генерации кода. Именем по умолчанию папки сборки является
.model_ert_rtw
Модули кода и Заголовочные файлы, Затронутые Упаковкой Файла, обобщают структуру исходного кода, который производит генератор кода.
Можно настроить сгенерированный набор файлов несколькими способами:
Файл упаковочные форматы: Управляйте количеством исходных файлов, сгенерированных для вашей модели. В диалоговом окне Configuration Parameter, на панели Code Generation > Code Placement, задают параметр File packaging format. Для получения дополнительной информации смотрите, Настраивают Модули Сгенерированного кода.
Невиртуальная генерация кода подсистемы: Дайте программному обеспечению генерации кода команду генерировать отдельные функции в отдельных файлах кода для невиртуальных подсистем. Можно управлять именами функций и файлов кода. Для получения дополнительной информации смотрите Генерацию Управления Функций для Подсистем (Simulink Coder).
Пользовательские классы памяти: Используйте пользовательские классы памяти, чтобы разделить сгенерированные структуры данных в различные файлы на основе имен файлов, которые вы задаете. Для получения дополнительной информации смотрите, Применяют Пользовательские Классы памяти к Отдельному Сигналу, состоянию и Элементам данных Параметра.
Функции упаковки модуля (MPF): Направьте сгенерированный код в необходимый набор .c
или .cpp
и файлов .h
, и управляйте внутренней организацией сгенерированных файлов. Для получения дополнительной информации смотрите Данные, Функцию и Настройку Файла.
Модули кода и заголовочные файлы, затронутые упаковкой файла
Файл | Описание |
---|---|
| Содержит точки входа для кода, реализующего образцовый алгоритм (например, |
| Содержит локальные макросы и локальные данные, которых требуют модель и подсистемы. Этот файл включен в |
| Объявляет структуры данных модели и открытый интерфейс к образцовым точкам входа и структурам данных. Обеспечивает интерфейс к структуре данных модели реального времени ( Генератор кода:
Если вы соединяете интерфейсом с рукописным кодом к сгенерированному коду для одной или нескольких моделей, включаете |
| Содержит (если условно сгенерировано) объявления для структуры данных параметров, постоянной структуры данных блока I/O и любых нулевых представлений для образцовых типов данных структуры. Если модель не использует эти структуры данных и обнуляет представления, |
| Предоставляет предописания для структуры данных модели реального времени и структуры данных параметров. Объявления функции допускающих повторное использование функций могут потребовать этих объявлений. Предоставляет определения типа для пользовательских типов, которые использует модель. |
| Задает типы данных, структуры и макросы, требуемые сгенерированным кодом. Для получения дополнительной информации смотрите Размещение Управления rtwtypes.h для Разделяемого Служебного Кода (Simulink Coder). |
| Содержит определения типа для широких типов данных и их фрагментов. Файл сгенерирован, когда типы данных многословные используются или когда вы выбираете один или несколько из этих параметров конфигурации:
|
| Содержит определения типа для синхронизации мостов. Файл сгенерирован для цели модели-ссылки или модели, содержащей блоки модели - ссылки. |
| Задает перечислимый тип, соответствующий встроенным типам данных. Файл сгенерирован, когда ваша модель содержит график Stateflow®, который использует сообщения или когда вы выбираете один или несколько из этих параметров конфигурации:
|
| Содержит определения пересечения нулем для моделей с инициированными подсистемами, где триггером является |
| (дополнительный файл), Если Генерировать пример основная опция программы находится на (значении по умолчанию), этот файл, сгенерирован. Для получения дополнительной информации смотрите, Генерируют пример основная программа. |
| (дополнительный файл), Если Генерировать пример основная опция программы выключена, этот файл, сгенерирован. Для получения дополнительной информации смотрите, Генерируют пример основная программа. Содержит директивы Для получения дополнительной информации смотрите Статический Основной Программный модуль. |
| (дополнительный файл), Обеспечивает структуры данных, которые позволяют под управлением программе получить доступ к образцовым сигналам, состояниям и параметрам без режима external mode. Чтобы изучить, как сгенерировать и использовать |
Код, который вы пишете, чтобы взаимодействовать через интерфейс со сгенерированным типовым кодексом обычно, включает индивидуально настраиваемый основной модуль. Основывайте этот модуль на основной программе, предоставленной программным обеспечением генерации кода. Этот индивидуально настраиваемый основной модуль может также включать обработчиков прерываний, блоки драйвера устройства и другие S-функции и другой контрольный или поддерживающий код. Шаги, чтобы настроить среду разработки, чтобы поддержать индивидуально настраиваемый основной модуль включают:
Установите рабочую папку для своих собственных модулей кода.
Поместите свою рабочую папку на путь MATLAB.
В минимуме сообщите процессу сборки о местоположении ваших исходных и объектных файлов с Additional build information в Code Generation> панель Custom Code.
Ваш процесс разработки мог потребовать генерирующегося кода для конкретного микропроцессора или макетной платы и развертывания кода по целевому компьютеру с системой кросс-разработки. Чтобы выполнить эти цели, сделайте более обширные модификации к основанному на ERT системному конечному файлу.
Для получения информации о том, как настроить ваш основанный на ERT системный конечный файл для ваших производственных требований, смотрите Целевую Разработку (Simulink Coder).
Параметр конфигурации доступен, чтобы задать, как пакеты генератора кода сгенерировали исходный код в файлы. Параметр конфигурации опции File packaging format расположен в диалоговом окне Configuration Parameter, на Code Generation> панель Code Placement, в разделе Code packaging. Опциями является Modular
, Compact (with separate data file)
и Compact
. Таблица описывает сгенерированные файлы и удаленные файлы для каждого файла упаковочный формат.
Сгенерированные файлы согласно файлу упаковочный формат
Файл упаковочный формат | Сгенерированные файлы | Удаленные файлы |
---|---|---|
Modular (значение по умолчанию) |
(дополнительные) файлы подсистемы
| 'none' |
Compact (with separate data file) |
|
|
Compact |
|
|
Таблица описывает размещение содержимого из удаленных файлов.
Удаленные файлы согласно файлу упаковочный формат
Удаленный файл | Сгенерированное содержимое в файле |
---|---|
| и
|
|
|
|
|
Можно задать различный файл упаковочный формат для каждой модели, на которую ссылаются.
Configuration Parameter> Code Generation> Interface> выбор Shared code placement взаимодействует с файлом упаковочные операции. Если вы задаете 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
Различный блок Subsystem. Файл
включает директивы препроцессору, задающие различные объекты, сопоставленные с различным блоком.model_types.h
Пользовательские классы памяти, генерирующие отдельный заголовочный файл.
Файл упаковочные форматы Compact
и Compact (with separate data file)
не совместим с:
Модель, содержащая подсистему, которая сконфигурирована, чтобы сгенерировать отдельные исходные файлы
Модель, содержащая невстроенную S-функцию
Модель, для которой Shared code placement установлен в Auto
, который использует объекты данных, для которых Data scope установлен в Exported