Задайте классы памяти, разделы памяти и шаблоны функций для программной архитектуры

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

Создайте определения кода для использования в редакторе отображений кода

Чтобы контролировать внешний вид элементов модели в сгенерированном коде, вы применяете определения кода к элементам с помощью редактора Отображения. Сконфигурируйте поведение генерации кода по умолчанию для категории элементов модели, выбрав определение кода в отображении по умолчанию для категории. Сконфигурируйте отдельные элементы данных, сопоставив их с определениями кода в редакторе Отображения.

Чтобы создать определения кода, которые вы и другие пользователи можете использовать в редакторе Отображения, используйте словарь Embedded Coder.

Когда вы создаете определения в словаре Embedded Coder, решите, где хранить определения, учитывая, как вы собираетесь их использовать. В этой таблице перечислено, где хранить определения кода и как использовать Simulink® словари данных.

Использование определенийРасположение для определений кодаИспользование словаря данных
Несколько моделей - совместное использование набора определений кода для стандартизации кодаСловарь данных Simulink, на который ссылаются все модели, непосредственно или через промежуточные ссылочные словариСоедините каждую модель со словарем данных, который задает определения кода непосредственно или через промежуточную ссылку на словарь.
Одна модель - прототипирование сгенерированного кода при помощи одной моделиЛокальный Embedded Coder моделиВы можете опционально связать модель со словарем данных, который содержит другие данные. Если вы связываете модель со словарем, который содержит другие определения кода, модель может также использовать эти определения кода.

Чтобы использовать словарь Embedded Coder и его ограничения в отношении определений генерации кода, смотрите словарь Embedded Coder.

Создание определений кода для объектов внешних данных

Чтобы создать определения для объектов данных, которые вы храните в базовом рабочем пространстве или словаре данных Simulink, используйте Custom Storage Class Designer, чтобы создать определение в пакете. Для этих объектов данных вы применяете настройки генерации кода к объекту данных вместо их применения в отображении модели. Когда элемент в модели использует объект данных и его настройки генерации кода, отображение кода для элемента отражает спецификацию объекта данных. Для получения дополнительной информации смотрите Создание классов памяти при помощи Custom Storage Class Designer и Управление размещением данных и функций в памяти путем вставки Pragmas.

Используйте определения кода пакета в Embedded Coder

Если вы хотите использовать то же определение генерации кода в редакторе Code Mappings и в объектах данных, не нужно хранить одну копию определения в словаре Embedded Coder и другую копию в пакете. Вместо этого сохраните определение в пакете (с помощью Custom Storage Class Designer). Затем сконфигурируйте один или несколько словарей Embedded Coder для ссылки на определение в пакете. С помощью этого метода, когда вы хотите внести изменения в определение, вы вносите изменения только в одном месте, пакете.

Чтобы создать определение генерации кода в пакете с помощью Custom Storage Class Designer, смотрите Создание классов памяти при помощи Custom Storage Class Designer. Затем, чтобы сконфигурировать словарь Embedded Coder Dictionary для обращения к пакету, смотрите см. "См". Определения генерации кода в пакете ".

Для получения дополнительной информации о поддержке определений в пакетах и словарях смотрите Миграция определений пакетов в словарь Embedded Coder для использования в отображениях кода.

Ограничение использования отображений кода класса памяти

При определении класса памяти в словаре Embedded Coder Dictionary можно задать, могут ли пользователи сопоставить класс памяти с параметрами, сигналами или параметрами и сигналами. Чтобы ограничить использование класса памяти, свойство Data Initialization должно быть установлено на Auto или None. Затем в Property Inspector под Allowed Usage выберите Parameters, Signals или Parameters и Signals. Для получения дополнительной информации см. раздел Embedded Coder Dictionary.

Развертывание определений генерации кода для пользователей

В большой организации с несколькими моделями и пользователями можно делиться определениями генерации кода, храня их во взаимодоступном месте. Процесс совместного использования определений кода называется deployment. Для получения дополнительной информации см. раздел Развертывание определений генерации кода.

Программное взаимодействие с определениями генерации кода

Вы можете создавать и взаимодействовать с определениями кода с помощью Embedded Coder Dictionary API.

  1. Представление Embedded Coder при помощи coder.Dictionary объект. Используйте объект для доступа к разделам словаря: Классы памяти, Разделы памяти и Шаблоны индивидуальной настройки функции. Если у вас есть пакет определений кода, используйте coder.Dictionary объект для загрузки и обновления пакета в словаре.

  2. Представление раздела словаря при помощи coder.dictionary.Section объект. Используйте раздел для доступа к определениям кода.

  3. Представление определения кода при помощи coder.dictionary.Entry объект. Используйте запись для взаимодействия с определением кода и его свойствами.

Можно также использовать такие функции, как coder.dictionary.copy и coder.dictionary.move для выполнения операций со словарями Embedded Coder. Для получения дополнительной информации смотрите Создание определений кода программно.

См. также

|

Похожие темы