Если ваша модель сконфигурирована для генерации кода AUTOSAR, можно пользоваться заменяющей библиотекой кода, чтобы произвести функции, которые тесно выравниваются со стандартом AUTOSAR. Заменяющая библиотека AUTOSAR 4.0 кода предназначается для использования с версией 4.0 схемы AUTOSAR или позже.
Заменяющая библиотека AUTOSAR 4.0 кода позволяет вам настроить генератор кода, чтобы произвести C или Код С++, который тесно выравнивается со стандартом AUTOSAR. Рассматривание использование заменяющей библиотеки кода, если:
Вы хотите использовать служебные программы, предоставленные в библиотеке.
У вас есть заменяющий код для служебных программ.
Заменяющий код следует соглашению о присвоении имен файла AUTOSAR, то есть, стандартные программы для любой данной спецификации находятся в одном заголовочном файле (например, Mfl.h
или Mfx.h
)
У вас есть настройка обвязки сборки, которая может скомпилировать и соединить библиотеку AUTOSAR со сгенерированным кодом. Для получения дополнительной информации о строительных нормах и правилах для AUTOSAR, смотрите Генерацию кода.
Индексация интерполяционной таблицы MATLAB® и Simulink® отличается от индексации MAP AUTOSAR. MATLAB проявляет подход линейной алгебры — строка (u1
) и столбец (u2
). AUTOSAR (и ASAM) проявляет подход Декартовой координаты — ось X (u2
) и ось Y (u1
), где u1
и u2
являются входными параметрами к Simulink 2D блоки интерполяционной таблицы. Из-за различия, заменяющее программное обеспечение кода транспонирует входные параметры для стандартных программ MAP AUTOSAR.
Для получения дополнительной информации о замене кода и заменяющих библиотеках кода, смотрите то, Что Замена Кода? (Embedded Coder) и Заменяющие Библиотеки Кода (Embedded Coder).
Чтобы исследовать библиотечные подпрограммы AUTOSAR, поддержанные заменяющей библиотекой кода AUTOSAR, используйте Code Replacement Viewer. Чтобы открыть средство просмотра, в командной строке, вводят crviewer
.
Для получения дополнительной информации смотрите, Выбирают Code Replacement Library (Embedded Coder).
Чтобы сконфигурировать генератор кода для вашей модели, чтобы пользоваться заменяющей библиотекой кода AUTOSAR, откройте диалоговое окно Configuration Parameters. Выберите Code Generation> Interface> Code replacement library> AUTOSAR 4.0.
Для получения дополнительной информации о замене кода и заменяющих библиотеках кода, смотрите то, Что Замена Кода? (Embedded Coder) и Заменяющие Библиотеки Кода (Embedded Coder).
Замена кода требует, чтобы комбинация типов для входа, точки останова, таблицы и выходных типов была совместима со спецификацией AUTOSAR. С плавающей точкой (IFL) замена только поддерживает один типы, в то время как фиксированная точка (IFX) замена поддерживает uint8, uint16, int8, int16 и сопоставленные фиксированные точки. При использовании этих стандартных блоков требования комбинации типа отличаются и осуществляются как требуется.
Этот пример показывает, как заменить код, сгенерированный для блоков интерполяционной таблицы Simulink с функциями, которые совместимы с интерполяцией с плавающей точкой AUTOSAR (IFL) библиотечные подпрограммы. Если вы хотите заменить код на интерполяцию фиксированной точки (IFX) библиотечные подпрограммы, можно изменить тип и реконфигурировать блок.
Создайте свою модель Simulink при помощи любого из этих блоков интерполяционной таблицы AUTOSAR: предварительный поиск, Кривая Используя Предварительный поиск, Карта Используя Предварительный поиск, Кривую или Карту.
Например:
Сконфигурируйте генератор кода для своей модели, чтобы пользоваться заменяющей библиотекой кода. В диалоговом окне Configuration Parameters выберите Code Generation> Interface> Code replacement library> AUTOSAR 4.0. Также из командной строки или программно, используйте set_param
, чтобы установить параметр CodeReplacementLibrary
на 'AUTOSAR 4.0'
.
Опционально, можно сконфигурировать модель для генератора кода, чтобы представить отчет генерации кода, который подводит итог, какие блоки инициировали замены кода. В диалоговом окне Configuration Parameters, в Code Generation> панель Report, выбирают опцию Summarize which blocks triggered code replacements. Также из командной строки или программно, используйте set_param
, чтобы установить параметр GenerateCodeReplacementReport
на 'on'
.
Создайте модель и рассмотрите сгенерированный код для ожидаемых замен кода.
Например: