В коллективе или крупной организации, чтобы позволить многим пользователям генерировать код, соответствующий стандартной архитектуре, можно создавать определения генерации кода, такие как классы памяти, и совместно использовать их с этими пользователями. При конфигурировании настроек генерации кода для различных моделей пользователи могут применять определения к элементам данных и функций в моделях, генерируя стандартизированный код.
Чтобы контролировать внешний вид элементов модели в сгенерированном коде, вы применяете определения кода к элементам с помощью редактора Отображения. Сконфигурируйте поведение генерации кода по умолчанию для категории элементов модели, выбрав определение кода в отображении по умолчанию для категории. Сконфигурируйте отдельные элементы данных, сопоставив их с определениями кода в редакторе Отображения.
Чтобы создать определения кода, которые вы и другие пользователи можете использовать в редакторе Отображения, используйте словарь Embedded Coder.
Когда вы создаете определения в словаре Embedded Coder, решите, где хранить определения, учитывая, как вы собираетесь их использовать. В этой таблице перечислено, где хранить определения кода и как использовать Simulink® словари данных.
Использование определений | Расположение для определений кода | Использование словаря данных |
---|---|---|
Несколько моделей - совместное использование набора определений кода для стандартизации кода | Словарь данных Simulink, на который ссылаются все модели, непосредственно или через промежуточные ссылочные словари | Соедините каждую модель со словарем данных, который задает определения кода непосредственно или через промежуточную ссылку на словарь. |
Одна модель - прототипирование сгенерированного кода при помощи одной модели | Локальный Embedded Coder модели | Вы можете опционально связать модель со словарем данных, который содержит другие данные. Если вы связываете модель со словарем, который содержит другие определения кода, модель может также использовать эти определения кода. |
Чтобы использовать словарь Embedded Coder и его ограничения в отношении определений генерации кода, смотрите словарь Embedded Coder.
Чтобы создать определения для объектов данных, которые вы храните в базовом рабочем пространстве или словаре данных Simulink, используйте Custom Storage Class Designer, чтобы создать определение в пакете. Для этих объектов данных вы применяете настройки генерации кода к объекту данных вместо их применения в отображении модели. Когда элемент в модели использует объект данных и его настройки генерации кода, отображение кода для элемента отражает спецификацию объекта данных. Для получения дополнительной информации смотрите Создание классов памяти при помощи Custom Storage Class Designer и Управление размещением данных и функций в памяти путем вставки Pragmas.
Если вы хотите использовать то же определение генерации кода в редакторе 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.
Представление Embedded Coder при помощи coder.Dictionary
объект. Используйте объект для доступа к разделам словаря: Классы памяти, Разделы памяти и Шаблоны индивидуальной настройки функции. Если у вас есть пакет определений кода, используйте coder.Dictionary
объект для загрузки и обновления пакета в словаре.
Представление раздела словаря при помощи coder.dictionary.Section
объект. Используйте раздел для доступа к определениям кода.
Представление определения кода при помощи coder.dictionary.Entry
объект. Используйте запись для взаимодействия с определением кода и его свойствами.
Можно также использовать такие функции, как coder.dictionary.copy
и coder.dictionary.move
для выполнения операций со словарями Embedded Coder. Для получения дополнительной информации смотрите Создание определений кода программно.
Редактор отображений кода | Embedded Coder