Чтобы смоделировать память по экземплярам (PIM) AUTOSAR для приложений, импортируйте определения памяти по экземплярам из файлов ARXML или создайте содержимое памяти по экземплярам в Simulink®. Дополнительные сведения о рабочем процессе PIM высокого уровня см. в разделе Память по экземплярам.
AUTOSAR, типизированная память по экземплярам (ArTypedPerInstanceMemory
) определяет блок памяти с типом AUTOSAR, который доступен для каждого образца программного компонента AUTOSAR. Во время выполнения AUTOSAR окружения, инструменты калибровки могут получить доступ к arTypedPerInstanceMemory
блоки для измерения и калибровки.
Чтобы смоделировать авто-РСА PIM, можно использовать Блок Simulink сигналы, дискретные состояния или хранилища данных в вашей модели.
Сконфигурируйте сигналы блоков и состояния как память AUTOSAR, набранная в относительных экземплярах
Сконфигурируйте хранилища данных как память типа AUTOSAR в относительных экземплярах
Чтобы сгенерировать arTypedPerInstanceMemory
блоки для сигнала блока Simulink и данных о дискретном состоянии в модели AUTOSAR, откройте редактор Code Mappings и выберите вкладку Signals/States. Выберите сигналы и состояния и сопоставьте их с arTypedPerInstanceMemory
. Для примера:
Откройте модель AUTOSAR, которая содержит сигналы или состояния, которые вы хотите сгенерировать arTypedPerInstanceMemory
блоки для. Этот пример использует autosar_swc_counter модели
.
В перспективе кода AUTOSAR откройте редактор Code Mappings и выберите вкладку Signals/States. В списке доступных сигналов выберите sum_out
. Выбор сигнала подсвечивает сигнал в диаграмме модели и отображает атрибуты сигнала в Property Inspector. Используйте Property Inspector, чтобы изменить атрибуты сигнала. В раскрывающемся списке Mapped To выберите ArTypedPerInstanceMemory
. Для получения дополнительной информации о коде сигнала и атрибутах калибровки, смотрите Сопоставить сигналы блока и состояния с переменными AUTOSAR.
На вкладке Signals/States из списка доступных состояний выберите состояние X
. Используйте Property Inspector, чтобы изменить атрибуты состояния. В раскрывающемся списке Mapped To выберите ArTypedPerInstanceMemory
.
Когда вы генерируете код:
Экспортированные файлы ARXML содержат AR-TYPED-PER-INSTANCE-MEMORYS
описания сигналов и состояний, которые вы сконфигурировали как ArTypedPerInstanceMemory
.
Сгенерированный код C содержит Rte_Pim_*
API вызывает сигнал и переменные состояния.
Для моделей-ссылок в модели компонента AUTOSAR, Embedded Coder® отображает внутренние сигналы и состояния для генерации кода модели-ссылки. Внутренние сигналы и состояния сопоставлены с AUTOSAR ArTypedPerInstanceMemory
для мультиобразца модели-ссылки или в AUTOSAR StaticMemory
для модели-ссылки с одним экземпляром.
Чтобы сгенерировать arTypedPerInstanceMemory
блоки для блоков памяти хранилища данных Simulink в модели AUTOSAR, откройте редактор Отображения и выберите вкладку Data Stores. Выберите хранилища данных и сопоставьте их с arTypedPerInstanceMemory
. Для примера:
Откройте модель AUTOSAR, которая содержит хранилища данных, которые вы хотите сгенерировать arTypedPerInstanceMemory
блоки для. Этот пример использует autosar_bsw_sensor1 модели
.
В перспективе кода AUTOSAR откройте редактор Code Mappings и выберите вкладку Data Stores. В списке доступных хранилищ данных выберите хранилище данных LowSetPoint
. При выборе хранилища данных подсвечивается блок памяти хранилища данных в диаграмме модели и отображаются атрибуты хранилища данных в Property Inspector. Используйте Property Inspector, чтобы изменить атрибуты хранилища данных. В раскрывающемся списке Mapped To выберите ArTypedPerInstanceMemory
. Дополнительные сведения о коде хранилища данных и атрибутах калибровки см. в разделе Сопоставление хранилищ данных с переменными AUTOSAR.
Когда вы генерируете код:
Экспортированные файлы ARXML содержат AR-TYPED-PER-INSTANCE-MEMORYS
описания для хранилищ данных, которые вы сконфигурировали как ArTypedPerInstanceMemory
.
Сгенерированный код C содержит Rte_Pim_*
API вызывает переменные хранилища данных.
Когда вы создаете модель, XML- файлы, которые генерируются, определяют эксклюзивную область для каждого блока Data Store Memory, который ссылки память по экземплярам. Каждый запуск, который обращается к памяти по экземплярам, запускается внутри соответствующей исключительной области. Если несколько исполняемых элементов AUTOSAR имеют доступ к одному и тому же блоку Data Store Memory, экспортированная спецификация AUTOSAR обеспечивает согласованность данных с помощью исключительной области AUTOSAR. С помощью этой спецификации runnables имеют взаимоисключающий доступ к глобальным данным памяти по экземплярам, что предотвращает повреждение данных.
Если вы выбираете needsNVRAMAccess, SERVICE-NEEDS
запись объявлена в XML- файлы. Запись указывает, что память по экземплярам является зеркальным блоком ОЗУ и требует обслуживания от NvM
модуль менеджера.
Data Store Memory | getDataStore
| getSignal
| getState
| mapDataStore
| mapSignal
| mapState