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