Генерация кода с библиотекой замены кода AUTOSAR

Если ваша модель сконфигурирована для генерации кода AUTOSAR, можно использовать библиотеку замены кода AUTOSAR 4.0, чтобы создать функции, которые тесно совпадают со стандартом AUTOSAR.

Библиотека замещения кода для генерации кода AUTOSAR

Библиотека замены кода AUTOSAR 4.0 позволяет настроить генератор кода для создания кода С, который тесно соответствует стандарту AUTOSAR. Рассмотрите использование библиотеки замещения кода, если:

  • Необходимо использовать стандартные программы обслуживания, предоставляемые в библиотеке.

  • У вас есть код замены для сервисных стандартных программ.

  • Код замены соответствует соглашению об именовании файлов AUTOSAR, то есть стандартные программы для любой заданной спецификации находятся в одном заголовочном файле (для примера, Mfl.h или Mfx.h)

  • У вас есть настройка обвязки сборки, которая может компилировать и связать библиотеку AUTOSAR с сгенерированным кодом. Дополнительные сведения о создании кода для AUTOSAR см. в разделе «Генерация кода».

Примечание

MATLAB® и Simulink® индексация интерполяционной таблицы отличается от индексации AUTOSAR MAP. MATLAB принимает подход линейной алгебры - строка (u1) и столбец (u2). AUTOSAR (и ASAM) принимает Декартов координатный подход - ось X (u2) и ось Y (u1), где u1 и u2 Входные параметры в блоки двумерной интерполяционной таблицы Simulink. Из-за различий программное обеспечение замены кода транспонирует входные параметры для стандартных программ AUTOSAR MAP.

Для получения дополнительной информации о библиотеках замещения кода и замещения кода смотрите Что такое замена кода? (Embedded Coder) и библиотеки замены кода (Embedded Coder).

Поиск поддерживаемых стандартных программ библиотеки AUTOSAR

Чтобы исследовать библиотеку AUTOSAR стандартных программ поддерживаемую библиотекой замены кода AUTOSAR, используйте Code Replacement Viewer (Embedded Coder). Чтобы открыть средство просмотра, в командной строке введите crviewer('AUTOSAR 4.0').

Для получения дополнительной информации смотрите Выбрать библиотеку замещения кода (Embedded Coder).

Сконфигурируйте генератор кода, чтобы использовать библиотеку замены кода AUTOSAR 4.0

Чтобы сконфигурировать генератор кода для использования библиотеки замены кода AUTOSAR для вашей модели, откройте диалоговое окно Параметры конфигурации. Выберите Code Generation > Interface > Code replacement libraries > AUTOSAR 4.0.

Для получения дополнительной информации о библиотеках замещения кода и замещения кода смотрите Что такое замена кода? (Embedded Coder) и библиотеки замены кода (Embedded Coder).

Проверки библиотеки замещения кода

Для замены кода требуется, чтобы комбинация типов входа, точек по оси Х, таблицы и выход была совместима со спецификацией AUTOSAR. Замена с плавающей точкой (IFL) поддерживает только отдельные типы, в то время как замена с фиксированной точкой (IFX) поддерживает uint8, uint16, int8, int16 и связанные фиксированные точки. При использовании этих рутинных блоков требования к комбинации типов варьируются и применяются по мере необходимости.

Пример библиотеки замещения кода AUTOSAR для замены функции IFX/IFL

В Code Replacement Viewer перечислены библиотечные стандартные программы интерполяции с плавающей точкой (IFL) и интерполяции с фиксированной точкой (IFX) AUTOSAR, которые можно сгенерировать в интерполяционной таблице Кода С. Для замены Кода С интерполяционной таблицы на стандартные программы библиотеки IFL или IFX, AUTOSAR Blockset предоставляет блоки интерполяционной таблицы, которые предварительно сконфигурированы для генерации кода AUTOSAR. Вы вставляете блок, такой как Curve или Map, в модель, затем открываете диалоговое окно блока и конфигурируете блок, чтобы сгенерировать определенную стандартную программу интерполяции, необходимую для вашего проекта. Для получения дополнительной информации см. «Настройка интерполяционных таблиц для измерений и калибровки AUTOSAR».

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

  1. Создайте модель Simulink с помощью любого из следующих блоков интерполяционной таблицы AUTOSAR: Prelookup, Curve Using Prelookup, Map Using Prelookup, Curve или Map. Например, вот Prelookup блок, соединенный с блоком Curve Using Prelookup.

    Также можно открыть пример модели AUTOSAR mAutosarLutObjs.slx, который содержит отображаемые блоки. Чтобы скопировать файл модели в рабочую папку, введите эту команду MATLAB:

    copyfile(fullfile(matlabroot,'help/toolbox/autosar/examples/mAutosarLutObjs.slx'),'.')
  2. Откройте каждый блок интерполяционной таблицы и сконфигурируйте его, чтобы сгенерировать стандартную программу из библиотеки замены кода (CRL) AUTOSAR 4.0. При изменении параметров блока в диалоговом окне блока обновляется имя целевой стандартной программы AUTOSAR.

    Для получения дополнительной информации о конфигурировании блоков в этом примере смотрите Настройте COM_AXIS интерполяционные таблицы при помощи Интерполяционной таблицы и Объектов точек по оси Х.

  3. Сконфигурируйте генератор кода, чтобы использовать CRL AUTOSAR 4.0 для вашей модели. В диалоговом окне Параметров конфигурации выберите Code Generation > Interface > Code replacement libraries > AUTOSAR 4.0. Кроме того, из командной строки или программно используйте set_param для установки CodeReplacementLibrary параметр в 'AUTOSAR 4.0'.

  4. Опционально можно сконфигурировать модель, чтобы создать отчет генерации кода, в котором результирующие блоки инициируют замену кода. В диалоговом окне Параметры конфигурации на панели Code Generation > Report выберите Summarize which blocks triggered code replacements опции. Кроме того, из командной строки или программно используйте set_param для установки GenerateCodeReplacementReport параметр в 'on'.

  5. Создайте модель и проверьте сгенерированный код для ожидаемых замен кода. Например, найдите сгенерированный код для стандартного префикса Ifl.

Похожие примеры

Подробнее о