Для модели, созданной в релизе до R2018a, когда вы открываете приложение Embedded Coder или используете coder.mapping.create
функция, Simulink® переносит раздел памяти и общие настройки утилиты из параметров конфигурации в отображения кода модели. В рамках миграции Simulink конфигурирует словарь Embedded Coder Dictionary, который использует модель:
Обратитесь к пакету, который определяет разделы памяти, как описано в См. Определения генерации кода в пакете.
Чтобы содержать шаблон индивидуальной настройки функции, который задает правило именования и, если применимо, параметры раздела памяти, заданные для общих утилит.
Процесс миграции вносит изменения в файл модели, который вы должны сохранить. Изменения включают в себя:
Преобразование настроек параметра конфигурации в отображения кода.
Если модель не связана со словарем данных, конфигурирование словаря Embedded Coder Dictionary в файле модели для обращения к пакету раздела памяти и содержащего шаблон индивидуальной настройки функции.
Если модель связана со словарем данных, процесс миграции вносит изменения в словарь, который необходимо сохранить. Изменения включают в себя:
Если параметры конфигурации сохранены в файле модели (модель не ссылается на Simulink.ConfigSet
объект), конфигурирование словаря Embedded Coder словаря данных для обращения к пакету раздела памяти и содержащего шаблон индивидуальной настройки функции.
Если словарь данных ссылается на другие словари, процесс миграции конфигурирует словарь в нижней части иерархии ссылок, чтобы другие модели и словари иерархии могли использовать определения раздела памяти и шаблона функции.
Если модель ссылается на Simulink.ConfigSet
объект, конфигурирование словаря Embedded Coder словаря данных, который хранит объект.
Когда вы открываете приложение Embedded Coder, Simulink выполняет процесс миграции. Не открывайте приложение Embedded Coder, если вы не готовы перенести параметры именования раздела памяти и общей утилиты.
Если модель имеет несколько конфигурации модели (один активный и один или несколько неактивных) или ссылается на Simulink.ConfigSet
приложение Embedded Coder отображает информационное сообщение, указывающее, что информация из набора конфигурации, на который ссылаются, была импортирована в словарь Embedded Coder и преобразования кода.
Если вы используете словари данных Simulink, прежде чем вы или другие пользователи откроете приложение Embedded Coder для модели, сначала рассмотрите создание и настройку словарей.
В иерархии ссылочных данных словарей (для примера - словарной иерархии, параллельной иерархии модели) только один словарь может содержать словарь Embedded Coder Dictionary. Настройка словарей данных перед миграцией связанных моделей позволяет управлять, где словарь Embedded Coder находится в иерархии словарей. Создайте или идентифицируйте словарь данных в нижней части иерархии, чтобы модели в иерархии могли получить доступ к определениям раздела памяти и шаблонов функций. Затем, когда вы инициируете миграцию, открывая приложение Embedded Coder для модели, Simulink конфигурирует этот словарь данных.
Для получения информации об совместном использовании словаря Embedded Coder между моделями с помощью ссылочных словарей, см. Раздел «Совместное определение словаря Embedded Coder между моделями».
Процесс миграции вносит изменения на основе активной конфигурации модели модели (см. «Управление конфигурациями модели для модели»), когда вы открываете модель в приложении Embedded Coder. Прежде чем открывать модель в приложении Embedded Coder, активируйте конфигурацию модели, настройки которого вы хотите использовать процесс миграции.
Процесс игнорирует параметры в неактивных конфигурациях модели. Если различные конфигурации модели модели задают различные настройки, необходимо выбрать один набор для миграции.
В ветвящейся иерархии моделей-ссылок и словарей данных-ссылок, после того, как вы или другие пользователи переносите модели-ссылки в различных ветвях, открытие приложения Embedded Coder в родительской модели может сгенерировать ошибку из-за наличия нескольких словарей-встраиваемых кодеров в иерархии словарей данных. Чтобы устранить эти ошибки, используйте coder.dictionary.move
и coder.dictionary.remove
передавать и удалять словари Embedded Coder до тех пор, пока не останется только один словарь. Поместите оставшийся словарь Embedded Coder в словарь данных в нижней части иерархии, чтобы модели иерархии могли получить доступ к определениям раздела памяти и шаблона функции.
Для получения информации об совместном использовании словаря Embedded Coder между моделями с помощью ссылочных словарей, см. Раздел «Совместное определение словаря Embedded Coder между моделями».
После миграции модели, раздел памяти и общие параметры конфигурации утилиты не доступны. Если вы используете set_param
или get_param
для программного доступа к этим настройкам параметров конфигурации функции генерируют ошибки. Чтобы изменить эти настройки, используйте редактор Отображения или программный интерфейс, как описано в C Data and Function Configuration.
Если модель содержит атомарные подсистемы, которые имеют настройки раздела памяти nondefault, можно выбрать разделы памяти из встроенных пакетов, которые загружаются в словарь Embedded Coder. Смотрите Переопределение размещения памяти по умолчанию для отдельных элементов данных и Переопределение размещения памяти по умолчанию для функций подсистемы и данных.
Если модель ссылается на Simulink.ConfigSet
объект, после миграции, модель не использует раздел памяти и общие настройки утилиты в объекте. Если вы использовали объект, чтобы задать параметры конфигурации нескольких моделей:
Изменение настроек раздела памяти и общей утилиты в объекте влияет только на модели, которые вы не мигрировали.
Перенесенные модели не получают раздел памяти и общие настройки утилиты из одного местоположения (Simulink.ConfigSet
объект). Чтобы изменить настройки для этих моделей, используйте редактор Отображения каждой модели.
Редактор отображений кода | Embedded Coder